Guides
June 27, 2023

Noria

Website: https://noria.network/
Twitter: https://twitter.com/NoriaNetwork
Discord: https://discord.thedenom.org/
Docs: https://noria.notaku.site/
Explorer: https://app.noria.network/noria

Preparing

apt update && sudo apt upgrade -y && \
apt install curl tar wget clang pkg-config libssl-dev jq build-essential bsdmainutils git make ncdu libleveldb-dev htop screen unzip fail2ban htop lz4 -y

Install GO

ver="1.20" && \
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

Download and build binaries

git clone https://github.com/noria-net/noria.git && \
cd noria && \
git checkout v1.3.0 && \
make install && \
noriad version

Init

MONIKER=<enter-your-moniker> 
CHAIN_ID="oasis-3"
noriad init $MONIKER --chain-id $CHAIN_ID
noriad config keyring-backend test

Create or recover wallet

WALLET=<enter-your-Wallet-Name>
noriad keys add $WALLET
 * or_add --recover

Download Genesis

wget https://raw.githubusercontent.com/noria-net/noria/main/genesis.json -O $HOME/.noria/config/genesis.json

Setup config

sed -i -e "s/^minimum-gas-prices *=.*/minimum-gas-prices = \"0.0025ucrd\"/;" ~/.noria/config/app.toml
peers="6b00a46b8c79deab378a8c1d5c2a63123b799e46@34.69.0.43:26656,4d8147a80c46ba21a8a276d55e6993353e03a734@165.22.42.220:26656,e82fb793620a13e989be8b2521e94db988851c3c@165.227.113.152:26656"
sed -i -e "s/^persistent_peers *=.*/persistent_peers = \"$peers\"/" $HOME/.noria/config/config.toml

pruning="custom"
pruning_keep_recent="500"
pruning_keep_every="0"
pruning_interval="50"
sed -i -e "s/^pruning *=.*/pruning = \"$pruning\"/" $HOME/.noria/config/app.toml
sed -i -e "s/^pruning-keep-recent *=.*/pruning-keep-recent = \"$pruning_keep_recent\"/" $HOME/.noria/config/app.toml
sed -i -e "s/^pruning-keep-every *=.*/pruning-keep-every = \"$pruning_keep_every\"/" $HOME/.noria/config/app.toml
sed -i -e "s/^pruning-interval *=.*/pruning-interval = \"$pruning_interval\"/" $HOME/.noria/config/app.toml

Enable State Sync in config.toml (recommended)

STATE_SYNC_RPC=https://archive-rpc.noria.nextnet.zone:443
LATEST_HEIGHT=$(curl -s $STATE_SYNC_RPC/block | jq -r .result.block.header.height)
SYNC_BLOCK_HEIGHT=$(($LATEST_HEIGHT - 1000))
SYNC_BLOCK_HASH=$(curl -s "$STATE_SYNC_RPC/block?height=$SYNC_BLOCK_HEIGHT" | jq -r .result.block_id.hash)

sed -i \
  -e "s|^enable *=.*|enable = true|" \
  -e "s|^rpc_servers *=.*|rpc_servers = \"$STATE_SYNC_RPC,$STATE_SYNC_RPC\"|" \
  -e "s|^trust_height *=.*|trust_height = $SYNC_BLOCK_HEIGHT|" \
  -e "s|^trust_hash *=.*|trust_hash = \"$SYNC_BLOCK_HASH\"|" \
  $HOME/.noria/config/config.toml

Create a service file

sudo tee /etc/systemd/system/noriad.service > /dev/null <<EOF
[Unit]
Description=Noria
After=network-online.target

[Service]
User=$USER
ExecStart=$(which noriad) start
Restart=on-failure
RestartSec=3
LimitNOFILE=65535

[Install]
WantedBy=multi-user.target
EOF
sudo systemctl daemon-reload && sudo systemctl enable noriad && \
sudo systemctl restart noriad && sudo journalctl -u noriad -f -o cat

Become a Validator
If you need funds, hit the faucet on discord with /request <wallet address>.
The Faucet is available in the discord channel noria-faucet
You can swap CRD (gas fee) for NORIA (staking token) in the Macro DEX https://macro.noria.network/swap/

Execute the create-validator transaction:

noriad tx staking create-validator \
--chain-id oasis-3 \
--commission-rate 0.05 \
--commission-max-rate 0.2 \
--commission-max-change-rate 0.1 \
--min-self-delegation "1000000" \
--amount="1000000unoria" \
--pubkey $(noriad tendermint show-validator) \
--moniker $MONIKER \
--identity "1B7C4191E48B1F4C" \
--from $WALLET \
--fees 500ucrd \
-y