Install
Recommended Hardware: 4 Cores, 8GB RAM, 200GB of storage (NVME)
1. Install required packages
sudo apt update && \
sudo apt install curl git jq build-essential gcc unzip wget lz4 -y
WASMVM_VERSION=v2.1.2
export LD_LIBRARY_PATH=~/.pellcored/lib
mkdir -p $LD_LIBRARY_PATH
wget "https://github.com/CosmWasm/wasmvm/releases/download/$WASMVM_VERSION/libwasmvm.$(uname -m).so" -O "$LD_LIBRARY_PATH/libwasmvm.$(uname -m).so"
export LD_LIBRARY_PATH=$HOME/.pellcored/lib:$LD_LIBRARY_PATH
source ~/.bashrc
2. Install Go
cd $HOME && \
ver="1.23.0" && \
wget "https://golang.org/dl/go$ver.linux-amd64.tar.gz" && \
sudo rm -rf /usr/local/go && \
sudo tar -C /usr/local -xzf "go$ver.linux-amd64.tar.gz" && \
rm "go$ver.linux-amd64.tar.gz" && \
echo "export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin" >> $HOME/.bash_profile && \
source $HOME/.bash_profile && \
go version
3. Install Pell
binary
cd $HOME
wget -O $HOME/pellcored https://github.com/0xPellNetwork/network-config/releases/download/v1.0.20-ignite/pellcored-v1.0.20-linux-amd64
chmod +x pellcored
cp pellcored $HOME/go/bin/pellcored
source $HOME/.bash_profile
pellcored version
4. Set up variables
# Customize if you need
echo 'export MONIKER="My_Node"' >> ~/.bash_profile
echo 'export CHAIN_ID="ignite_186-1"' >> ~/.bash_profile
echo 'export WALLET_NAME="wallet"' >> ~/.bash_profile
echo 'export RPC_PORT="26657"' >> ~/.bash_profile
source $HOME/.bash_profile
5. Initialize the node
pellcored init $MONIKER --chain-id $PELL_CHAIN_ID
6. Download genesis and addrbook
wget -O $HOME/.pellcored/config/genesis.json https://snapshot.spidernode.net/pell-tessnet-genesis.json
wget -O $HOME/.pellcored/config/addrbook.json https://snapshot.spidernode.net/pell-testnet-addrbook.json
7. Config pruning
sed -i -e "s/^pruning *=.*/pruning = \"custom\"/" $HOME/.pellcored/config/app.toml
sed -i -e "s/^pruning-keep-recent *=.*/pruning-keep-recent = \"100\"/" $HOME/.pellcored/config/app.toml
sed -i -e "s/^pruning-interval *=.*/pruning-interval = \"10\"/" $HOME/.pellcored/config/app.toml
8. Set minimum gas price and disable indexing
sed -i 's|minimum-gas-prices =.*|minimum-gas-prices = "0apell"|g' $HOME/.pellcored/config/app.toml
sed -i -e "s/^indexer *=.*/indexer = \"null\"/" $HOME/.pellcored/config/config.toml
9. Create service file and run the service
sudo nano /etc/systemd/system/pelld.service
[Unit]
Description=Pell node
After=network-online.target
[Service]
User=$USER
WorkingDirectory=$HOME/.pellcored
ExecStart=$(which pellcored) start --home $HOME/.pellcored
Environment=LD_LIBRARY_PATH=$HOME/.pellcored/lib/
Restart=on-failure
RestartSec=5
LimitNOFILE=65535
[Install]
WantedBy=multi-user.target
EOF
10. Download snapshot
wget https://snapshot.spidernode.net/pell_snapshot.lz4 | lz4 -dc - | tar -xf - -C $HOME/.pellcored
11. Start the service
sudo systemctl daemon-reload
sudo systemctl enable pelld
sudo systemctl restart pelld
sudo journalctl -u pelld -f
12. Create or recover wallet
pellcored keys add $WALLET
pellcored keys add $WALLET --recover
13. Register validator
cat > ./validator.json << EOF
{
"pubkey": $(pellcored tendermint show-validator),
"amount": "1000000000000000000apell",
"moniker": "<your_node_name>",
"identity": "optional identity signature (ex. UPort or Keybase)",
"website": "validator's (optional) website",
"security": "validator's (optional) security contact email",
"details": "validator's (optional) details",
"commission-rate": "0.1",
"commission-max-rate": "0.2",
"commission-max-change-rate": "0.01",
"min-self-delegation": "1"
}
EOF
pellcored tx staking create-validator ./validator.json \
--chain-id=ignite_186-1 \
--fees=0.000001pell \
--gas=1000000 \
--from=my_validator_key