This is an canonical implementation of bsc-relayer service to relay cross chain packages from Binance Chain to Binance Smart Chain. It can also monitor double sign behavior on BSC and submit evidence to Binance Chain. Community members are encouraged to implement more implementations according to their own requirements.
The software and related documentation are under active development, all subject to potential future change without notification and not ready for production use. The code and security audit have not been fully completed and not ready for any bug bounty. We advise you to be careful and experiment on the network at your own risk. Stay safe out there.
Note: Requires Go 1.13+
- Edit
config/config.json
and input your private key tobsc_config.private_key
- Transfer enough BNB to this account:
- 100:BNB for relayer register
- More than 10:BNB for transaction fee.
- If you want to monitor double sign behavior on BSC, you need to fill more than 1 endpoints in
bsc_config.monitor_data_seed_list
, examplemonitor_data_seed_list
for testnet:Besides, you also need to provide proper Binance Chain{ "monitor_data_seed_list": [ "wss://data-seed-prebsc-1-s1.binance.org:8545", "wss://data-seed-prebsc-2-s1.binance.org:8545", "wss://data-seed-prebsc-1-s2.binance.org:8545", "wss://data-seed-prebsc-2-s2.binance.org:8545", "wss://data-seed-prebsc-1-s3.binance.org:8545", "wss://data-seed-prebsc-2-s3.binance.org:8545" ] }
mnemonic
.
make build
- Please complete configuration setup in
config/config.json
first, mainly including rpc endpoints, BSC private key and BC mnemonic(if you want to submit double sign evidence) - Docker build command:
docker build -t bsc-relayer:latest .
Run locally:
./build/bsc-relayer --config-type local --config-path config/config.json
Run docker:
docker run -e BBC_NETWORK=1 -e CONFIG_TYPE="local" -d -it bsc-relayer
-
Please fill proper bsc private key to
bsc_config.private_key
, example private key:5576779EB3F28F1067BE07AC643A81A8C74E6C55EDE38BEEF68BE1E9D4C1CA3C
panic: privateKey of Binance Smart Chain should not be empty goroutine 1 [running]:
-
Please fill your mnemonic to
bbc_config.mnemonic
, example mnemonic:witness pitch peasant bird year sponsor conduct push enhance melt betray spare police region strategy hammer potato lecture cloud business habit student vehicle allow
ERROR main missing local mnemonic
The library is licensed under the GNU Lesser General Public License v3.0, also included in our repository in the LICENSE file.