-
TIMPI
Timpi's proprietary web search index is the world's first completely independent and decentralized search index. It is designed to integrate blockchain technology within the framework of traditional global commerce while being autonomously governed and globally scalable.
Chain Explorer:
Ping Dashboard - Cosmos Blockchain Explorer And Web Wallet
Ping Dashboard is a block explorer/web wallet for blockchains built on Cosmos SDK, Cosmoshub, Osmosis, Juno, Evmos, Injective, Canto and 70+ blockchains listed on ping.pubexp.nodeist.net
Public Endpoints:
Bash:# API ENDPOINT https://api-timpi.nodeist.net # RPC ENDPOINT https://rpc-timpi.nodeist.net # GRPC ENDPOINT https://grpc-timpi.nodeist.net
Peering:
addrbook:
Bash:curl -Ls https://ss.nodeist.net/t/timpi/addrbook.json > $HOME/.TimpiChain/config/addrbook.json
live-peers:
Bash:peers="[email protected]:26656,[email protected]:11126,[email protected]:23656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:1656,[email protected]:26656,[email protected]:26656,[email protected]:36656,[email protected]:23656,[email protected]:28656,[email protected]:31656,[email protected]:61256,[email protected]:26656,[email protected]:26656,[email protected]:53656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:16656,[email protected]:26656,[email protected]:26656" sed -i -e "s|^persistent_peers *=.*|persistent_peers = \"$peers\"|" $HOME/.TimpiChain/config/config.toml
-
Manual Installation
This section contains a list of commands to install the node in manual mode.
Server Preparation
Bash:apt update && apt upgrade -y apt install curl iptables build-essential git wget jq make gcc nano tmux htop nvme-cli pkg-config libssl-dev libleveldb-dev tar clang bsdmainutils ncdu unzip libleveldb-dev -y
Install GO
Bash:ver="1.20.3" 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
Node Installation
ReplaceNodeist_Guide
in the first line with your moniker name.
Bash:NODE_MONIKER="Nodeist_Guide" cd || return rm -rf Timpi-ChainTN git clone https://github.com/Timpi-official/Timpi-ChainTN.git cd Timpi-ChainTN cd cmd/TimpiChain go build cp TimpiChain /root/go/bin/timpid timpid config chain-id TimpiChainTN2 timpid init "$NODE_MONIKER" --chain-id TimpiChainTN2 curl -s https://ss.nodeist.net/t/timpi/genesis.json > $HOME/.TimpiChain/config/genesis.json curl -s https://ss.nodeist.net/t/timpi/addrbook.json > $HOME/.TimpiChain/config/addrbook.json SEEDS="" PEERS="" sed -i 's|^seeds *=.*|seeds = "'$SEEDS'"|; s|^persistent_peers *=.*|persistent_peers = "'$PEERS'"|' $HOME/.TimpiChain/config/config.toml sed -i 's|^pruning *=.*|pruning = "custom"|g' $HOME/.TimpiChain/config/app.toml sed -i 's|^pruning-keep-recent *=.*|pruning-keep-recent = "100"|g' $HOME/.TimpiChain/config/app.toml sed -i 's|^pruning-interval *=.*|pruning-interval = "10"|g' $HOME/.TimpiChain/config/app.toml sed -i 's|^snapshot-interval *=.*|snapshot-interval = 0|g' $HOME/.TimpiChain/config/app.toml sed -i 's|^minimum-gas-prices *=.*|minimum-gas-prices = "0.025utimpiTN"|g' $HOME/.TimpiChain/config/app.toml sed -i 's|^prometheus *=.*|prometheus = true|' $HOME/.TimpiChain/config/config.toml sudo tee /etc/systemd/system/timpid.service > /dev/null << EOF [Unit] Description=Timpi Node After=network-online.target [Service] User=$USER ExecStart=$(which timpid) start Restart=on-failure RestartSec=10 LimitNOFILE=10000 [Install] WantedBy=multi-user.target EOF timpid tendermint unsafe-reset-all --home $HOME/.TimpiChain --keep-addr-book curl -L https://ss.nodeist.net/t/timpi/snapshot_latest.tar.lz4 | lz4 -dc - | tar -xf - -C $HOME/.TimpiChain --strip-components 2 sudo systemctl daemon-reload sudo systemctl enable timpid sudo systemctl start timpid sudo journalctl -fu timpid -o cat
-
HEIGHT SIZE TIMESTAMP DOWNLOAD
Instructions
Stop the service and reset the data
Bash:sudo systemctl stop timpid cp $HOME/.TimpiChain/data/priv_validator_state.json $HOME/.TimpiChain/priv_validator_state.json.backup rm -rf $HOME/.TimpiChain/data
Download latest snapshot
Bash:curl -L https://ss.nodeist.net/t/timpi/snapshot_latest.tar.lz4 | lz4 -dc - | tar -xf - -C $HOME/.TimpiChain --strip-components 2 mv $HOME/.TimpiChain/priv_validator_state.json.backup $HOME/.TimpiChain/data/priv_validator_state.json
Restart the service and check the log
Bash:sudo systemctl restart timpid && sudo journalctl -fu timpid -o cat
-
Instructions
Stop the service and reset the data
Bash:sudo systemctl stop timpid cp $HOME/.TimpiChain/data/priv_validator_state.json $HOME/.TimpiChain/priv_validator_state.json.backup timpid tendermint unsafe-reset-all --home $HOME/.TimpiChain
Get and configure the state sync information
Bash:SNAP_RPC="https://rpc-timpi.nodeist.net:443" LATEST_HEIGHT=$(curl -s $SNAP_RPC/block | jq -r .result.block.header.height); \ BLOCK_HEIGHT=$((LATEST_HEIGHT - 2000)); \ TRUST_HASH=$(curl -s "$SNAP_RPC/block?height=$BLOCK_HEIGHT" | jq -r .result.block_id.hash) sed -i.bak -E "s|^(enable[[:space:]]+=[[:space:]]+).*$|\1true| ; \ s|^(rpc_servers[[:space:]]+=[[:space:]]+).*$|\1\"$SNAP_RPC,$SNAP_RPC\"| ; \ s|^(trust_height[[:space:]]+=[[:space:]]+).*$|\1$BLOCK_HEIGHT| ; \ s|^(trust_hash[[:space:]]+=[[:space:]]+).*$|\1\"$TRUST_HASH\"|" $HOME/.TimpiChain/config/config.toml mv $HOME/.TimpiChain/priv_validator_state.json.backup $HOME/.TimpiChain/data/priv_validator_state.json
Restart the service and check the log
Bash:sudo systemctl restart timpid && sudo journalctl -fu timpid -o cat
-
🔑 Key management
Add new key
Bash:timpid keys add wallet
Recover existing key
Bash:timpid keys add wallet --recover
List all keys
Bash:timpid keys list
Delete key
Bash:timpid keys delete wallet
Export key to the file
Bash:timpid keys export wallet
Import key from the file
Bash:timpid keys import wallet wallet.backup
Query wallet balance
Bash:timpid q bank balances $(timpid keys show wallet -a)
👷 Validator management
- Please make sure you have adjusted moniker, identity, details and website to match your values.
Create new validator
Bash:timpid tx staking create-validator \ --amount 1000000utimpiTN \ --pubkey $(timpid tendermint show-validator) \ --moniker "YOUR_MONIKER_NAME" \ --identity "YOUR_KEYBASE_ID" \ --details "YOUR_DETAILS" \ --website "YOUR_WEBSITE_URL" \ --chain-id TimpiChainTN2 \ --commission-rate 0.05 \ --commission-max-rate 0.20 \ --commission-max-change-rate 0.01 \ --min-self-delegation 1 \ --from wallet \ --gas-adjustment 1.4 \ --gas auto \ --gas-prices 0.025utimpiTN \ -y
Edit existing validator
Bash:timpid tx staking edit-validator \ --new-moniker "YOUR_MONIKER_NAME" \ --identity "YOUR_KEYBASE_ID" \ --details "YOUR_DETAILS" \ --website "YOUR_WEBSITE_URL" \ --chain-id TimpiChainTN2 \ --commission-rate 0.05 \ --from wallet \ --gas-adjustment 1.4 \ --gas auto \ --gas-prices 0.025utimpiTN \ -y
Unjail validator
Bash:timpid tx slashing unjail --from wallet --chain-id TimpiChainTN2 --gas-adjustment 1.4 --gas auto --gas-prices 0.025utimpiTN -y
Jail reason
Bash:timpid query slashing signing-info $(timpid tendermint show-validator)
List all active validators
Bash:timpid q staking validators -oj --limit=3000 | jq '.validators[] | select(.status=="BOND_STATUS_BONDED")' | jq -r '(.tokens|tonumber/pow(10; 6)|floor|tostring) + " \t " + .description.moniker' | sort -gr | nl
List all inactive validators
Bash:timpid q staking validators -oj --limit=3000 | jq '.validators[] | select(.status=="BOND_STATUS_UNBONDED")' | jq -r '(.tokens|tonumber/pow(10; 6)|floor|tostring) + " \t " + .description.moniker' | sort -gr | nl
View validator details
Bash:timpid q staking validator $(timpid keys show wallet --bech val -a)
💲 Token management
Withdraw rewards from all validators
Bash:timpid tx distribution withdraw-all-rewards --from wallet --chain-id TimpiChainTN2 --gas-adjustment 1.4 --gas auto --gas-prices 0.025utimpiTN -y
Withdraw commission and rewards from your validator
Bash:timpid tx distribution withdraw-rewards $(timpid keys show wallet --bech val -a) --commission --from wallet --chain-id TimpiChainTN2 --gas-adjustment 1.4 --gas auto --gas-prices 0.025utimpiTN -y
Delegate tokens to yourself
Bash:timpid tx staking delegate $(timpid keys show wallet --bech val -a) 1000000utimpiTN --from wallet --chain-id TimpiChainTN2 --gas-adjustment 1.4 --gas auto --gas-prices 0.025utimpiTN -y
Delegate tokens to validator
Bash:timpid tx staking delegate <TO_VALOPER_ADDRESS> 1000000utimpiTN --from wallet --chain-id TimpiChainTN2 --gas-adjustment 1.4 --gas auto --gas-prices 0.025utimpiTN -y
Redelegate tokens to another validator
Bash:timpid tx staking redelegate $(timpid keys show wallet --bech val -a) <TO_VALOPER_ADDRESS> 1000000utimpiTN --from wallet --chain-id TimpiChainTN2 --gas-adjustment 1.4 --gas auto --gas-prices 0.025utimpiTN -y
Unbond tokens from your validator
Bash:timpid tx staking unbond $(timpid keys show wallet --bech val -a) 1000000utimpiTN --from wallet --chain-id TimpiChainTN2 --gas-adjustment 1.4 --gas auto --gas-prices 0.025utimpiTN -y
Send tokens to the wallet
Bash:timpid tx bank send wallet <TO_WALLET_ADDRESS> 1000000utimpiTN --from wallet --chain-id TimpiChainTN2 --gas-adjustment 1.4 --gas auto --gas-prices 0.025utimpiTN -y
🗳 Governance
List all proposals
Bash:timpid query gov proposals
View proposal by id
Bash:timpid query gov proposal 1
Vote 'Yes'
Bash:timpid tx gov vote 1 yes --from wallet --chain-id TimpiChainTN2 --gas-adjustment 1.4 --gas auto --gas-prices 0.025utimpiTN -y
Vote 'No'
Bash:timpid tx gov vote 1 no --from wallet --chain-id TimpiChainTN2 --gas-adjustment 1.4 --gas auto --gas-prices 0.025utimpiTN -y
Vote 'Abstain'
Bash:timpid tx gov vote 1 abstain --from wallet --chain-id TimpiChainTN2 --gas-adjustment 1.4 --gas auto --gas-prices 0.025utimpiTN -y
Vote 'NoWithVeto'
Bash:timpid tx gov vote 1 NoWithVeto --from wallet --chain-id TimpiChainTN2 --gas-adjustment 1.4 --gas auto --gas-prices 0.025utimpiTN -y
⚡️ Utility
Update Indexer
Bash:sed -i -e 's|^indexer *=.*|indexer = "null"|' $HOME/.TimpiChain/config/config.toml
Update pruning
Bash:sed -i \ -e 's|^pruning *=.*|pruning = "custom"|' \ -e 's|^pruning-keep-recent *=.*|pruning-keep-recent = "100"|' \ -e 's|^pruning-keep-every *=.*|pruning-keep-every = "0"|' \ -e 's|^pruning-interval *=.*|pruning-interval = "19"|' \ $HOME/.TimpiChain/config/app.toml
🚨 Maintenance
Get validator info
Bash:timpid status 2>&1 | jq .ValidatorInfo
Get sync info
Bash:timpid status 2>&1 | jq .SyncInfo
Get node peer
Bash:echo $(timpid tendermint show-node-id)'@'$(curl -s ifconfig.me)':'$(cat $HOME/.TimpiChain/config/config.toml | sed -n '/Address to listen for incoming connection/{n;p;}' | sed 's/.*://; s/".*//')
Check if validator key is correct
Bash:[[ $(timpid q staking validator $(timpid keys show wallet --bech val -a) -oj | jq -r .consensus_pubkey.key) = $(timpid status | jq -r .ValidatorInfo.PubKey.value) ]] && echo -e "\n\e[1m\e[32mTrue\e[0m\n" || echo -e "\n\e[1m\e[31mFalse\e[0m\n"
Get live peers
Bash:curl -sS http://localhost:27657/net_info | jq -r '.result.peers[] | "\(.node_info.id)@\(.remote_ip):\(.node_info.listen_addr)"' | awk -F ':' '{print $1":"$(NF)}'
Set minimum gas price
Bash:sed -i -e "s/^minimum-gas-prices *=.*/minimum-gas-prices = \"0.025utimpiTN\"/" $HOME/.TimpiChain/config/app.toml
Enable prometheus
Bash:sed -i -e "s/prometheus = false/prometheus = true/" $HOME/.TimpiChain/config/config.toml
Reset chain data
Bash:timpid tendermint unsafe-reset-all --home $HOME/.TimpiChain --keep-addr-book
Remove node
- Please, before proceeding with the next step! All chain data will be lost! Make sure you have backed up your priv_validator_key.json!
Bash:cd $HOME sudo systemctl stop timpid sudo systemctl disable timpid sudo rm /etc/systemd/system/timpid.service sudo systemctl daemon-reload rm -f $(which timpid) rm -rf $HOME/.TimpiChain rm -rf $HOME/timpid
⚙️ Service Management
Reload service configuration
Bash:sudo systemctl daemon-reload
Enable service
Bash:sudo systemctl enable timpid
Disable service
Bash:sudo systemctl disable timpid
Start service
Bash:sudo systemctl start timpid
Stop service
Bash:sudo systemctl stop timpid
Restart service
Bash:sudo systemctl restart timpid
Check service status
Bash:sudo systemctl status timpid
Check service logs
Bash:sudo journalctl -u timpid -f --no-hostname -o cat
Last edited: