Skip to content

Commit

Permalink
WEB3-94: Updated deployment scripts and guide from 1.1 deployment (#211)
Browse files Browse the repository at this point in the history
During the 1.1 deployment, I implemented a number of improvements to the
deployment process to make it a bit easier and less error prone.
Primary among these changes is adding a `deployment.toml` file that
records the addresses of and associated information about each chain we
deploy to, and the contracts that are deployed there.
My hope is to use this file to do additional work around further
automating deployment, testing that deployments are correctly configured
on-chain, and generating the table of addresses that goes into our docs.
  • Loading branch information
nategraf authored Sep 6, 2024
1 parent 8dc7287 commit 178fb88
Show file tree
Hide file tree
Showing 7 changed files with 886 additions and 373 deletions.
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,9 @@ out/
# Ignore .pb files generated by profiling
*.pb

# Ignore the file with RPC and Etherscan API keys for deployment.
deployment_secrets.toml

# We ignore lock files in this repository on main because we want to
# continually track and develop against risc0 main. When lock files are
# tracked, CI will pin to a commit and only rarely update.
Expand Down
15 changes: 5 additions & 10 deletions RELEASE.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,20 +55,15 @@

See the [Cargo docs](https://doc.rust-lang.org/cargo/reference/publishing.html) for more details.

5. When changes have been made to the verifier contract, deploy a new verifier contract.
5. When changes have been made to the verifier contract, deploy a new verifier contract and add it to the verifier router on each supported chain.

<!-- TODO: Include instructions for the process including the emergency stop and index contracts, once those are ready -->
Refer to [contracts/script/README.md](./contracts/script/README.md) for instructions on the steps involved.

* Deploy the contract to Sepolia, and verify the source code.
1. Deploy the verifier contract and schedule the update.

Set the `ETHERSCAN_API_KEY` and `ETH_WALLET_PRIVATE_KEY` environment variables to a valid Etherscan API key and Sepolia private key respectively.
2. After the timelock delay has passed (7 days on mainnet chains and 1 second on testnet), finsh the operation to add the new verifier to the router.

```sh
# In the contracts directory
forge script script/DeployVerifier.s.sol:DeployVerifier --rpc-url $ALCHEMY_API_URL --broadcast --verify -vvvv
```

* Document the new address and version in the `dev.risczero.com` docs.
3. Document the new addresses and version in the `dev.risczero.com` docs.

[https://dev.risczero.com/api/blockchain-integration/contracts/verifier](https://dev.risczero.com/api/blockchain-integration/contracts/verifier)

Expand Down
Loading

0 comments on commit 178fb88

Please sign in to comment.