Planq is the very first cryptocurrency to keep mobile platform usability at heart, taking a step away from dependency on desktop services. Users in developing countries will now be able to lend and borrow crypto using their phones, rather than relying on a desktop computer system. This should have profound impacts on the individuals and the overall crypto ecosystem.
planqd keys add
planqd keys add --recover
planqd keys list
planqd keys delete
planqd keys export
planqd keys import .backup
planqd q bank balances $(planqd keys show -a)
sudo journalctl -u planqd -f --no-hostname -o cat
sudo systemctl start planqd
sudo systemctl stop planqd
sudo systemctl restart planqd
sudo systemctl status planqd
sudo systemctl daemon-reload
sudo systemctl enable planqd
sudo systemctl disable planqd
planqd status 2>&1 | jq .SyncInfo
echo $(planqd tendermint show-node-id)'@'$(curl -s ifconfig.me)':'$(cat $HOME/.planqd/config/config.toml | sed -n '/Address to listen for incoming connection/{n;p;}' | sed 's/.*://; s/".*//')
curl -sS http://localhost:657/net_info | jq -r '.result.peers[] | "\(.node_info.id)@\(.remote_ip):\(.node_info.listen_addr)"' | awk -F ':' '{print $1":"$(NF)}'
planqd tx staking create-validator \
--amount=000000000000000000aplanq \
--moniker="" \
--pubkey=$(planqd tendermint show-validator) \
--identity="" \
--details="" \
--website="" \
--security-contact= \
--chain-id=planq_7070-2 \
--commission-rate=0. \
--commission-max-rate=0.20 \
--commission-max-change-rate=0. \
--min-self-delegation=1 \
--from= \
--gas="1000000" \
--gas-prices="30000000000aplanq"
planqd tx staking edit-validator \
--new-moniker="" \
--chain-id=planq_7070-2 \
--from= \
--gas="1000000" \
--gas-prices="30000000000aplanq" -yplanqd tx staking edit-validator \
--identity="" \
--chain-id=planq_7070-2 \
--from= \
--gas="1000000" \
--gas-prices="30000000000aplanq"planqd tx staking edit-validator \
--details="" \
--chain-id=planq_7070-2 \
--from= \
--gas="1000000" \
--gas-prices="30000000000aplanq"planqd tx staking edit-validator \
--commission-rate=0. \
--chain-id=planq_7070-2 \
--from= \
--gas="1000000" \
--gas-prices="30000000000aplanq"planqd tx staking edit-validator \
--new-moniker="" \
--identity="" \
--chain-id=planq_7070-2 \
--from= \
--gas="1000000" \
--gas-prices="30000000000aplanq"planqd tx staking edit-validator \
--new-moniker="" \
--details="" \
--chain-id=planq_7070-2 \
--from= \
--gas="1000000" \
--gas-prices="30000000000aplanq"planqd tx staking edit-validator \
--new-moniker="" \
--commission-rate=0. \
--chain-id=planq_7070-2 \
--from= \
--gas="1000000" \
--gas-prices="30000000000aplanq"planqd tx staking edit-validator \
--identity="" \
--details="" \
--chain-id=planq_7070-2 \
--from= \
--gas="1000000" \
--gas-prices="30000000000aplanq"planqd tx staking edit-validator \
--identity="" \
--commission-rate=0. \
--chain-id=planq_7070-2 \
--from= \
--gas="1000000" \
--gas-prices="30000000000aplanq"planqd tx staking edit-validator \
--details="" \
--commission-rate=0. \
--chain-id=planq_7070-2 \
--from= \
--gas="1000000" \
--gas-prices="30000000000aplanq"planqd tx staking edit-validator \
--new-moniker="" \
--identity="" \
--details="" \
--chain-id=planq_7070-2 \
--from= \
--gas="1000000" \
--gas-prices="30000000000aplanq"planqd tx staking edit-validator \
--new-moniker="" \
--identity="" \
--commission-rate=0. \
--chain-id=planq_7070-2 \
--from= \
--gas="1000000" \
--gas-prices="30000000000aplanq"planqd tx staking edit-validator \
--new-moniker="" \
--details="" \
--commission-rate=0. \
--chain-id=planq_7070-2 \
--from= \
--gas="1000000" \
--gas-prices="30000000000aplanq"planqd tx staking edit-validator \
--identity="" \
--details="" \
--commission-rate=0. \
--chain-id=planq_7070-2 \
--from= \
--gas="1000000" \
--gas-prices="30000000000aplanq"planqd tx staking edit-validator \
--new-moniker="" \
--identity="" \
--details="" \
--commission-rate=0. \
--chain-id=planq_7070-2 \
--from= \
--gas="1000000" \
--gas-prices="30000000000aplanq"planqd tx staking edit-validator \
--new-moniker="" \
--identity="" \
--details="" \
--website="" \
--security-contact= \
--chain-id=planq_7070-2 \
--commission-rate=0. \
--from= \
--gas="1000000" \
--gas-prices="30000000000aplanq"
planqd status 2>&1 | jq .ValidatorInfo
planqd q staking validator $(planqd keys show --bech val -a)
planqd q slashing signing-info $(planqd tendermint show-validator)
planqd tx slashing unjail --broadcast-mode=block --from --chain-id planq_7070-2 --gas="1000000" --gas-prices="30000000000aplanq"
planqd q staking validators -oj --limit=2000 | jq '.validators[] | select(.status=="BOND_STATUS_BONDED")' | jq -r '(.tokens|tonumber/pow(10; 6)|floor|tostring) + " " + .description.moniker' | sort -gr | nl
[[ $(planqd q staking validator $(planqd keys show --bech val -a) -oj | jq -r .consensus_pubkey.key) = $(planqd status | jq -r .ValidatorInfo.PubKey.value) ]] && echo -e "Your key status is ok" || echo -e "Your key status is error"
planqd q slashing signing-info $(planqd tendermint show-validator)
planqd tx distribution withdraw-all-rewards --from --chain-id planq_7070-2 --gas="1000000" --gas-prices="30000000000aplanq"
planqd tx distribution withdraw-rewards $(planqd keys show --bech val -a) --commission --from --chain-id planq_7070-2 --gas="1000000" --gas-prices="30000000000aplanq"
planqd tx staking delegate $(planqd keys show --bech val -a) 000000000000000000aplanq --from --chain-id planq_7070-2 --gas="1000000" --gas-prices="30000000000aplanq"
planqd tx staking redelegate $(planqd keys show --bech val -a) 000000000000000000aplanq --from --chain-id planq_7070-2 --gas="1000000" --gas-prices="30000000000aplanq"
planqd tx staking delegate 000000000000000000aplanq --from --chain-id planq_7070-2 --gas="1000000" --gas-prices="30000000000aplanq"
planqd tx staking unbond $(planqd keys show --bech val -a) 000000000000000000aplanq --from --chain-id planq_7070-2 --gas="1000000" --gas-prices="30000000000aplanq"
planqd tx bank send 000000000000000000aplanq --from --chain-id planq_7070-2 --gas="1000000" --gas-prices="30000000000aplanq"
planqd query gov proposal
planqd tx gov vote --from --chain-id planq_7070-2 --gas="1000000" --gas-prices="30000000000aplanq"
CUSTOM_PORT=
sed -i.bak -e "s%^proxy_app = \"tcp://127.0.0.1:26658\"%proxy_app = \"tcp://127.0.0.1:${CUSTOM_PORT}658\"%; s%^laddr = \"tcp://127.0.0.1:26657\"%laddr = \"tcp://127.0.0.1:${CUSTOM_PORT}657\"%; s%^pprof_laddr = \"localhost:6060\"%pprof_laddr = \"localhost:${CUSTOM_PORT}060\"%; s%^laddr = \"tcp://0.0.0.0:26656\"%laddr = \"tcp://0.0.0.0:${CUSTOM_PORT}656\"%; s%^prometheus_listen_addr = \":26660\"%prometheus_listen_addr = \":${CUSTOM_PORT}660\"%" $HOME/.planqd/config/config.toml
sed -i.bak -e "s%^address = \"tcp://0.0.0.0:1317\"%address = \"tcp://0.0.0.0:${CUSTOM_PORT}317\"%; s%^address = \":8080\"%address = \":${CUSTOM_PORT}080\"%; s%^address = \"0.0.0.0:9090\"%address = \"0.0.0.0:${CUSTOM_PORT}090\"%; s%^address = \"0.0.0.0:9091\"%address = \"0.0.0.0:${CUSTOM_PORT}091\"%; s%^address = \"127.0.0.1:8545\"%address = \"0.0.0.0:${CUSTOM_PORT}545\"%; s%^ws-address = \"127.0.0.1:8546\"%ws-address = \"0.0.0.0:${CUSTOM_PORT}546\"%" $HOME/.planqd/config/app.toml
sed -i -e 's|^indexer *=.*|indexer = "kv"|' $HOME/.planqd/config/config.toml
sed -i -e 's|^indexer *=.*|indexer = "null"|' $HOME/.planqd/config/config.toml
planqd tendermint unsafe-reset-all --home $HOME/.planqd --keep-addr-book
sudo systemctl stop planqd && \
sudo systemctl disable planqd && \
rm /etc/systemd/system/planqd.service && \
sudo systemctl daemon-reload && \
cd $HOME && \
rm -rf .planqd && \
rm -rf $(which planqd)
wget -O $HOME/.planqd/config/genesis.json "https://raw.githubusercontent.com/planq-network/networks/main/mainnet/genesis.json"
wget -O $HOME/.planqd/config/addrbook.json "https://snapshots.nodestake.top/planq/Addrbook.json"
PEERS=
sed -i -e "s|^persistent_peers *=.*|persistent_peers = "$PEERS"|" $HOME/.planqd/config/config.toml
wget -O auto-planq.sh https://raw.githubusercontent.com/kynraze/service/main/mainnet/planq/install-auto.sh && chmod +x auto-planq.sh && ./auto-planq.sh
wget -O snapshot-
planq.sh
https://raw.githubusercontent.com/kynraze/service/main/mainnet/planq/install-snapshot.sh&& chmod +x snapshot-
planq.sh && ./snapshot-
planq.sh
PLANQ
_NODENAME="
"
echo "export
PLANQ_NODENAME=$PLANQ_NODENAME" >> $HOME/.bash_profile
if [ ! $WALLET ]; then
echo "export WALLET=wallet" >> $HOME/.bash_profile
fi
echo "export
PLANQ_CHAIN_ID=planq_7070-2" >> $HOME/.bash_profile
source $HOME/.bash_profile
sudo apt update && sudo apt upgrade -y && sudo apt install curl tar wget clang pkg-config libssl-dev jq build-essential bsdmainutils git make ncdu gcc git jq chrony liblz4-tool -y
ver="
1.20"
cd $HOME
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" >> ~/.bash_profile
source ~/.bash_profile
go version
git clone https://github.com/planq-network/planq.git cd planq git checkout v1.1.0 make install
planqd version
--long
CUSTOM_PORT=
sed -i.bak -e "s%^proxy_app = \"tcp://127.0.0.1:26658\"%proxy_app = \"tcp://127.0.0.1:${CUSTOM_PORT}658\"%; s%^laddr = \"tcp://127.0.0.1:26657\"%laddr = \"tcp://127.0.0.1:${CUSTOM_PORT}657\"%; s%^pprof_laddr = \"localhost:6060\"%pprof_laddr = \"localhost:${CUSTOM_PORT}060\"%; s%^laddr = \"tcp://0.0.0.0:26656\"%laddr = \"tcp://0.0.0.0:${CUSTOM_PORT}656\"%; s%^prometheus_listen_addr = \":26660\"%prometheus_listen_addr = \":${CUSTOM_PORT}660\"%"
$HOME/.planqd/config/config.tomlsed -i.bak -e "s%^address = \"tcp://0.0.0.0:1317\"%address = \"tcp://0.0.0.0:${CUSTOM_PORT}317\"%; s%^address = \":8080\"%address = \":${CUSTOM_PORT}080\"%; s%^address = \"0.0.0.0:9090\"%address = \"0.0.0.0:${CUSTOM_PORT}090\"%; s%^address = \"0.0.0.0:9091\"%address = \"0.0.0.0:${CUSTOM_PORT}091\"%
; s%^address = \"127.0.0.1:8545\"%address = \"0.0.0.0:${CUSTOM_PORT}545\"%; s%^ws-address = \"127.0.0.1:8546\"%ws-address = \"0.0.0.0:${CUSTOM_PORT}546\"%
"
$HOME/.planqd/config/app.toml
planqd config chain-id $PLANQ_CHAIN_ID planqd config keyring-backend file planqd config node tcp://localhost:657
planqd init $PLANQ_NODENAME
--chain-id
$PLANQ_CHAIN_ID
wget -O $HOME/.planqd/config/genesis.json "https://raw.githubusercontent.com/planq-network/networks/main/mainnet/genesis.json"
wget -O $HOME/.planqd/config/addrbook.json "https://snapshots.nodestake.top/planq/Addrbook.json"
PEERS="
"
sed -i.bak -e "s/^persistent_peers *=.*/persistent_peers = \"$PEERS\"/" $HOME/
.planqd/config/config.tomlsed -i -e "s|^seeds *=.*|seeds = \"
\"|" $HOME/
.planqd/config/config.toml
pruning="custom"
pruning_keep_recent="100"
pruning_keep_every="0"
pruning_interval="10"
sed -i -e "s/^pruning *=.*/pruning = \"$pruning\"/" $HOME/
.planqd/config/app.tomlsed -i -e "s/^pruning-keep-recent *=.*/pruning-keep-recent = \"$pruning_keep_recent\"/" $HOME/
.planqd/config/app.tomlsed -i -e "s/^pruning-keep-every *=.*/pruning-keep-every = \"$pruning_keep_every\"/" $HOME/
.planqd/config/app.tomlsed -i -e "s/^pruning-interval *=.*/pruning-interval = \"$pruning_interval\"/" $HOME/
.planqd/config/app.toml
sudo tee /etc/systemd/system/
planqd.service > /dev/null << EOF
[Unit]
Description=
planqdAfter=network-online.target
[Service]
User=$USER
ExecStart=$(which
planqd)start --home $HOME/
.planqdRestart=on-failure
RestartSec=3
LimitNOFILE=65535
[Install]
WantedBy=multi-user.target
EOF
curl -o - -L
https://snap.kynraze.com/planq/snapshot-latest.tar.lz4| lz4 -c -d - | tar -x -C $HOME/
.planqd
sudo systemctl daemon-reload
sudo systemctl enable
planqdsudo systemctl restart
planqdsudo journalctl -fu
planqd-o cat
# Update & install lz4(Required)
sudo apt install snapd lz4 -y
# Reset Chain Data
sed -i.bak -E "s|^(enable[[:space:]]+=[[:space:]]+).*$|\1false|" $HOME/.planqd/config/config.toml
sudo systemctl stop planqd
cp $HOME/.planqd/data/priv_validator_state.json $HOME/.planqd/priv_validator_state.json.backup
rm -rf $HOME/.planqd/data
# Download Data Snapshot
curl -o - -L https://snap.kynraze.com/planq/snapshot-latest.tar.lz4 | lz4 -c -d - | tar -x -C $HOME/.planqd
mv $HOME/.planqd/priv_validator_state.json.backup $HOME/.planqd/data/priv_validator_state.json
# Restart
sudo systemctl restart planqd
sudo journalctl -fu planqd -o cat
systemctl stop planqd
planqd tendermint unsafe-reset-all --home $HOME/.planqd --keep-addr-book
STATE_SYNC_RPC=""
LATEST_HEIGHT=$(curl -s $STATE_SYNC_RPC/block | jq -r .result.block.header.height) \
SYNC_BLOCK_HEIGHT=$(($LATEST_HEIGHT - 2000)) \
SYNC_BLOCK_HASH=$(curl -s "$STATE_SYNC_RPC/block?height=$SYNC_BLOCK_HEIGHT" | jq -r .result.block_id.hash)
echo $LATEST_HEIGHT $SYNC_BLOCK_HEIGHT $SYNC_BLOCK_HASH
PEERS=""
sed -i.bak -e "s/^persistent_peers *=.*/persistent_peers = \"$PEERS\"/" $HOME/.planqd/config/config.toml
sed -i.bak -e "s|^enable *=.*|enable = true|" $HOME/.planqd/config/config.toml
sed -i.bak -e "s|^rpc_servers *=.*|rpc_servers = \"$STATE_SYNC_RPC,$STATE_SYNC_RPC\"|" \
$HOME/.planqd/config/config.toml
sed -i.bak -e "s|^trust_height *=.*|trust_height = $SYNC_BLOCK_HEIGHT|" \
$HOME/.planqd/config/config.toml
sed -i.bak -e "s|^trust_hash *=.*|trust_hash = \"$SYNC_BLOCK_HASH\"|" \
$HOME/.planqd/config/config.toml
systemctl restart planqd && journalctl -fu planqd -o cat