每次升级合约,都会返回新的合约地址,合约升级是否能保留原合约的数据和地址?
合约升级是否能保留原合约的数据和地址
你升级的步骤是什么?
数据是一定会保留在链上的,关键是你在新的合约中是否还可以读取到原合约的数据。
这取决于你升级方法的设计。
如果只是合约代码的修改,不涉及合约数据变动的话,可以用amend功能,直接改合约的code。
这种情况下合约的地址和数据都是保留的。
注意:这个方法需要对EVM有比较深入的理解,使用要慎重。
智能合约升级要保持合约地址不变需要有一些技巧,这里有教程可以参考: