Start with docker+snapshot
1. Startup steps
# 1. Initialize exchange node configurations
export EXCHAIND_PATH=~/.exchaind (or other directory)
exchaind init your_custom_moniker --chain-id exchain-66 --home ${EXCHAIND_PATH}
# 2. download snapshot
rm -rf ${EXCHAIND_PATH}/data
cd ${EXCHAIND_PATH}
# This image uses rocksdb data, so download the corresponding rocksdb snapshot of the main network.
wget https://ok-public-hk.oss-cn-hongkong.aliyuncs.com/cdn/okexchain/snapshot/okexchain-$version-$date-$height_xxx.tar.gz
tar -zxvf okexchain-$version-$date-$height_xxx.tar.gz
# 3. download the docker image
docker pull okexchain/fullnode-mainnet:latest # This image uses rocksdb snapshot data.
# 4. run docker based the snapshot downloaded in the previous step Start based on snapshot.
docker run -d --name exchain-mainnet-fullnode -v ~/.exchaind/data:/root/.exchaind/data/ -p 8545:8545 -p 26656:26656 okexchain/fullnode-mainnet:latest
2. docker startup parameter configuration
Start parameter configuration, for example:
The parameter format when starting with binary is: --disable-abci-query-mutex=true
The parameter format when starting with docker is: --env OKEXCHAIN_DISABLE_ABCI_QUERY_MUTEX=true
Another example: --env OKEXCHAIN_PRUNING=nothing
Data pruning type, default default, need to actively set everything.
For more parameter meanings, please refer to exchaind start parameter description
The rules for converting flag parameters into environment variables are as follows:
viper. SetEnvPrefix("OKEXCHAIN")
viper. SetEnvKeyReplacer(strings. NewReplacer(".", "_", "-", "_"))
It is recommended to bring some parameters for performance optimization, which can avoid problems such as slow node synchronization blocks.
--env OKEXCHAIN_MAX_OPEN=10000
--env OKEXCHAIN_CLOSE_MUTEX=1
--env OKEXCHAIN_FAST_QUERY=1
--env OKEXCHAIN_ENABLE_BLOOM_FILTER=1
--env OKEXCHAIN_MEMPOOL_SIZE=10000
--env OKEXCHAIN_MEMPOOL_RECHECK=0
--env OKEXCHAIN_MEMPOOL_FORCE_RECHECK_GAP=2000
--env OKEXCHAIN_IAVL_CACHE_SIZE=1000000
Example of startup parameter configuration:
docker run -d --name exchain-mainnet-fullnode -v /data/install/okex/data:/root/.exchaind/data/ -p 8545:8545 -p 26656:26656 -p 26657:26657 --env OKEXCHAIN_BACKUP --env OKEXCHAIN_TX_INDEX_INDEXER=kv --env OKEXCHAIN_ENABLE_BLOOM_FILTER=1 --env OKEXCHAIN_DB_BACKEND=rocksdb okexchain/fullnode-mainnet:v0.19.17.2
For more details on the meaning of rpc node performance optimization parameters, please refer to the post: https://forum.okt.club/d/41-rpc/5