Skip to content

Permissioned Contract Deployment

Until mainnet enters the Mainnet-3 phase of the multi-phase mainnet rollout, permissionless contract installation with Zoe is limited to development environments.

Until then, permission to deploy contracts can be granted using an Agoric extension to Cosmos SDK Governance called swingset.CoreEval. As discussed in governance using Hardened JavaScript: swingset.CoreEval, if such a proposal passes, its JavaScript code is run with ocaps extracted using the proposal's declared capabilities, which the code can combine to perform privileged tasks.

To do try it out in a local testnet chain:

  1. Declare the capabilities that the proposal will require.
  2. Code the proposal itself.
  3. Deploy the proposal to a local testnet.