Run a Archway Validator
May 20th, 2022
https://www.archway.io/
https://www.archway.io/

GM, Cosmonauts!

I would like to introduce you to the Archway project and show you how to create a gentx for incentivized testnet participation. I hope this guide will be simple and interesting for you.

Before proceeding with the tasks, let's first understand what Archway is.

What is Archway?

Archway is an incentivized smart contract platform that rewards developers. Archway is an all-in-one blockchain platform that allows developers to easily deploy smart contracts across the Cosmos ecosystem without the need to create a separate application chain.

With a unique and comprehensive reward model, success is passed directly to the developers. Since dApps generate usage, they receive a proportional share of network rewards and can distribute them in any way they feel benefits their ecosystem. A brief overview of some powerful features: Redistributing rewards to governance token holders, supporting core development teams, covering user gas fees, replenishing liquidity pools, participating in community DAOs, opening rewards, sponsoring events and hackathons, and much more.

Archway ensures that dApp developers receive their fair share of rewards and incentives by building network-level rewards directly into the protocol itself. DApps receive a portion of transaction fees and inflationary rewards in exchange for their contribution to the network, similar to how validators are rewarded on a typical PoS chain. This collaborative earning model allows dApps to earn recurring rewards, earn a real stake in the underlying protocol, and participate in increasing community success.

Archway unlocks three potential rewards sources for dApps:

Gas Fee Rebates

Unlike existing smart contract platforms, Archway does not burn gas fees or distribute them entirely to the validators or miners. Instead, Archway splits the collected gas fees between dApp developers and validators.

At network launch, gas fees will be divided evenly with 50% going to dApp developers and 50% to validators. These are configurable parameters and can be adjusted over time through network governance.

Inflationary Rewards Share

Archway shares a portion of total network inflation rewards directly with dApps. At genesis, 25% will go to dApp developers and 75% will go to validators. For example, if the network sees total annual inflation of 8%, then 2% would go to dApps and 6% would go to validators. Again, these distribution values are configurable parameters that can be adjusted by the Archway community via network governance.

Smart Contract Premiums

With Archway, dApps can define custom fees for interacting with their smart contracts. These fees provide developers a flexible option to cover additional costs like distributed storage, access to off-chain processing, external data sources, or other premium features such as audited and insured contracts.

Contract premiums also open up possibilities to monetize individual contracts, which can be integrated across multiple dApps and earn multiple lines of fees from any user base or service that interacts with it.

Archway’s Incentivized Testnet — Torii

I hope you, like me, are interested in Archway and want to learn how to participate in the incentive testnet.

Torii testnet will run across multiple phases, each of which is designed to test various dimensions of the network and grow the overall ecosystem.

Validators, developers, and community members will participate in a series of competitive tasks and guided challenges. With each challenge, participants will have the opportunity to earn tokens.

In total, ~0.5% of the token supply will be distributed to winners! (more details on this coming soon)

To ensure we assemble a diverse and representative set of participants, the program is focused across several distinct themes:

  • Node Operations — performing technical tasks related to operating a validator and testing core protocol features (running a node, performance stress testing, etc.)
  • Feature Testing — targeted testing of Archway’s unique new features. Let’s see if we can break the economic model (economic exploits, maxing out network rewards, sybil attacks, etc.)!
  • dApps + Tooling — building core applications (DEXs, NFT marketplaces, etc) and tooling that simplifies development workflows and developer onboarding (run CLI in local env, contract templates, etc)
  • Contributor Content — publishing creative content that raises awareness and educates the broader community on the value and benefits to Archway, why it’s important, and what that means for developers.

How to join?

Submit this form to register your interest in participating and you’ll be notified shortly about specific next steps.

System requirements:

  • 4 GB RAM, x64 2.0 GHz 2v CPU
  • 512 GB SSD
  • Stable internet connection

How to submit gentx:

Server prepare:

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

wget https://golang.org/dl/go1.18.linux-amd64.tar.gzsudo tar -C /usr/local -xzf go1.18.linux-amd64.tar.gzcat <<EOF >> ~/.profile export GOROOT=/usr/local/go export GOPATH=$HOME/go export GO111MODULE=on export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin EOF source ~/.profile

Install Archway binary:

git clone https://github.com/archway-network/archway cd archway git checkout main make install

Set variables:

ARCHWAY_CHAIN="torii-1" ARCHWAY_MONIKER="YOUR_MONIKER_NAME" ARCHWAY_WALLET="ARCHWAY_WALLET

echo 'export ARCHWAY_CHAIN='${ARCHWAY_CHAIN} >> $HOME/.bash_profile echo 'export ARCHWAY_MONIKER='${ARCHWAY_MONIKER} >> $HOME/.bash_profile echo 'export ARCHWAY_WALLET='${ARCHWAY_WALLET} >> $HOME/.bash_profile source $HOME/.bash_profile

Init chain:

archwayd init ${ARCHWAY_MONIKER} --chain-id $ARCHWAY_CHAIN

Create keys:

archwayd keys add $ARCHWAY_WALLET

Download Genesis:

