Testnet
Hypersign
Installation Guide
CLI Command
State Sync
Snapshot
Public Endpoint
Explorers
Node Maps
Installation Guide
Installation Guide
CLI Command
State Sync
Snapshot
Public Endpoint
Explorers
Node Maps
State Sync
sudo systemctl stop hid-noded
cp $HOME/.hid-node/data/priv_validator_state.json $HOME/.hid-node/priv_validator_state.json.backup
hid-noded tendermint unsafe-reset-all --home $HOME/.hid-node --keep-addr-book
SNAP_RPC="https://testnet-hypersign-rpc.konsortech.xyz: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)
echo $LATEST_HEIGHT $BLOCK_HEIGHT $TRUST_HASH
peers="c57cb8c929a73edff5cbad63a90d923edcf96913@testnet-hypersign.konsortech.xyz:27656"
sed -i 's|^persistent_peers *=.*|persistent_peers = "'$peers'"|' $HOME/.hid-node/config/config.toml
sed -i -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/.hid-node/config/config.toml
mv $HOME/.hid-node/priv_validator_state.json.backup $HOME/.hid-node/data/priv_validator_state.json
sudo systemctl restart hid-noded
sudo journalctl -u hid-noded -f --no-hostname -o cat
Hypersign Testnet Decentralization Maps
How To Install Full Node Hypersign Testnet
Setting up vars
Your Nodename (validator) that will shows in explorer
NODENAME=<Your_Nodename_Moniker>
Save variables to system
echo "export NODENAME=$NODENAME" >> $HOME/.bash_profile
if [ ! $WALLET ]; then
echo "export WALLET=wallet" >> $HOME/.bash_profile
fi
echo "export HYPERSIGN_CHAIN_ID=prajna-1" >> $HOME/.bash_profile
source $HOME/.bash_profile
Update packages
sudo apt update && sudo apt upgrade -y
Install dependencies
sudo apt install curl build-essential git wget jq make gcc tmux net-tools ccze -y
Install go
if ! [ -x "$(command -v go)" ]; then
ver="1.21.4"
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
fi
Download and build binaries
cd $HOME
git clone https://github.com/hypersign-protocol/hid-node.git
cd hid-node
git checkout v0.2.0
make install
Init app
hid-noded init $NODENAME --chain-id $HYPERSIGN_CHAIN_ID
Download configuration
wget -qO $HOME/.hid-node/config/genesis.json "https://snapshot.konsortech.xyz/hypersign/genesis.json"
wget -qO $HOME/.hid-node/config/addrbook.json "https://snapshot.konsortech.xyz/hypersign/addrbook.json"
Set seeds and peers
SEEDS="d8dad59bfabdad37d6455f5513956fc802732b69@testnet-seed.konsortech.xyz:27165"
PEERS="50ce7a4b00a363326e4e9f355ca82873744b4517@212.118.42.10:26656,8486f27b121dd25c802fe28f8b0fd6ba2accdba0@45.151.122.3:26656,77234414b2b057fa7201883316ea69490eb55a70@213.133.100.172:26656,ec855c80ec23d1fe41fc741db869581609cc8b52@192.168.3.29:26656,dbb3c0e236843d2f02d3a9a65d25fee8576831db@144.76.97.251:26656,f8d6f2cf1247b37337001e031084126da387f696@136.243.55.237:26656,b2ec1e52264efdd89183b595ddc877f2e023453c@62.171.184.126:26656,4f854558dda4c7b0ef0e0f0262d1417e47007e5f@66.45.246.166:26656,cd447352bc9ddf8d14483fd5959481e0041eda65@178.18.254.211:26656,c2c4b3990e555a1c838ea3cdfe15426fd0c8f6a6@154.12.228.93:26656,a34190ba699058d753f7bde2fa8c42b07b563ffe@192.168.48.1:26656,7b13f540715f8117de13341f1a5dd40957d8ace9@167.235.21.165:26656,a6fae68113f3246d960653574f68902103002318@167.235.102.45:26656,8860943e224d635aa94bfb2fc6ed3a5a3ff42971@190.2.146.152:26656,feda90ce3d07b384fde0f29677d60f21c5090c33@51.89.195.66:17656,daf233bd26ccc63ffcf47202d72b25089ec5c6b2@142.132.135.125:26656,ef4b86eeaabf8d1ade4278adf728f1fbd65ec833@141.95.103.138:26656,43c8782bf72967173e98c8b13943c7f18a4a0202@5.181.190.76:26656,177de381a63a179f2b88516e95cae5cae261f116@173.212.198.50:26656,4ada7263e263023214a15343e277116985c8b528@5.161.99.136:26656,76533e599a58f47c9aeca805294af8d7cf7a4c7f@195.201.110.169:26656,ff1ee030ab1ba7009a4d497f1b815a2053070139@109.123.242.217:26656,6b6796923c0675265866be182fe1c5400fe16283@192.168.1.14:26656,c5cbace43cfa0043fc8d85b3bd128b76e0872bfb@88.99.177.78:26656,3a3c85dd6911370bef69785989ff2545b9fe78cb@10.0.1.10:26656,cccc44f39832eaa9ae345fa92e47b553517765aa@176.9.121.109:26656,09e9fbe80bcbbcf888dedf928d70cc12918d7f48@81.31.197.120:26656,378cd59b57643a878f8fd66c6853587d4c1aac34@38.46.220.58:26656,f24522f9153e4abeabb3f9a214801d0a21b5d71a@95.217.106.215:26656,69e7ff3d6bc66e3f1e5f1d0794643be4ace556fc@81.0.247.152:26656,2186c4c3ebd9cb4916e35dd443e89d9335993890@142.132.136.106:26656,636977c240470721ae1096dcc405e538a7c27d56@148.251.43.226:26656,7ebd20716a06edfad4ebc969f49b9bdad05141c6@37.27.48.156:26656,85ebee239df7b78d4565a5c28c2412ded3e2f72c@95.217.110.39:26656,e7c8f8e8daac4eee629ea08dd528b25c05b195d1@65.108.238.61:26656,071ec8aa9e9f96189878e45419703250c9648bb2@10.2.0.4:26656,4aeb5149f35dafe890720490ee2790f582c52508@65.109.69.163:26656,5cc2d1faff16fed70ee332fe9a87081788fd64e7@192.168.70.132:26656,b0fee95a6b8c04a1b9d0656fce7b72dc810e8530@162.55.103.44:26656,2afff3043a4a338f483078f3c3ec7bbb36fbce0b@65.21.132.27:26656,df582f4d61b2d56cfdd7a8701b67750310b54414@10.160.0.7:26656,1230eda50373e9285797342dc017b7fb5c96a295@65.108.211.81:26656,775e5830fb90a285d9cd1a2431c855dc693ed0ab@37.27.15.94:26656,45a6a6e2790583bf4dee1a3b1e4dd24fb89911b3@65.109.104.118:26656,0c6758a3f4554bbc67da73993bbb697764c5c534@38.242.142.227:26656,e47821bd8ade6f9df9ceaf9ac899f6f3393b49f1@65.108.134.215:26656,a78f329d7854582c8b8224ff0c84f7a80d8eac20@185.249.227.7:26656,525e4aa4e6a10f000211bdff2a0e824b89ec8098@148.251.177.108:26656,c8ff7a6594818fbd708917933e7b1599b9d67629@65.109.39.223:26656,d879996c98e624918088d10e8ddf552fcfc5cd19@65.109.237.80:26656,06c434618db29a55eb59b3be0bf3870b89aa6a92@185.249.227.6:26656,a52d3842a60d893c667e42a393325c45e2ab477c@95.217.207.236:26656,5e4fc955b23ab00f6a07cb6d56e89aafac0c85ff@167.86.85.122:26656"
sed -i -e "s/^seeds *=.*/seeds = \"$SEEDS\"/; s/^persistent_peers *=.*/persistent_peers = \"$PEERS\"/" $HOME/.hid-node/config/config.toml
Disable indexing
indexer="null"
sed -i -e "s/^indexer *=.*/indexer = \"$indexer\"/" $HOME/.hid-node/config/config.toml
Config pruning
pruning="custom"
pruning_keep_recent="100"
pruning_keep_every="0"
pruning_interval="19"
sed -i -e "s/^pruning *=.*/pruning = \"$pruning\"/" $HOME/.hid-node/config/app.toml
sed -i -e "s/^pruning-keep-recent *=.*/pruning-keep-recent = \"$pruning_keep_recent\"/" $HOME/.hid-node/config/app.toml
sed -i -e "s/^pruning-keep-every *=.*/pruning-keep-every = \"$pruning_keep_every\"/" $HOME/.hid-node/config/app.toml
sed -i -e "s/^pruning-interval *=.*/pruning-interval = \"$pruning_interval\"/" $HOME/.hid-node/config/app.toml
Set minimum gas price
sed -i -e "s/^minimum-gas-prices *=.*/minimum-gas-prices = \"0uhid\"/" $HOME/.hid-node/config/app.toml
Create service
sudo tee /etc/systemd/system/hid-noded.service > /dev/null <<EOF
[Unit]
Description=hypersign
After=network-online.target
[Service]
User=$USER
ExecStart=$(which hid-noded) start --home $HOME/.hid-node
Restart=on-failure
RestartSec=3
LimitNOFILE=65535
[Install]
WantedBy=multi-user.target
EOF
Register and start service
sudo systemctl daemon-reload
sudo systemctl enable hid-noded
sudo systemctl restart hid-noded && sudo journalctl -u hid-noded -f -o cat
Guidence for create validator
Create wallet
To create new wallet you can use command below. Don’t forget to save the mnemonic
hid-noded keys add $WALLET
To recover your wallet using seed phrase
hid-noded keys add $WALLET --recover
Show your wallet list
hid-noded keys list
Save wallet info
Add wallet and validator address into variables
HYPERSIGN_WALLET_ADDRESS=$(hid-noded keys show $WALLET -a)
HYPERSIGN_VALOPER_ADDRESS=$(hid-noded keys show $WALLET --bech val -a)
echo 'export HYPERSIGN_WALLET_ADDRESS='${HYPERSIGN_WALLET_ADDRESS} >> $HOME/.bash_profile
echo 'export HYPERSIGN_VALOPER_ADDRESS='${HYPERSIGN_VALOPER_ADDRESS} >> $HOME/.bash_profile
source $HOME/.bash_profile
Fund your wallet
Go to #testnet-faucet on discord channel
Create validator
check your wallet balance:
hid-noded query bank balances $HYPERSIGN_WALLET_ADDRESS
To create your validator run command below
hid-noded tx staking create-validator \
--amount 1000000uhid \
--from $WALLET \
--commission-max-change-rate "0.1" \
--commission-max-rate "0.2" \
--commission-rate "0.1" \
--min-self-delegation "1" \
--pubkey $(hid-noded tendermint show-validator) \
--moniker $NODENAME \
--chain-id $HYPERSIGN_CHAIN_ID
--gas-adjustment=1.5 \
--gas=auto \
Check your validator key
[[ $(hid-noded q staking validator $HYPERSIGN_VALOPER_ADDRESS -oj | jq -r .consensus_pubkey.key) = $(hid-noded 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 list of validators
hid-noded 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
Usefull commands
Service management
Check logs
journalctl -fu hid-noded -o cat
Start service
sudo systemctl start hid-noded
Stop service
sudo systemctl stop hid-noded
Restart service
sudo systemctl restart hid-noded
Node info
Synchronization info
hid-noded status 2>&1 | jq .SyncInfo
Validator info
hid-noded status 2>&1 | jq .ValidatorInfo
Node info
hid-noded status 2>&1 | jq .NodeInfo
Show node id
hid-noded tendermint show-node-id
Wallet operations
List of wallets
hid-noded keys list
Recover wallet
hid-noded keys add $WALLET --recover
Delete wallet
hid-noded keys delete $WALLET
Get wallet balance
hid-noded query bank balances $HYPERSIGN_WALLET_ADDRESS
Transfer funds
hid-noded tx bank send $HYPERSIGN_WALLET_ADDRESS <TO_HYPERSIGN_WALLET_ADDRESS> 1000000uhid
Voting
hid-noded tx gov vote 1 yes --from $WALLET --chain-id=$HYPERSIGN_CHAIN_ID
Staking, Delegation and Rewards
Delegate stake
hid-noded tx staking delegate $HYPERSIGN_VALOPER_ADDRESS 1000000uhid --from=$WALLET --chain-id=$HYPERSIGN_CHAIN_ID --gas=auto
Redelegate stake from validator to another validator
hid-noded tx staking redelegate <srcValidatorAddress> <destValidatorAddress> 1000000uhid --from=$WALLET --chain-id=$HYPERSIGN_CHAIN_ID --gas=auto
Withdraw all rewards
hid-noded tx distribution withdraw-all-rewards --from=$WALLET --chain-id=$HYPERSIGN_CHAIN_ID --gas=auto
Withdraw rewards with commision
hid-noded tx distribution withdraw-rewards $HYPERSIGN_VALOPER_ADDRESS --from=$WALLET --commission --chain-id=$HYPERSIGN_CHAIN_ID
Validator management
Edit validator
hid-noded tx staking edit-validator \
--moniker=$NODENAME \
--identity=<your_keybase_id> \
--website="<your_website>" \
--details="<your_validator_description>" \
--chain-id=$HYPERSIGN_CHAIN_ID \
--from=$WALLET
Unjail validator
hid-noded tx slashing unjail \
--broadcast-mode=block \
--from=$WALLET \
--chain-id=$HYPERSIGN_CHAIN_ID \
--gas=auto
Public Endpoint
RPC
https://testnet-hypersign-rpc.konsortech.xyz
API
https://testnet-hypersign-api.konsortech.xyz
gRPC
testnet-hypersign.konsortech.xyz:27090
Seed & Peers
Peers
c57cb8c929a73edff5cbad63a90d923edcf96913@testnet-hypersign.konsortech.xyz:27656
Seeds
d8dad59bfabdad37d6455f5513956fc802732b69@testnet-seed.konsortech.xyz:27165
Snapshot
sudo systemctl stop hid-noded
cp $HOME/.hid-node/data/priv_validator_state.json $HOME/.hid-node/priv_validator_state.json.backup
rm -rf $HOME/.hid-node/data
SNAP_NAME=$(curl -s https://snapshot.konsortech.xyz/hypersign/ | egrep -o ">hypersign-snapshot.*\.tar.lz4" | tr -d ">")
curl https://snapshot.konsortech.xyz/hypersign/${SNAP_NAME} | lz4 -dc - | tar -xf - -C $HOME/.hid-node
mv $HOME/.hid-node/priv_validator_state.json.backup $HOME/.hid-node/data/priv_validator_state.json
sudo systemctl restart hid-noded && journalctl -u hid-noded -f --no-hostname -o cat