Staking on the Taraxa blockchain

David Duarte
7 min readNov 9, 2023

--

Taraxa is a next-generation Layer-1 blockchain platform, with a primary objective of addressing real-world challenges by redirecting its focus away from financial speculation. It operates as an EVM-compatible smart contract platform, utilizing t-Graph consensus and blockDAG technology. This innovative approach empowers the web3 ecosystem to effectively tackle tangible, real-world issues.

The Taraxa blockchain uses proof of stake (PoS) to guard against Sybil attacks, and staking is a critical part of Taraxa’s consensus mechanism, involving the delegation of users’ TARA tokens to validator nodes to help secure the network against attacks and earn rewards for their efforts

Some interesting features of Taraxa include near-instant transaction inclusion and less than 4 second True Finality, a permissionless network where anyone can be a validator (it even runs on a Raspberry Pi!) and staking yields currently at around 20% APY.

In this article, we will see how to stake on the Taraxa blockchain in a step-by-step guide.

Note: I run my own Taraxa validator node, which you can check out at this link, and you could use it to delegate your TARA tokens. The validator id is:

0x8B2812758F6859330F373cC34039E2347A253743

If you don’t have any TARA, you can buy some on one of the exchanges where it is listed.

Source: Coinmarketcap https://coinmarketcap.com/currencies/taraxa/#Markets

After buying, use the exchange withdraw process to send your TARA to a wallet you control, ie, your EVM address (0x…).

Then, assuming you have Metamask installed, you just need to add the Taraxa mainnet network. If you aren’t sure how to do that, you can go to https://chainlist.org/chain/841 and click Add to Metamask.

Select the Taraxa mainnet network in Metamask and you should now see you TARA balance.

Guide to Staking on Taraxa

  • Navigate to the Taraxa community site (community.taraxa.io) and click Sign up and then Create an account.
  • Enter the required inputs into the form and confirm your email.
  • To stake TARA and earn staking rewards, you need to pass a simple KYC. Navigate to your user profile, find the KYC box and click VERIFY. You’ll be redirected to Jumio service for KYC, so follow all the steps and submit your ID documents.
  • Once you’ve passed KYC, connect your MetaMask wallet or any other Web3-enabled wallet to the Taraxa Mainnet.
  • Once you’re logged in and with a wallet connected, press Stake on the left sidebar to go to the Staking page.
  • Select the validator you wish to delegate to. If you are unsure, you can select my one. Staking yields are currently around 20% APY on all validators.
  • Press the Delegate button to the right of the validator to open the input modal.
  • Enter the amount you wish to delegate, press Delegate and then confirm on Metamask (or whichever wallet you are using).
  • Once the transaction is approved, you’ll see the SUCCESS pop-up. Congrats, your TARA is now staked and you will be earning 20% APR!
  • You can check you balance on the dashboard of the Staking page.

Note: one important thing to note is that although staking is immediate, unstaking has a 30 day waiting period.

Staking Directly on Chain

If you prefer to stake directly on-chain, the Taxara official docs provide an example on how to do it with Remix, but in this article, we’ll see how to do it using Foundy.

Please note that staking directly on-chain requires a it more technical knowledge and is not recommended for complate beginners.

Foundry is a development environment for building, testing, and deploying smart contracts on EVM-compatible blockchains. It can be used to deploy smart contracts to a variety of chains, including Taraxa.

