使用docker+快照启动
1. 启动步骤
# 1. Initialize exchain node configurations
export EXCHAIND_PATH=~/.exchaind (或者其他目录)
exchaind init your_custom_moniker --chain-id exchain-66 --home ${EXCHAIND_PATH}
# 2. download snapshot
rm -rf ${EXCHAIND_PATH}/data
cd ${EXCHAIND_PATH}
# 该镜像使用rocksdb数据,所以要下载主网对应的rocksdb快照。
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 # 该镜像使用rocksdb快照数据。
# 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启动参数配置
启动参数配置,例如:
用二进制启动时参数格式是:--disable-abci-query-mutex=true
用docker启动时参数格式是:--env OKEXCHAIN_DISABLE_ABCI_QUERY_MUTEX=true
再如:--env OKEXCHAIN_PRUNING=nothing
数据裁剪类型,默认default,需要主动设置everything。
更多参数含义,可以参考exchaind start 参数说明
把flag参数转换成环境变量的规则是这样的:
viper.SetEnvPrefix("OKEXCHAIN")
viper.SetEnvKeyReplacer(strings.NewReplacer(".", "_", "-", "_"))
建议带上一些性能优化的参数,可以避免节点同步区块慢等问题。
--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
启动参数配置示例:
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=0 --env OKEXCHAIN_MEMPOOL_SORT_TX_BY_GP=true --env OKEXCHAIN_MEMPOOL_SIZE=10000 --env OKEXCHAIN_MEMPOOL_RECHECK=0 --env OKEXCHAIN_MEMPOOL_FORCE_RECHECK_GAP=2000 --env OKEXCHAIN_MAX_OPEN=20000 --env OKEXCHAIN_CLOSE_MUTEX=1 --env OKEXCHAIN_FAST_QUERY=1 --env OKEXCHAIN_PRUNING=nothing --env OKEXCHAIN_TX_INDEX_INDEXER=kv --env OKEXCHAIN_ENABLE_BLOOM_FILTER=1 --env OKEXCHAIN_DB_BACKEND=rocksdb okexchain/fullnode-mainnet:v0.19.17.2
更多rpc节点性能优化参数含义详见帖子:https://forum.okt.club/d/41-rpc/5