Prepare the aggregator service
- CPU per machine: 4-core CPU
- RAM per machine: 16GB RAM
wget https://pre-alpha-miner-download.opside.network/aggregator_conf.tar
tar -xzvf aggregator_conf.tar
The .tar file includes:
node.config.toml
-- A TOML config file of the node imageexecutor.config.json
-- A JSON config file of the prover image (for executor)docker-compose.yml
-- A docker-compose YAML file- Database init SQL files -- Two .sql files
The keystore file of your aggregator account (responsible for sending proofs and collecting rewards)
- Download open source tool :
wget https://github.com/opside-protocol/opside-tool/releases/download/keystore/keystore-linux-x86_64
Please put the above files under one directory
wget https://pre-alpha-miner-download.opside.network/zkevm-node.tar
sudo docker load < zkevm-node.tar
node.config.toml
In the graph "Stake IDE" , you have selected a rollup to stake, now you need to modify the
node.config.toml
with the information from the rollup. You need to modify the [Etherman] , [Synchronizer] , [Aggregator] , [EthExManager].
You can find the informations of [Etherman] and [Synchronizer] here: Reference of selecting rollups
[Etherman]
PoEAddr = "0x610178dA211FEF7D417bC0e6FeD39F05609AD788" # polygonZkEVM contract addr
GlobalExitRootManagerAddr = "0x2279B7A0a67DB372996a5FaB50D91eAA73d2eBe6" # globalExitRootManager contract addr
GetForksStartBlkNum = 1 # deploy block num
[Synchronizer]
TrustedSequencerURL = ""
GenBlockNumber = 74 # deploy block num
# ================================================= #
[Aggregator]
SenderAddress = "0x70997970c51812dc3a010c7d01b50e0d17dc79c8"
# The address of your aggregator account.
# Make sure that no other aggregator is running with this address.
[EthTxManager]
PrivateKeys = [
{Path = "/pk/aggregator.keystore", Password = "abcde"}
] # DO NOT CHANGE PATH, password is your keystore file password
executor.config.json
{
"runExecutorServer": true, // set true to run an executor
"runExecutorClient": false,
"runAggregatorServer": false,
"runAggregatorClient": false, // we do not need a prover nor a mock prover here so false
"runAggregatorClientMock": false,
}