在为Aragon OSx开发治理插件时,我遇到了最大契约大小限制。
为了通过这个问题,我在网上查看并发现了ERC-2535钻石,多面代理标准。
我一直在玩这个游戏,似乎可以做一个非常可定制和可扩展的AragonOSx插件(特别是在我的例子中用于治理)。
只是想知道是否有任何问题,我错过或事情,我应该注意,当使用钻石作为阿拉贡插件。如果有人有什么意见的话,我很想听听。^-^
发布于 2023-03-29 13:17:20
AragonOSx不积极支持钻石模式,因为它在不同方面的部署和升级方面非常复杂。编写一个UUPSUpgradeable
插件并通过PluginSetupProcessor
对其进行更新已经是一个高级主题,但有很多警告。
虽然DiamondPlugin
可以工作,但我宁愿简化您的插件,并将其分解成碎片。除了目前没有在文档中提到,我们的PluginSetup
's支持所谓的helper
合同--这些基本上都是与当前插件的构建相关的合同。
当更新从旧插件版本到新插件版本时,必须提供先前指定的helpers
作为更新的输入参数(我们确保这是通过散列实现的)。
也许,您的治理插件可以有这样的帮助,并且您的设置可以负责将这些插件转换成一个新版本。
另一种方法是从一个不可升级的插件开始,暂时不要担心升级。
有时,在存储中巧妙地使用结构也可以显著减少字节码。
https://ethereum.stackexchange.com/questions/148180
复制相似问题