提交代码上传提案
在本节中,你将学习如何提交智能合约代码提案并为其投票。 Injective 网络参与者可以提议智能合约部署并通过治理投票来启用它们。wasmd 授权设置由链上治理决定,这意味着合约的部署完全由治理决定。因此,治理提案是将合约上传到 Injective 主网的第一步。
使用 injectived 启动治理提案以将代码上传到链上的示例用法:
injectived tx gov submit-proposal wasm-store 提交一个 wasm 二进制提案。如果提案获得治理批准,代码将被部署。
让我们来看两个关键标志 instantiate-everybody 和 instantiate-only-address,它们设置上传代码的实例化权限。默认情况下,每个人都可以实例化合约。
合约实例化(无需治理)
在大多数情况下,你不需要推送另一个治理提案来实例化。只需使用injectived tx wasm instantiate 实例化即可。你只需要治理提案来_上传_合约。除非合约的 --instantiate-everybody 标志设置为 false,并且 --instantiate-only-address 标志设置为治理模块,否则你不需要通过治理来实例化。--instantiate-everybody 的默认值为 true,在这种情况下,你可以通过 injectived tx wasm instantiate 无需许可地实例化。
injectived tx wasm instantiate 示例可能如下所示:
合约实例化(治理)
如上所述,主网上的合约实例化权限取决于上传代码时使用的标志。默认情况下,它设置为无需许可,正如我们可以在 genesiswasmd Injective 设置中验证的那样:
--instantiate-everybody 标志设置为 false,则合约实例化必须通过治理。
Injective 测试网默认是无需许可的,以便开发者可以轻松部署合约。
