English | í•śęµě–´
Agora-el is an execution client that has an EVM.
Agora-el was forked from Ethereum's execution client, ethereum/go-ethereum version 1.10.23.
We implemented the function of issuing commons budget in Agora-el.
Agora-cl is a consensus client with a focus on usability, security, and reliability.
Agora-cl was forked from Ethereum's consensus client, prysmaticlabs/prysm version 3.1.1.
We modified the block confirmation rewards in Agora-cl.
To run the Agora node, you must first install the Docker Engine.
See here for instructions on how to install the Docker Engine
https://docs.docker.com/engine/install/
-
Install
mkdir agora-chain cd agora-chain /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/bosagora/agora-chain/v0.x.x/agora.sh)"
-
Change to BOSagora main network
./agora.sh network mainnet
-
Change to BOSagora test network
./agora.sh network testnet
-
Change to BOSagora development network
./agora.sh network devnet
-
Available commands and descriptions of agora.sh
./agora.sh agora.sh version 2.0.0 Usage: ./agora.sh PROCESS FLAGS. PROCESS can be el-node, cl-node, validator, docker-compose, docker-compose-monitoring, start, stop, exec, upgrade ./agora.sh network <network to change> - <network to change> is one of mainnet, testnet, and devnet, and the default is mainnet. - If <network to change> is not specified, it shows the currently set up network. ./agora.sh el-node ( init, run ) el-node init - Initialize agora-el. At this point, all existing block data is deleted. el-node run - Run agora-el. ./agora.sh cl-node ( run, clear-db ) cl-node run - Run agora-cl. cl-node clear-db - Clear stored data of agora-cl. ./agora.sh validator ( accounts, exit, withdraw, slashing-protection-history, wallet ) ./agora.sh validator accounts ( import, list, backup ) validator accounts import <validator keys folder> - Add the validator's keys to the local wallet. validator accounts list - Show the validator's keys stored in the local wallet. validator accounts delete - Delete the validator's keys from the local wallet. validator accounts backup <validator keys folder> - Back up the validator's keys stored in the local wallet. validator exit - Used to voluntarily exit the validator's function. After this is done, you will see a screen where you select the validator's keys. validator withdraw <data folder> - Send pre-created withdrawal address registration data to the network. - Currently, only devnet is supported. Other networks will be supported later. ./agora.sh validator slashing-protection-history ( export, import ) validator slashing-protection-history export <data folder> - Save the information that the verifiers worked on as a file. At this point, the validator on the current server must be stopped. - One validator must validate only once per block. Otherwise, the validator may be slashed. - If a validator runs on multiple servers, that validator may violate the above condition. - If a validator's server is changed to another server, the validator may violate the above condition. - To avoid this, you need to transfer the block verification information that the validators has performed so far. validator slashing-protection-history import <data folder> - Register block verification information performed by validators. ./agora.sh validator wallet ( create, recover ) validator wallet create <wallet folder> - Create an HD wallet. validator wallet recover <wallet folder> - Recovery an HD wallet. ./agora.sh deposit-cli ( new-mnemonic, existing-mnemonic, generate-bls-to-execution-change ) deposit-cli new-mnemonic - This command is used to generate keystores with a new mnemonic. deposit-cli existing-mnemonic - This command is used to re-generate or derive new keys from your existing mnemonic. deposit-cli generate-bls-to-execution-change <data folder> - Generates the data required to register the address to which the validator's amount will be withdrawn. - Currently, only devnet is supported. Other networks will be supported later. ./agora.sh docker-compose ( up, down ) docker-compose up - Run agora-el, agora-cl, validator. docker-compose down - Stop agora-el, agora-cl, validator. ./agora.sh docker-compose-no-validator ( up, down ) docker-compose-no-validator up - Run agora-el, agora-cl. docker-compose-no-validator down - Stop agora-el, agora-cl. ./agora.sh docker-compose-monitoring ( up, down ) docker-compose-monitoring up - Run agora-el, agora-cl, validator, and containers required for monitoring. docker-compose-monitoring down - Stop agora-el, agora-cl, validator, and containers required for monitoring. ./agora.sh start - Run agora-el, agora-cl, validator, and containers required for monitoring. - It's the same as './agora.sh docker-compose-monitoring up' ./agora.sh stop - Stop agora-el, agora-cl, validator, and containers required for monitoring. - It's the same as './agora.sh docker-compose-monitoring down' ./agora.sh exec ( el-node, cl-node, cl-validator, cl-ctl ) exec el-node ... - Run agora-el-node with user-entered parameters. exec cl-node ... - Run agora-cl-node with user-entered parameters. exec cl-validator ... - Run agora-cl-validator with user-entered parameters. exec cl-ctl ... - Run agora-cl-ctl with user-entered parameters. ./agora.sh upgrade - The latest version is installed, at which point the user data is preserved.
Go to the path that was installed first.
If the installed folder is agora-chain-main
, use the command below to move the path
cd agora-chain-main
If the installed folder is agora-chain
, use the command below to move the path
cd agora-chain
The following commands then run inside the installed folder to upgrade the nodes and migrate block data and validator information.
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/bosagora/agora-chain/v0.x.x/upgrade.sh)"
-
Init execution node
./agora.sh el-node init
-
Run execution node
./agora.sh el-node run
-
Run consensus node
./agora.sh cl-node run
-
Generate your validator keys when you don't have mnemonic
./agora.sh deposit-cli new-mnemonic
-
Generate your validator keys when you have mnemonic
./agora.sh deposit-cli existing-mnemonic
-
Import your key stores
./agora.sh validator import <your key stores folder>
or
./agora.sh validator accounts import <your key stores folder>
<your key stores folder>
is where the validator keys are stored. The default folder is./validator_keys
-
List your key stores in your wallet
./agora.sh validator accounts list
-
Backup your key stores in your wallet
./agora.sh validator accounts backup <folder>
<folder>
is where the backup key is stored. The default folder is./backup-wallet
-
Run validator
./agora.sh validator run
-
Voluntary exit of the validator
./agora.sh validator exit
-
Generate the SignedBLSToExecutionChange data to enable withdrawals
./agora.sh deposit-cli generate-bls-to-execution-change <folder>
<folder>
is where the SignedBLSToExecutionChange data is stored. The default folder is./bls_to_execution_changes
-
Send the SignedBLSToExecutionChange data to enable withdrawals
./agora.sh validator withdraw <folder>
<folder>
is where the SignedBLSToExecutionChange data is stored. The default folder is./bls_to_execution_changes
-
export
./agora.sh validator slashing-protection-history export <folder>
<folder>
is where the slashing protection history data is stored. The default folder is./slashing-protection-export
-
import
./agora.sh validator slashing-protection-history import <folder>
<folder>
is where the slashing protection history data is stored. The default folder is./slashing-protection-export
- Init the execution node
./agora.sh el-node init
- Import your key stores
./agora.sh validator import <your key stores folder>
or
./agora.sh validator accounts import <your key stores folder>
- Edit wallet password
nano ./root/config/cl/password.txt
- Edit transaction fee receiving address
nano ./root/config/cl/proposer_config.json
- Run docker-compose
./agora.sh docker-compose up
- Stop docker-compose
./agora.sh docker-compose down
- Init the execution node
./agora.sh el-node init
- Import your key stores
./agora.sh validator import <your key stores folder>
or
./agora.sh validator accounts import <your key stores folder>
- Edit wallet password
nano ./root/config/cl/password.txt
- Edit transaction fee receiving address
nano ./root/config/cl/proposer_config.json
- Run docker-compose
./agora.sh docker-compose-monitoring up
or
./agora.sh start
- Stop docker-compose
./agora.sh docker-compose-monitoring down
or
./agora.sh stop
- Init the execution node
./agora.sh el-node init
- Import your key stores
./agora.sh validator import <your key stores folder>
or
./agora.sh validator accounts import <your key stores folder>
- Edit wallet password
nano ./root/config/cl/password.txt
- Edit transaction fee receiving address
nano ./root/config/cl/proposer_config.json
- Run docker-compose
./agora.sh docker-compose-no-validator up
- Stop docker-compose
./agora.sh docker-compose-no-validator down
-
Install
mkdir agora-chain cd agora-chain curl -S -L -o agora.bat https://raw.githubusercontent.com/bosagora/agora-chain/v0.x.x/agora.bat call agora.bat
-
Change to BOSagora main network
agora.bat network mainnet
-
Change to BOSagora test network
agora.bat network testnet
-
Change to BOSagora development network
agora.bat network devnet
-
Available commands and descriptions of agora.bat
agora.bat agora.bat version 2.0.0 Usage: agora.bat PROCESS FLAGS. PROCESS can be el-node, cl-node, validator, docker-compose, docker-compose-monitoring, start, stop, exec, upgrade agora.bat network <network to change> - <network to change> is one of mainnet, testnet, and devnet, and the default is mainnet. - If <network to change> is not specified, it shows the currently set up network. agora.bat el-node ( init, run ) el-node init - Initialize agora-el. At this point, all existing block data is deleted. el-node run - Run agora-el. agora.bat cl-node ( run, clear-db ) cl-node run - Run agora-cl. cl-node clear-db - Clear stored data of agora-cl. agora.bat validator ( accounts, exit, withdraw, slashing-protection-history, wallet ) agora.bat validator accounts ( import, list, backup ) validator accounts import <validator keys folder> - Add the validator's keys to the local wallet. validator accounts list - Show the validator's keys stored in the local wallet. validator accounts delete - Delete the validator's keys from the local wallet. validator accounts backup <validator keys folder> - Back up the validator's keys stored in the local wallet. validator exit - Used to voluntarily exit the validator's function. After this is done, you will see a screen where you select the validator's keys. validator withdraw <data folder> - Send pre-created withdrawal address registration data to the network. - Currently, only devnet is supported. Other networks will be supported later. agora.bat validator slashing-protection-history ( export, import ) validator slashing-protection-history export <data folder> - Save the information that the verifiers worked on as a file. At this point, the validator on the current server must be stopped. - One validator must validate only once per block. Otherwise, the validator may be slashed. - If a validator runs on multiple servers, that validator may violate the above condition. - If a validator's server is changed to another server, the validator may violate the above condition. - To avoid this, you need to transfer the block verification information that the validators has performed so far. validator slashing-protection-history import <data folder> - Register block verification information performed by validators. agora.bat validator wallet ( create, recover ) validator wallet create <wallet folder> - Create an HD wallet. validator wallet recover <wallet folder> - Recovery an HD wallet. agora.bat deposit-cli ( new-mnemonic, existing-mnemonic, generate-bls-to-execution-change ) deposit-cli new-mnemonic - This command is used to generate keystores with a new mnemonic. deposit-cli existing-mnemonic - This command is used to re-generate or derive new keys from your existing mnemonic. deposit-cli generate-bls-to-execution-change <data folder> - Generates the data required to register the address to which the validator's amount will be withdrawn. - Currently, only devnet is supported. Other networks will be supported later. agora.bat docker-compose ( up, down ) docker-compose up - Run agora-el, agora-cl, validator. docker-compose down - Stop agora-el, agora-cl, validator. agora.bat docker-compose-no-validator ( up, down ) docker-compose-no-validator up - Run agora-el, agora-cl. docker-compose-no-validator down - Stop agora-el, agora-cl. agora.bat docker-compose-monitoring ( up, down ) docker-compose-monitoring up - Run agora-el, agora-cl, validator, and containers required for monitoring. docker-compose-monitoring down - Stop agora-el, agora-cl, validator, and containers required for monitoring. agora.bat start - Run agora-el, agora-cl, validator, and containers required for monitoring. - It's the same as 'agora.bat docker-compose-monitoring up' agora.bat stop - Stop agora-el, agora-cl, validator, and containers required for monitoring. - It's the same as 'agora.bat docker-compose-monitoring down' agora.bat exec ( el-node, cl-node, cl-validator, cl-ctl ) exec el-node ... - Run agora-el-node with user-entered parameters. exec cl-node ... - Run agora-cl-node with user-entered parameters. exec cl-validator ... - Run agora-cl-validator with user-entered parameters. exec cl-ctl ... - Run agora-cl-ctl with user-entered parameters. agora.bat upgrade - The latest version is installed, at which point the user data is preserved.
Go to the path that was installed first.
If the installed folder is agora-chain-main
, use the command below to move the path
cd agora-chain-main
If the installed folder is agora-chain
, use the command below to move the path
cd agora-chain
The following commands then run inside the installed folder to upgrade the nodes and migrate block data and validator information.
curl -S -L -o upgrade.bat https://raw.githubusercontent.com/bosagora/agora-chain/v0.x.x/upgrade.bat
upgrade.bat
-
Init execution node
agora.bat el-node init
-
Run execution node
agora.bat el-node run
-
Run consensus node
agora.bat cl-node run
-
Generate your validator keys when you don't have mnemonic
agora.bat deposit-cli new-mnemonic
-
Generate your validator keys when you have mnemonic
agora.bat deposit-cli existing-mnemonic
-
Import your key stores
agora.bat validator import <your key stores folder>
or
agora.bat validator accounts import <your key stores folder>
<your key stores folder>
is where the validator keys are stored. The default folder is./validator_keys
-
List your key stores in your wallet
agora.bat validator accounts list
-
Backup your key stores in your wallet
agora.bat validator accounts backup <folder>
<folder>
is where the backup key is stored. The default folder is./backup-wallet
-
Run validator
agora.bat validator run
-
Voluntary exit of the validator
agora.bat validator exit
-
Generate the SignedBLSToExecutionChange data to enable withdrawals
agora.bat deposit-cli generate-bls-to-execution-change <folder>
<folder>
is where the SignedBLSToExecutionChange data is stored. The default folder is./bls_to_execution_changes
-
Send the SignedBLSToExecutionChange data to enable withdrawals
agora.bat validator withdraw <folder>
<folder>
is where the SignedBLSToExecutionChange data is stored. The default folder is./bls_to_execution_changes
-
export
./agora.bat validator slashing-protection-history export <folder>
<folder>
is where the slashing protection history data is stored. The default folder is./slashing-protection-export
-
import
./agora.bat validator slashing-protection-history import <folder>
<folder>
is where the slashing protection history data is stored. The default folder is./slashing-protection-export
- Init the execution node
agora.bat el-node init
- Import your key stores
agora.bat validator import <your key stores folder>
or
agora.bat validator accounts import <your key stores folder>
- Edit wallet password
notepad ./root/config/cl/password.txt
- Edit transaction fee receiving address
notepad ./root/config/cl/proposer_config.json
- Run docker-compose
agora.bat docker-compose up
- Stop docker-compose
agora.bat docker-compose down
- Init the execution node
agora.bat el-node init
- Import your key stores
agora.bat validator import <your key stores folder>
or
agora.bat validator accounts import <your key stores folder>
- Edit wallet password
notepad ./root/config/cl/password.txt
- Edit transaction fee receiving address
notepad ./root/config/cl/proposer_config.json
- Run docker-compose
agora.bat docker-compose-monitoring up
or
agora.bat start
- Stop docker-compose
agora.bat docker-compose-monitoring down
or
agora.bat stop
- Init the execution node
agora.bat el-node init
- Import your key stores
agora.bat validator import <your key stores folder>
or
agora.bat validator accounts import <your key stores folder>
- Edit wallet password
notepad ./root/config/cl/password.txt
- Edit transaction fee receiving address
notepad ./root/config/cl/proposer_config.json
- Run docker-compose
agora.bat docker-compose-no-validator up
- Stop docker-compose
agora.bat docker-compose-no-validator down