Running Scroll SDK in Production
Overview
This guide will support DevOps teams in running Scroll SDK in a production environment. This requires many considerations beyond a local Devnet deployment.
While we build this out, we’d recommend looking at the specifics in our Digital Ocean guide, which walks through a full Kubernetes deployment using an easy-to-understand interface.
Monitoring
We’re using Prometheus and some custom tooling. More info later.
Ingress
We’re using Nginx and Cert Manager. More info later.
Secrets
We use External Secret Manager to store secrets. This is a Kubernetes-native solution that allows you to store secrets in a separate repository. This is a more secure way to store secrets than in the Scroll SDK repository, but you will still need to bring your own secret management tool. This could be Hashicorp Vault, AWS Secret Manager, or similar.
Machine Resources
In addition to 3 databases (and an optional database for Blockscout), we’ll be providing guidance on the resources needed for each Scroll service.
Sepolia Configuration
For Scroll’s Sepolia environment, we use the following resources:
Service | Quantity (sepolia) | vCPU (sepolia) | Mem in Mi (sepolia) |
---|---|---|---|
balance-checker | 1 | 0.1 | 500 |
bridge-history-api | 2 | 0.2 | 200 |
bridge-history-fetcher | 1 | 0.2 | 200 |
coordinator-api | 2 | 0.2 | 20000 |
coordinator-cron | 1 | 0.1 | 200 |
chain-monitor | 1 | 0.2 | 200 |
frontends 1 | 0.1 | 500 | |
gas-oracle | 1 | 0.1 | 200 |
l2-bootnode | 3 | 2 | 16000 |
l2-rpc | 4 | 0.5 | 4000 |
l2-sequencer | 1 | 0.1 | 1500 |
rollup-explorer-backend | 2 | 3 | 6000 |
rollup-node | 1 | 0.1 | 200 |
rpc-gateway | 1 | 0.1 | 100 |
Total | 22 | 15.9 | 120000 |
Accounting for L1 Fees on Alternative Gas Token Chains
On Scroll, transactions on L2 have two components — the gas costs for execution and an L1 data fee. When gas on your network is paid in a token that has no standard relationship to the currency being used to pay for data fees on the L1, you will need to introduce tooling that can set the gas caluclation “scalar” values.
At the moment, we have not built any automated tooling for this, and instead of viewing the ERC20 value as 1:1 with Sepolia Ether, we suggest setting the scalars to 0 to eliminate these overheads.
To do so, you can run the following commands using your L2 RPC URL and Owner account private key: