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.
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.
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:
How to join?
Submit this form to register your interest in participating and you’ll be notified shortly about specific next steps.
System requirements:
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}"
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
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)
Get Fund
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
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