wget -O $HOME/.archway/config/genesis.json "https://raw.githubusercontent.com/archway-network/testnets/main/torii-1/penultimate_genesis.json"

Add gen account:

archwayd add-genesis-account $(archwayd keys show $ARCHWAY_WALLET -a) 1001000utorii

Create Gen-tx:

archwayd gentx $ARCHWAY_WALLET 1000000utorii --commission-rate=0.1 --commission-max-rate=0.1 --commission-max-change-rate=0.1 --pubkey $(archwayd tendermint show-validator) --chain-id=torii-1 --moniker="${ARCHWAY_MONIKER}"

Post Genesis setup:

Download Genesis:

wget -O $HOME/.archway/config/genesis.json "https://github.com/archway-network/testnets/raw/main/torii-1/genesis.json"

Reset chain:

archwayd unsafe-reset-all

Create service:

sudo tee /etc/systemd/system/archwayd.service > /dev/null <<EOF [Unit] Description=archwayd After=network.target [Service] Type=simple User=$USER ExecStart=$(which archwayd) start Restart=on-failure RestartSec=10 LimitNOFILE=65535 [Install] WantedBy=multi-user.target EOF

Update your config:

archwayd config chain-id torii-1

external_address=$(wget -qO- eth0.me)

peers="dcc82542a94ab6407733802dd50c098da6f27f72@35.184.247.99:26656,facf38daac7cbbdcbaf87f531225d6a621cea483@15.235.10.78:26656,83b18e67dca836a838361496a7c87696a488fd05@65.108.99.224:26656,07fd2c5b8838dfc80ff1e9c5577006b552fcb98c@206.221.181.234:46656,c5ca4cb89df8c194e6b404f54be0e27c1258377b@95.214.55.210:26756,ece6b901c278f91410b798edef805ba1d358c660@59.13.223.197:30273,b1cedcd284964d7657d597541ec9516fa3392cd1@185.234.69.139:26656,ce1e6c7a84ab3f8e2fd87d4aef0f95da774a5e98@159.69.11.174:26656,cb1534d2ad2fedb1168b4052f04ede5b12428068@51.250.111.252:26656,2b0c484615d9bafd6cc339c588e366dd9b000221@54.180.95.251:26656,2e422fe3956b7ea2a868dbe832e8cd9af5203ea6@65.108.75.32:26656" sed -i.bak -e "s/^external_address =./external_address = "$external_address:26656"/; s/^persistent_peers =./persistent_peers = "$peers"/" $HOME/.archway/config/config.toml

seeds="" sed -i.bak -e "s/^seeds =.*/seeds = "$seeds"/" $HOME/.archway/config/config.toml

Start service:

sudo systemctl daemon-reload sudo systemctl enable archwayd sudo systemctl restart archwayd && journalctl -u archwayd -f -o cat

Claim tokens using faucet

Currently there are two options of getting tokens in torii-1 testnet

Get tokens using your twitter account (1)

Get tokens using your twitter account (2)

Create Torii-1 validator

archwayd tx staking create-validator --amount 1000000utorii --from $ARCHWAY_WALLET --commission-max-change-rate "0.01" --commission-max-rate "0.2" --commission-rate "0.07" --min-self-delegation "1" --pubkey $(archwayd tendermint show-validator) --moniker $NODENAME --chain-id $ARCHWAY_CHAIN

Validator commands:

Show node id:

archwayd tendermint show-node-id

Synchronization info:

archwayd status 2>&1 | jq .SyncInfo

Show node id:

archwayd tendermint show-node-id

Validator info:

archwayd status 2>&1 | jq .ValidatorInfo

Node info:

archwayd status 2>&1 | jq .NodeInfo

Wallet operations:

archwayd query bank balances $WALLET_ADDRESS

Transfer funds:

archwayd tx bank send $WALLET_ADDRESS <TO_WALLET_ADDRESS> 10000000utorii

Delegate stake:

archwayd tx staking delegate $VALOPER_ADDRESS 10000000utorii --from=$ARCHWAY_WALLET --chain-id=$ARCHWAY_CHAIN --gas=auto

Redelegate stake:

archwayd tx staking redelegate <srcValidatorAddress> <destValidatorAddress> 10000000utorii --from=$ARCHWAY_WALLET --chain-id=$ARCHWAY_CHAIN --gas=auto

Withdraw all rewards:

archwayd tx distribution withdraw-all-rewards --from=$ARCHWAY_WALLET --chain-id=$ARCHWAY_CHAIN --gas=auto

Withdraw rewards with commission:

archwayd tx distribution withdraw-rewards $VALOPER_ADDRESS --from=$ARCHWAY_WALLET --commission --chain-id=$ARCHWAY_CHAIN

Unjail validator:

archwayd tx slashing unjail \ --broadcast-mode=block \ --from=$ARCHWAY_WALLET \ --chain-id=$ARCHWAY_CHAIN \ --gas=auto

Subscribe to cyberG|DVS
Receive the latest updates directly to your inbox.
Verification
This entry has been permanently stored onchain and signed by its creator.
More from cyberG|DVS

Skeleton

Skeleton

Skeleton