# HYPERSIGN node install

By [chaingon | web3topia](https://paragraph.com/@chaingon) · 2022-09-11

---

BEFORE GENESIS
--------------

First of all u have to sign up **\-=>** [**here**](https://app.fyre.hypersign.id/form/hidnet-validator-interest?referrer=b3hjcnlwdG9zLmV0aEBnbWFpbC5jb20=)

than proceed

### Prepare

*   upgrade system
    

    sudo apt update && sudo apt upgrade -y
    

*   install dependencies
    

    sudo apt install curl build-essential git wget jq make gcc -y
    

*   install go
    

    ver="1.18.3" # set ver.
    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
    

### Install

*   Clone the repository
    

    git clone https://github.com/hypersign-protocol/hid-node.git
    

*   Build the node
    

    cd hid-node
    make install
    

### Setup

*   set vars
    

    NODENAME=<PUT_YOUR_MONIKER_HERE>
    

    echo "export NODENAME=$NODENAME" >> $HOME/.bash_profile
    if [ ! $WALLET ]; then
        echo "export WALLET=wallet" >> $HOME/.bash_profile
    fi
    source $HOME/.bash_profile
    

*   generate keys
    

    hid-noded keys add $WALLET
    

or restore yours

    hid-noded keys add $WALLET --recover
    

### Setup validator

    hid-noded init $NODENAME --chain-id jagrat
    

    cat $HOME/.hid-node/config/genesis.json | jq '.app_state["crisis"]["constant_fee"]["denom"]="uhid"' > $HOME/.hid-node/config/tmp_genesis.json && mv $HOME/.hid-node/config/tmp_genesis.json $HOME/.hid-node/config/genesis.json
    

    cat $HOME/.hid-node/config/genesis.json | jq '.app_state["gov"]["deposit_params"]["min_deposit"][0]["denom" ]="uhid"' > $HOME/.hid-node/config/tmp_genesis.json && mv $HOME/.hid-node/config/tmp_genesis.json $HOME/.hid-node/config/genesis.json
    

    cat $HOME/.hid-node/config/genesis.json | jq '.app_state["mint"]["params"]["mint_denom"]="uhid"' > $HOME/.hid-node/config/tmp_genesis.json && mv $HOME/.hid-node/config/tmp_genesis.json $HOME/.hid-node/config/genesis.json
    

    cat $HOME/.hid-node/config/genesis.json | jq '.app_state["staking"]["params"]["bond_denom"]="uhid"' > $HOME/.hid-node/config/tmp_genesis.json && mv $HOME/.hid-node/config/tmp_genesis.json $HOME/.hid-node/config/genesis.json
    

    cat $HOME/.hid-node/config/genesis.json | jq '.app_state["ssi"]["chain_namespace"]="jagrat"' > $HOME/.hid-node/config/tmp_genesis.json && mv $HOME/.hid-node/config/tmp_genesis.json $HOME/.hid-node/config/genesis.json
    

    hid-noded add-genesis-account $WALLET 100000000000uhid
    

don’t forget edit last 3 lines

    hid-noded gentx $WALLET 100000000000uhid \
    --chain-id jagrat \
    --moniker="$NODENAME" \
    --commission-max-change-rate=0.01 \
    --commission-max-rate=1.0 \
    --commission-rate=0.07 \
    --min-self-delegation=100000000000 \
    --details="i just copypasted code from manual without attention" \
    --security-contact="<UR CONTACT>" \
    --website="<UR SITE>"
    

### SUBMIT GENESIS INFO

*   Go to [this repo](https://github.com/hypersign-protocol/networks) and make a fork
    

![](https://storage.googleapis.com/papyrus_images/1927a97803aae55d4f39ce2fccca22fa343bf693dabf19ae48c366bceb087e02.png)

*   run `cd $HOME/.hid-node/config/gentx/ && ls` and copy file name
    

![](https://storage.googleapis.com/papyrus_images/25228e9bdc03217d7d64a5bdf43bd3f8a855801576c78791787cddb3a844555e.png)

*   go to your fork and create file with same name in folder`<UR FORK NAME>/testnet/jagrat/gentx/`
    

![](https://storage.googleapis.com/papyrus_images/ba9656d3f40c3cdbebb749a92a3d972accf87d3115c6d34d0273a791419b4490.png)

*   run cat _example_ `cat gentx-5cd888a5c37474ca778277cfd9dee7d24fe96094.json`
    
*   copy and paste it in gentx file on github and press “commit new file” in bottom
    
*   run `hid-noded tendermint show-node-id` to get ID or your node and run `curl ipinfo.io/ip` to get your public IP
    
*   in your github create file `peer-<validator-name>.txt` in folder `<UR FORK NAME>/testnet/jagrat/peers/`
    
*   paste there information in format `<node-id>@<publicly-reachable-ip>:<p2p-port>` and “commit new file” \*Example: \*`31a2699a153e60fcdbed8a47e060c1e1d4751616@57.135.32.88:26656`
    
    ![](https://storage.googleapis.com/papyrus_images/ebd2276325f0262b6d89fbf731deeb05c1ae113dad9da552cbe83304d5c27cc9.png)
    
    *   open pull request
        
    
    ![](https://storage.googleapis.com/papyrus_images/207c142919ea9af87164b4eac1896dded22541505caf515e244233fa7d32e61d.png)
    
    ![](https://storage.googleapis.com/papyrus_images/12336a15d3e4de5872b57f6cd7f43727969a77c910cc4e7a88a15f32a34fc3c5.png)
    
    WAIT FOR GENESIS to be continued…
    
    don’t press next button if you don’t want to support me ;)
    
    collect://

---

*Originally published on [chaingon | web3topia](https://paragraph.com/@chaingon/hypersign-node-install)*
