Skip to main content
The init command is used to create a new intent and state file in the specified directory. This command is the starting point of each new deployment.

Usage

The init command is used like this:
You should then see the following files appear in your output directory:
The intent.toml file is where you specify the configuration for your deployment. The state.json file is where OP Deployer will output the current state of the deployment after each stage of the deployment.

Intent File

Your intent should look something like this:
Before you can use your intent file for a deployment, you will need to update all zero values to whatever is appropriate for your chain. For dev environments, it is ok to use all EOAs/hot-wallets.

Production Setup

In production environments, you should use a more secure setup with cold-wallet multisigs (e.g. Gnosis Safes) for the following:
  • baseFeeVaultRecipient
  • l1FeeVaultRecipient
  • sequencerFeeVaultRecipient
  • operatorFeeVaultRecipient
  • l1ProxyAdminOwner
  • l2ProxyAdminOwner
  • systemConfigOwner
HSMs (hardware security modules) are recommended for the following hot-wallets:
  • unsafeBlockSigner
  • batcher
  • proposer
  • challenger