文件名称:ink-upgrade-template:奇偶墨水智能合约可升级性
文件大小:34KB
文件格式:ZIP
更新时间:2024-05-09 13:03:26
Rust
墨水的可升级性! 合约 本文档介绍了一种制作墨水的方法! 合同可升级。 这种方法有几个局限性,如下所述。 在将这种方法应用于合同之前,您应该阅读并理解它们。 这里使用的机制基于以太坊中使用的。 它通过两个合同来工作:代理合同(与其他帐户进行交互的合同)和内部合同(包含大多数智能合同逻辑)。 您可以通过切换代理引用的内部合同来升级合同,从而使升级过程对合同的最终用户透明。 局限性 您不能使用此升级机制在合同中添加或更改方法的签名。 这是在代理合同中定义的,无法更改。 这包括内部合同的构建者。 它必须遵循特定的签名,因为它是由代理调用的。 这种方法不处理余额转移。 这意味着发送到代理的任何货币都不会转发到内部合同,并且任何升级示例都不会迁移任何货币。 建立内部合同时,您需要创建方法以公开其内部状态,以便可以将其迁移到新的内部状态。 如果不这样做,则需要间接地在新合同中重建状态。 没有
【文件预览】:
ink-upgrade-template-main
----.gitignore(334B)
----package.json(598B)
----Makefile(143B)
----src()
--------app.ts(4KB)
----LICENSE(11KB)
----tsconfig.json(7KB)
----Cargo.toml(1KB)
----proxy()
--------src()
--------Cargo.toml(1KB)
----v1()
--------src()
--------Cargo.toml(1KB)
----README.md(17KB)
----v2()
--------src()
--------Cargo.toml(1KB)
----yarn.lock(30KB)
----lib.rs(1B)