The End to End Guide For Staking AVT on the AVN
This guide will walk you through successfully installing the API to staking your AVT on the AvN and verifying the state of the transaction.
The first thing we need to do is ensure that you have npm
installed. You'll find instructions on how to do this here. You'll also find instructions on how to install the avn-api library.
Note, all transactions on the AVN must be paid for using AVT, so going forward it's important for you to have some AVT in your account. There are multiple ways to purchase AVT and this page provides instructions on how to get some. Note: You need 1 AVT in your account to use the API. The AVT needs to be lifted (moved) to the Aventus Network, and there are also instructions for that too here
Once you have some AVT in your account, of which you can check your account balance here, let's get to the exciting bit, staking your AVT on the AvN by submitting a transaction to the AVN. For this guide, we'll show a simple transaction staking 100 AVT.
const { AvnApi, SetupMode, SigningMode } = require("avn-api");
const AVN_GATEWAY_URL = "gateway url of your chosen network";
const options = {
suri: "suri of your account",
setupMode: SetupMode.SingleUser,
signingMode: SigningMode.SuriBased,
hasPayer: true,
};
// Amount to Stake in 18 decimals (wei value). Decimal values (e.g. 1.3) are not supported.
AMOUNT_TO_STAKE = "100000000000000000000";
async function main() {
const avnSdk = new AvnApi(AVN_GATEWAY_URL, options);
await avnSdk.init();
const api = await avnSdk.apis();
let result = await api.send.stake(AMOUNT_TO_STAKE);
// returns a request id
console.log(result);
}
(async () => {
await main();
})();
Expected Transaction Submission Output
f1710fe7-141f-43c1-b1bb-6ec33d9b3e9a
Congratulations! You've now successfully submitted a transaction to the AVN to stake 10 AVT.
State of the Transaction
To query the AVN on the state of the staking transaction:
let status = await api.poll.requestState(requestId);
console.log(status);
Expected State Output
{
"txHash": "0x37b5aa6...ae1c773c0acbc63dc90",
"status": "Processed",
"blockNumber": "125412",
"transactionIndex": "2"
}