The official documentation (https://book.getfoundry.sh/) is quite good but I’ll cover just enough basics here to perform the steps we need.

Foundryup is the Foundry toolchain installer. To install, run the following in the terminal (Linux or Mac):

curl -L https://foundry.paradigm.xyz | bash

To create a project, which we won’t do, you would normally run:

forge init my-project

However, for the simple steps that we’ll need to stake TARA, we can just use cast, Foundry’s command-line tool for performing Ethereum RPC calls. You can make smart contract calls, send transactions, or retrieve any type of chain data — all from your command-line!

Let’s start by checking the wallet balance:
(replace <WALLET_ADDRESS> with your own address)

cast balance <WALLET_ADDRESS> --rpc-url https://rpc.mainnet.taraxa.io

We’re using the balance function from cast, passing a wallet address and an RPC url for Taraxa mainnet. This should output the balance of TARA in your wallet, in wei.

Now, if we have enough balance, let’s delegate 1 TARA to a validator.

cast send 0x00000000000000000000000000000000000000fe \
"delegate(address)" 0x8B2812758F6859330F373cC34039E2347A253743 \
--value 1ether \
--rpc-url https://rpc.mainnet.taraxa.io \
--legacy \
--ledger

Here we are interacting with the staking contract on Taraxa (address 0x00000000000000000000000000000000000000fe), calling the delegate function that takes one input of type address, passing a value for the transaction of 1 ether (TARA has 18 decimal places), passing the --legacy flag since TARA network hasn’t yet implemented EIP1559, and in my case I use a Ledger so I need the --ledger flag.

If you don’t have a hardware wallet, the first thing I would like to say is that you should, and Foundry supports both the Ledger (--ledger flag) and the Trezor (--trezor flag).

But, if you don’t want to use a hardware wallet, you can also pass a private key directly to sign transactions. The previous example would look like this, where PRIVATE_KEY would be an environment variable.

cast send 0x00000000000000000000000000000000000000fe \
"delegate(address)" 0x8B2812758F6859330F373cC34039E2347A253743 \
--value 1ether \
--rpc-url https://rpc.mainnet.taraxa.io \
--legacy \
--private-key $PRIVATE_KEY

You could also replace $PRIVATE_KEY with your actual private key, but always be VERY careful not to expose your private key! Please please please consider using a hardware wallet.

Compounding

One great thing about the Taraxa chain is the extremely low transaction fees, which makes it worthwhile to compound your rewards frequently.

On the community website, this can be done by pressing the Claim button, confirming the transaction to receive the TARA in your wallet, and then pressing Delegate Mode and entering the amount to delegate.

Source: Taraxa community site

However, we can also perform these two steps, claiming rewards and delegating them, using foundry’s cast.

To claim, we just need to call the claimRewards function on the staking contract and pass the validator address:

cast send 0x00000000000000000000000000000000000000fe \
"claimRewards(address)" 0x8B2812758F6859330F373cC34039E2347A253743 \
--rpc-url https://rpc.mainnet.taraxa.io \
--legacy \
--ledger

Then, to stake, we call the delegate function:

cast send 0x00000000000000000000000000000000000000fe \
"delegate(address)" 0x8B2812758F6859330F373cC34039E2347A253743 \
--value 1ether \
--rpc-url https://rpc.mainnet.taraxa.io \
--legacy \
--ledger

Once the transaction is approved, you will have added 1 TARA to your delegated amount. I called the delegate function with 1 TARA but you could use the amount in your wallet, leaving some for gas fees.

Bonus

If you want to be really funky, you can put the cast commands into a Makefile to be able to set the variables and call the commands you want.

The file below has three commands, balance and stake, that we saw above, and a new one — restake — which claims your rewards, and delegates the balance in your wallet minus 1, to have more than enough to pay gas fees.

To use it, assuming you have make installed on your system (Linux or Mac), you would put the code in a Makefile and run make <your_command> , for example, to claim and delegate you balance, you would run:

make restake

You would still need to approve the two transactions on you ledger (but not if you input you private key directly).

Having everything in a nice script allows you to easily compound your rewards daily.

Conclusion

Staking on the Taraxa blockchain is a great way to help secure the network against attacks and earn 20% APR rewards for your efforts. By following this step-by-step guide, you can easily stake your TARA tokens and start earning rewards.

Thanks for reading!

Links

  • Buy a Ledger hardware wallet — link
  • My Validator info — link
  • Sign up to Gateio — link

--

--