💡 Check the README if you are looking for setup from scratch
If you are currently running an older version of the operator and its corresponding components, this guide will cover how to upgrade to the newer version.
General Flow
If you are running your operator using docker compose, you can upgrade with the following steps.
- First pull the latest copy of this repo:
cd mainnet
git pull
-
Please check the section below for the specific changes you need to make per version before rebooting your services.
-
Stop the the existing services:
docker compose down
- Now, restart the service:
docker compose up -d
services | version |
---|---|
scroll node | >= v5.6.0 (no changed) |
prover | v0.5.1 -> v0.6.0 |
operator | v0.5.1 -> v0.6.0 |
No configuration changed
Upgrade prover to v0.6.0
$ git pull
$ cd prover/mainnet
$ docker compose up -d
Upgrade operator to v0.6.0
$ git pull
$ cd mainnet
$ docker compose up -d
services | version |
---|---|
scroll node | >= v5.6.0 (no changed) |
prover | v0.5.0 -> v0.5.1 |
operator | v0.5.0 -> v0.5.1 |
No configuration changed
- Updated Automata Attestation Layer to the latest
- Bug fixes on sgx-prover
Upgrade prover to v0.5.1
$ git pull
$ cd prover/mainnet
$ docker compose up -d
Upgrade operator to v0.5.1
$ git pull
$ cd mainnet
$ docker compose up -d
services | version |
---|---|
scroll node | >= v5.6.0 (latest v5.7.0) |
prover | v0.4.0 -> v0.4.5 |
operator | v0.4.0 (no changed) |
Upgrade prover to v0.4.5
$ git pull
$ cd prover/mainnet
$ docker compose down
$ docker compose up -d
Upgrade scroll node to v5.7.0 (minimal v5.6.0)
Note: If you have version 5.6.0, there’s no need to upgrade.
It is necessary to update the scroll node to v5.7.0
services | version |
---|---|
scroll node | v5.5.0 -> v5.6.0 |
prover | v0.2.3 -> v0.4.0 |
operator | v0.2.0 -> v0.4.0 |
Upgrade scroll node to v5.6.0
It is necessary to update the scroll node to v5.6.0
Upgrade prover to v0.4.0
We recommend everyone to upgrade. In this version, we have refactored the sgx-prover and replaced SputnikVM with revm.
(optional) Switch to Automata Attestation Layer
An option is provided to switch the Attestation Layer to Automata mainnet. Please make sure you have sufficient balance before making the switch.
How to switch to Automata Attestation Layer:
- Add
"AttestationLayerProfile": "automata",
tooperator.json
- Leave
AttestationLayerProfile
blank to default tooptimism
Required updates to operator.json
:
- Add
"NodeApiIpPortAddress": "0.0.0.0:15693",
- Update
"TEELivenessVerifierAddress": "0x99886d5C39c0DF3B0EAB67FcBb4CA230EF373510"
Recommended updates to operator.json
:
- Update
AttestationLayerEcdsaKey
: If you are currently using your operator's ECDSA private key for this, it is recommended to change it to use a separate externally owned account (EOA). Please fund 1 holETH to this EOA. For your security, we recommend using this EOA for the sole purpose of submitting attestations.
Optional updates to operator.json
:
- Remove
"TaskFetcher": { ... }
- Remove
"ETHWsURL": "wss://ethereum-rpc.publicnode.com",
- Remove
"Simulation": false,
We have also included monitoring dashboards in this release. Please feel free to use them to monitor your node and services: monitoring
In this version, we support running your own SGX Prover. Please refer to the following link for how to run: prover
- Why I got this error when I start the operator?
[FATAL] [operator.(*Operator).registerAttestationReport:416(balance:0.1);operator.(*Operator).RegisterAttestationReport:462;operator.(*Operator).Start:120(xxx)] execution reverted
- Check whether the
TEELivenessVerifierAddress
in config updated to0x99886d5C39c0DF3B0EAB67FcBb4CA230EF373510
- Check whether the balance of the
AttestationLayerEcdsaKey
is enough for sending a transaction