github.com/fibonacci-chain/fbc@v0.0.0-20231124064014-c7636198c1e9/dev/docker/fullNode/start.sh (about)

     1  #!/bin/bash
     2  
     3  if [ ! -d "/root/.fbchaind/config" ]; then
     4      fbchaind init fullnode --chain-id fbc-1230
     5      wget https://fibochain.s3-ap-east-1.amazonaws.com/0/ayOqRj7bk6dMmGp9j38jtukPS_genesis.json -O /root/.fbchaind/config/genesis.json
     6  fi
     7  
     8  mkdir /cli
     9  cp $GOPATH/bin/fbchaind /cli/fbchaind
    10  cp $GOPATH/bin/fbchaincli /cli/fbchaincli
    11  
    12  fbchaind start \
    13      --chain-id fbc-1230 \
    14      --unsafe-cors=${FBC_UNSAFE_CORS:-"false"} \
    15      --rest.laddr tcp://0.0.0.0:8545 \
    16      --log_level ${FBC_LOG_LEVEL} \
    17      --node-mode ${FBC_NODE_MODE} \
    18      --fast-query=${FBC_FAST_QUERY} \
    19      --debug-api=${FBC_DEBUG_API} \
    20      --minimum-gas-prices ${FBC_MIN_GAS_PRICE} \
    21      --p2p.persistent_peers=${FBC_PERSISTENT_PEERS} \
    22      --p2p.addr_book_strict=${FBC_ADDR_BOOK_STRICT} \
    23      --iavl-enable-async-commit=${FBC_IAVL_ENABLE_ASYNC_COMMIT:-"true"} \
    24      --iavl-cache-size=${FBC_IAVL_CACHE_SIZE:-10000000} \
    25      --iavl-fast-storage-cache-size=${FBC_IAVL_FAST_STORAGE_CACHE_SIZE:-10000000} \
    26      --rocksdb.opts=${FBC_ROCKSDB_OPTS:-""} \
    27      --db_backend ${FBC_DB_BACKEND}
    28  
    29  #addr_book_strict: 使用严格的路由规则设置为true,使用本地网络或是私有网络设置为false,默认为true
    30  #iavl-enable-async-commit 归档节点设置为false
    31  #--iavl-enable-async-commit=false  #关闭iavl异步持久化
    32  #--iavl-cache-size=xxx #iavl缓存,默认10000000,适当减小
    33  #--iavl-fast-storage-cache-size=yyy  #fast storage缓存,默认10000000,适当减小
    34  #--rocksdb.opts max_open_files=20000
    35  
    36  #经调查,Rocksdb在归档节点占用内存大的主要原因是,为了保证Rocksdb的高读写性能,默认将rocksdb的参数设为max_open_files=-1。
    37  #这导致启动Rocksdb时将DB中的所有file都打开并缓存,致使内存占用巨大
    38  #启动节点时设置参数--rocksdb.opts max_open_files=20000
    39  #参数值根据系统配置具体调整,该值设为-1表示不限制Rocksdb打开文件数;
    40  #参数值>0时,值越大内存占用越大,DB读写性能越高;值越小内存占用越小,DB读写性能越低