From cea0dd3066777deee5f89cb6f7f4c8ed08f0d889 Mon Sep 17 00:00:00 2001 From: Daniel Helm Date: Fri, 26 Jul 2024 12:18:14 -0500 Subject: [PATCH] add contract deployment details and alphabetize services --- .../{contracts.md => contracts.mdx} | 58 +++++++++++++++++-- .../docs/en/sdk/technical-stack/services.mdx | 20 +++---- 2 files changed, 64 insertions(+), 14 deletions(-) rename src/content/docs/en/sdk/technical-stack/{contracts.md => contracts.mdx} (89%) diff --git a/src/content/docs/en/sdk/technical-stack/contracts.md b/src/content/docs/en/sdk/technical-stack/contracts.mdx similarity index 89% rename from src/content/docs/en/sdk/technical-stack/contracts.md rename to src/content/docs/en/sdk/technical-stack/contracts.mdx index b9de03403..3be086b4c 100644 --- a/src/content/docs/en/sdk/technical-stack/contracts.md +++ b/src/content/docs/en/sdk/technical-stack/contracts.mdx @@ -7,6 +7,8 @@ permalink: "sdk/technical-stack/contracts" excerpt: "Documents the contracts deployed to support the Scroll SDK." --- +import Aside from "../../../../../components/Aside.astro" + ## Overview Contracts deployed for a Scroll SDK chain include both contracts on the L1 (or basechain), and contracts deployed on the L2. Additionally, the L2 has "pre-deployed" contracts, matching those on [Scroll](/en/developers/scroll-contracts#l2-predeploys). @@ -49,17 +51,65 @@ All contracts are available in the [scroll-contracts repo](https://github.com/sc Contracts are deployed using deterministic addresses, with a salt used to generate the address of the contract. For every new deployment, a unique salt should be configured in `config.toml`. -During deployment, a simulation is first done to determine what address a contract will deploy to. This step is done during the creation the config files for each service's chart and when the `genesis.json` file is created. Contract addresses are then used to set each service's configuration. +During deployment, a simulation is first done to determine what address a contract will deploy to. This step is done during the creation the config files for each service's chart and when the `genesis.json` file is created. Contract addresses are then used to set each service's configuration (see [`gen-configs.sh`](https://github.com/scroll-tech/scroll-contracts/blob/feat-robust-deployment/docker/scripts/gen-configs.sh)). + +{/* */} + +Then, after the `scroll-stack` chart is installed during `make install`, you will need to fund your SDK accounts and run `make deploy-contracts` to deploy all contracts on L1 and L2 using actual transactions. + +To view the complete logs from the deployment process, see the `broadcast` folder in `/charts/scroll-stack/`. + +{/* TODO: check again once we do this. */} + +### Funding Deployment Accounts + +You will need to manually fund the following wallet addresses from `config.toml`: + +- `DEPLOYER_ADDR` *(only needs funded on L1)* + {/* - Suggested funds: `(L1 basefee * VARIABLE * 10e-9) ETH` */} +- `L1_COMMIT_SENDER_ADDR` + {/* - Suggested funds: `(L1 basefee * VARIABLE * 10e-9) ETH` */} +- `L1_FINALIZE_SENDER_ADDR` + {/* - Suggested funds: `(L1 basefee * VARIABLE * 10e-9) ETH` */} +- `L1_GAS_ORACLE_SENDER_ADDR` + {/* - Suggested funds: `(L1 basefee * VARIABLE * 10e-9) ETH` */} +- `L2_GAS_ORACLE_SENDER_ADDR` *(funded after L2 chain deployment)* + {/* - Suggested funds: `(L1 basefee * VARIABLE * 10e-9) ETH` */} + +{/* */} + + + + -To view the complete logs from the `contracts` process, ... TODO: EXPOSE THIS ## Contracts Deployed In the table below, we document every contract deployed for Scroll, including a link to the deployment for Scroll's mainnet. Not all of these are used by default for Scroll SDK. - +{/* */} | Contract Name | Description | | -------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------ | diff --git a/src/content/docs/en/sdk/technical-stack/services.mdx b/src/content/docs/en/sdk/technical-stack/services.mdx index 8d92c9932..103c7abef 100644 --- a/src/content/docs/en/sdk/technical-stack/services.mdx +++ b/src/content/docs/en/sdk/technical-stack/services.mdx @@ -52,29 +52,29 @@ Below, we describe three configurations for services: | Service | Default | Minimal | Production | | ----------------------- | :---------------------: | :--------------------: | :------------------------------------------------: | -| l1-devnet | ✅ | | | +| balance-checker | | | ⚠️ | | blockscout | ✅ | | | +| blockscout-sc-verifier | ❔ | | | | bridge-history-api [^1] | ✅ | ✅ | ✅ | | bridge-history-fetcher [^1] | ✅ | ✅ | ✅ | -| balance-checker | | | ⚠️ | | chain-monitor | | | ✅ | | coordinator-api [^2] | | | ✅ | | coordinator-cron [^2] | | | ✅ | | event-watcher | ✅ | ❔ | ❔ | | frontends | ✅ | | ⚠️ | | gas-oracle | ✅ | ✅ | ✅ | -| grafana | ✅ | | | -| rollup-explorer-backend | ✅ | | | -| rollup-node | ✅ | ✅ | ✅ | +| grafana | ✅ | | ⚠️ | +| kube-prometheus-stack | ✅ | | | +| l1-devnet | ✅ | | | | l1-explorer | ✅ | | | -| l2-sequencer | ✅ | ✅ | ✅ | -| l2-rpc | ✅ | | ✅ | | l2-bootnode | ❔ | | ✅ | +| l2-rpc | ✅ | | ✅ | +| l2-sequencer | ✅ | ✅ | ✅ | | loki-stack | ✅ | | ⚠️ | -| blockscout-sc-verifier | ❔ | | | -| rpc-gateway | ✅ | | ✅ | | postgresql | ✅ | ⚠️ | ⚠️ | -| kube-prometheus-stack | ✅ | | | +| rollup-explorer-backend | ✅ | | | +| rollup-node | ✅ | ✅ | ✅ | +| rpc-gateway | ✅ | | ✅ | {/* | contracts | ✅ | ✅ [^2] | ✅ | */}