升级以太坊中的智能合约

GPC*_*GPC 5 ethereum solidity

我正在尝试在以太坊中编写可升级的智能合约。谁能举一个以太坊中可升级的智能合约和访问数据的例子。

mik*_*oss 8

要编写可升级的智能合约,我建议您执行以下操作(对我有用):

  1. 创建一个存储合约,您将在其中存储所有地图和变量。向更改状态的函数添加修饰符。此修饰符应要求地址必须存在于特定映射中(我们称之为已授权)以更改映射或变量的状态。将所有者的地址放在该地图中。
    1. 编写一个函数来授权存储合约上的外部地址
    2. 部署另一个包含应用程序逻辑的合约。
    3. 自动提升存储合约的逻辑合约。
    4. 升级逻辑后,拒绝从逻辑合约访问存储合约,部署升级后的逻辑并将新合约链接到存储。

Tadaa 您现在拥有一组可升级的智能合约。