使用solidity与web3创作一个在线小游戏之一:(proxy合约,call, delegatecall与callcode)

在我们的上个系列文章跟我一起阅读并修复某知名DEX交易所源码的最后,我们提到了proxy合约与admin合约,在这个新系列中,我将和大家一起使用solidity完成一个小游戏,并使用web3做一个客户的游戏客户端,并与之完成交互。现在让我们开始吧!

首先我们考虑到,一个游戏具有相当复杂的逻辑,而如果使用solidity编写,一旦合约部署到链上,那将无法更改,此时如果游戏要更新怎么办?那有没有什么办法可以让我们的合约可以更新呢?这样不就可以解决这个问题了吗?答案是有的,就是使用PROXCY合约。下面让我们看一下proxcy合约的原型。

contract Proxy {

  /**

  * @dev Tells the address of the implementation where every call will be delegated.

  * @return address of the implementation to which it will be delegated

  */

  function implementation() public view virtual returns (address){}

  /**

  * @dev Fallback function allowing to perform a delegatecall to the given implementation.

  * This function will return whatever the implementation call returns

  */

  fallback () payable
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值