π Penumbra
A fully private, cross-chain proof-of-stake network and decentralized exchange for the Cosmos and beyond.
Public Endpoints
Manual Installation
First make sure you have installed the latest system components
System requirements
8GB RAM
2-4 vCPUS
~200GB persistent storage (~20GB/week)Installing pd
curl -sSfL -O https://github.com/penumbra-zone/penumbra/releases/download/v0.75.0/pd-x86_64-unknown-linux-gnu.tar.gz
tar -xf pd-x86_64-unknown-linux-gnu.tar.gz
sudo mv pd-x86_64-unknown-linux-gnu/pd /usr/local/bin/
# confirm the pd binary is installed by running:
pd --versionInstalling CometBFT
From Source
echo export GOPATH=\"\$HOME/go\" >> ~/.bash_profile
echo export PATH=\"\$PATH:\$GOPATH/bin\" >> ~/.bash_profileGet Source Code
git clone https://github.com/cometbft/cometbft.git
cd cometbft
git checkout v0.37.5
make installCompile
make installto put the binary in $GOPATH/bin or use:
make buildcheck version
cometbft versionJoining a Testnet
Resetting state
pd testnet unsafe-reset-allGenerating configs
pd testnet join --external-address IP_ADDRESS:26656 --moniker MY_NODE_NAMERunning pd and cometbft
pd startSet up SystemD, you can create a separate tmux for convenient operation. After creating, save.
nano /etc/systemd/system/pd.serviceedit service files to customize for your system
[Unit]
Description=pd node
After=network-online.target
[Service]
User=root
WorkingDirectory=/root/.penumbra/testnet_data/node0
ExecStart=/usr/local/bin/pd start
Restart=on-failure
RestartSec=5
LimitNOFILE=65535
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl restart pdThen (perhaps in another terminal), run CometBFT, specifying --home:
cometbft start --home ~/.penumbra/testnet_data/node0/cometbftCheck logs
sudo journalctl -u pd -fCreat Wallet
Installing pcli
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/penumbra-zone/penumbra/releases/download/v0.75.0/pcli-installer.sh | shCreate PATH Environment Variable
export PATH="$HOME/.cargo/bin:$PATH"
source ~/.bashrcconfirm the pcli binary is installed by running:
pcli --versionGenerating a Wallet
pcli init soft-kms generateBecoming a validator
Create a Definition Template
pcli validator definition template \
--tendermint-validator-keyfile ~/.penumbra/testnet_data/node0/cometbft/config/priv_validator_key.json \
--file validator.tomlCreat config validator: Edit parameters and save
nano validator.tomlUploading a definition
pcli validator definition upload --file validator.tomlAnd verify that itβs known to the chain:
pcli query validator list --show-inactiveDelegating to your validator
First find your validatorβs identity key:
pcli validator identityDelegate
pcli tx delegate 1penumbra --to [YOUR_VALIDATOR_IDENTITY_KEY]check balance
pcli view balanceUpdating your validator First fetch your existing validator definition from the chain:
pcli validator definition fetch --file validator.tomlAfter updating the validator definition you can upload it again to update your validator metadata on-chain:
pcli validator definition upload --file validator.tomlUpgrade steps
Installing pcli -> Installing pd -> Edit the validator.json file -> Upload Validator.json
Read details from the team's instructions
DONE
Last updated