Resources
Last updated
Last updated
https://snapshot-heiko.s3.us-east-2.amazonaws.com/db.7z
https://snapshot-parallel.s3.us-east-2.amazonaws.com/db.7z
Note:
--ws-external
is needed when you need to activate websocket subscription, unlike ethers.js, polkadot.js sdk prefer websocket so we recommand activate it by default.
--rpc-external --rpc-cors all
is needed when you need to activate HTTP support
#!/usr/bin/env bash
DIR=$(cd -P -- "$(dirname -- "$0")" && pwd -P)
cd $DIR
set -xe
RELAY_WS_PORT=9945
RELAY_RPC_PORT=9934
RELAY_P2P_PORT=30334
PARA_WS_PORT=9944
PARA_RPC_PORT=9933
PARA_P2P_PORT=30333
NODE_NAME="$1"
DOCKER_VERSION="${2:-v1.8.8}"
PARA_CHAIN="${3:-heiko}"
RELAY_CHAIN="${4:-kusama}"
VOLUME="chains"
BASE_PATH="/data"
if [ $# -lt 1 ]; then
echo "help: ./fullnode.sh <NODE_NAME>" && exit 1
fi
CHECK_CONTAINER=$(docker container ls | grep $PARA_CHAIN-fullnode |awk '{print $1}')
if [ $CHECK_CONTAINER ]; then
docker container stop $PARA_CHAIN-fullnode || true
docker container rm $PARA_CHAIN-fullnode || true
fi
CHECK_VOLUME=$(docker volume ls | grep $VOLUME |awk '{print $2}')
if [ !$CHECK_VOLUME ]; then
docker volume create $VOLUME || true
fi
docker run --restart=always --name $PARA_CHAIN-fullnode \
-d \
-p $PARA_WS_PORT:$PARA_WS_PORT \
-p $PARA_RPC_PORT:$PARA_RPC_PORT \
-p $PARA_P2P_PORT:$PARA_P2P_PORT \
-p $RELAY_WS_PORT:$RELAY_WS_PORT \
-p $RELAY_RPC_PORT:$RELAY_RPC_PORT \
-p $RELAY_P2P_PORT:$RELAY_P2P_PORT \
-v "$VOLUME:$BASE_PATH" \
parallelfinance/parallel:$DOCKER_VERSION \
-d $BASE_PATH \
--chain=$PARA_CHAIN \
--ws-port=$PARA_WS_PORT \
--rpc-port=$PARA_RPC_PORT \
--ws-external \
--rpc-external \
--rpc-cors all \
--ws-max-connections 4096 \
--pruning archive \
--wasm-execution=compiled \
--execution=wasm \
--state-cache-size 0 \
--listen-addr=/ip4/0.0.0.0/tcp/$PARA_P2P_PORT \
--name=$NODE_NAME \
--prometheus-external \
-- \
--chain=$RELAY_CHAIN \
--ws-port=$RELAY_WS_PORT \
--rpc-port=$RELAY_RPC_PORT \
--ws-external \
--rpc-external \
--rpc-cors all \
--ws-max-connections 4096 \
--wasm-execution=compiled \
--execution=wasm \
--database=RocksDb \
--state-cache-size 0 \
--unsafe-pruning \
--pruning=1000 \
--listen-addr=/ip4/0.0.0.0/tcp/$RELAY_P2P_PORT \
--name="${NODE_NAME}_Embedded_Relay"
#!/usr/bin/env bash
DIR=$(cd -P -- "$(dirname -- "$0")" && pwd -P)
cd $DIR
set -xe
SNAPSHOT_PATH="db/full"
VOLUME="chains"
if [ "$1" == "--polkadot" ]; then
DB_PATH="polkadot/chains/polkadot"
elif [ "$1" == "--kusama" ]; then
DB_PATH="polkadot/chains/ksmcc3"
elif [ "$1" == "--heiko" ]; then
DB_PATH="chains/heiko"
elif [ "$1" == "--parallel" ]; then
DB_PATH="chains/parallel"
fi
docker volume create $VOLUME || true
mountpoint=$(docker volume inspect $VOLUME | jq '.[].Mountpoint' | tr -d '"')
sudo mkdir -p $mountpoint/$DB_PATH/db || true
sudo rm -fr $mountpoint/$DB_PATH/db/full || true
rm -rf db || true
if [ "$1" == "--kusama" ]; then
curl -o - -L https://ksm-rocksdb.polkashots.io/snapshot | lz4 -c -d - | tar -x -C ./
elif [ "$1" == "--heiko" ]; then
wget https://snapshot-heiko.s3.us-east-2.amazonaws.com/db.7z && 7z x db.7z
elif [ "$1" == "--polkadot" ]; then
curl -o - -L https://dot-rocksdb.polkashots.io/snapshot | lz4 -c -d - | tar -x -C ./
elif [ "$1" == "--parallel" ]; then
wget https://snapshot-parallel.s3.us-east-2.amazonaws.com/db.7z && 7z x db.7z
fi
sudo mv $SNAPSHOT_PATH $mountpoint/$DB_PATH/db
sudo chown -R $(id -un):$(id -gn) $mountpoint