Join a nomination pool
On-chain name of method: nominationPools_join
Parameters
parameter | type | optional | description |
---|---|---|---|
amount | BN | false | The amount of funds to delegate to the pool |
poolId | number | false | pool id |
waitFor | WaitFor | false | wait for block inclusion or finalization |
account | KeyringPair | false | account that will send and sign the transaction |
options | SignerOptions | true | used to overwrite existing signer options |
Returns
On failure, a reason for the failure is returned. On success, the function will return a object of type PoolJoinTxSuccess
.
This object contains the details of the transaction and some information about the nomination pool oyu just joined.
Minimal example
- Inside
your-file-name.ts
, add the following code:
avail-deno
import { BN, Keyring, SDK, WaitFor } from "https://raw.githubusercontent.com/availproject/avail/main/avail-deno/src/sdk.ts";
const providerEndpoint = "wss://turing-rpc.avail.so/ws";
const sdk = await SDK.New(providerEndpoint);
const Alice = 'This is a random seed phrase please do not use it';
const account = new Keyring({ type: "sr25519" }).addFromUri(Alice);
const amount = new BN(10).pow(new BN(18)).mul(new BN(10000)); // 10_000 Avail
const poolId = 1;
const result = await sdk.tx.nomination_pools.join(amount, poolId, WaitFor.BlockInclusion, account);
if (result.isErr) {
console.log(result.reason);
Deno.exit(1);
}
console.log(JSON.stringify(result, null, 4));
Deno.exit();
- Run the code using:
deno run --allow-net your-file-name.ts
Sample Response:
{
"isErr": false,
"event": {
"member": "5FHneW46xGXgs5mUiveU4sbTyGBzmstUspZC92UhjJM694ty",
"poolId": "1",
"bonded": "10000",
"joined": "true"
},
"events": [...],
"txHash": "0x06baecbb8680e90d025d1fd08044d0d251054a89e82dd460022bdf3796020050",
"txIndex": 1,
"blockHash": "0x82078130da46adacf5bdff86618ab6e1c443fda6d883d9fcf967a41a2e29d612",
"blockNumber": 19
}