Skip to Content
API ReferenceAvail node API referenceTransfer funds while ensuring min balance for sender

Transfer funds while ensuring min balance for sender

On-chain name of extrinsic: balances_transferKeepAlive

Parameters

parametertypeoptionaldescription
deststringfalseaccount that will receive funds
valueBNfalseamount that is send. 10^18 is equal to 1 AVL
waitForWaitForfalsewait for block inclusion or finalization
accountKeyringPairfalseaccount that will send and sign the transaction
optionsSignerOptionstrueused to overwrite existing signer options

Return value

On failure, a reason of failure is returned. On Success, TransferEvent event, transaction hash and block hash is returned.

Basic Example

  1. Inside your-file-name.ts, add the following code:
avail-js
import * as dotenv from 'dotenv'; import { Account, SDK, BN } from 'avail-js-sdk'; dotenv.config(); export async function transferKeepAlive() { // Initialize SDK with Turing endpoint const sdk = await SDK.New('wss://turing-rpc.avail.so/ws'); // Create account from seed in .env file const seed = process.env.SEED; if (!seed) { throw new Error("SEED environment variable is not set"); } // Create account from seed const account = Account.new(seed); console.log("Sender Address: ", account.address); // Destination address to send AVAIL to const destinationAddress = "5DDY2yzh8uCysYFAiRSTeQVwtZSKNF49CkQkyPH852xvrYKk"; console.log("Recipient Address: ", destinationAddress); // Amount to transfer: 12 AVAIL const amount = new BN('12000000000000000000'); // 12 with 18 zeroes console.log("Transfer Amount: 12 AVAIL"); // Create transfer transaction const tx = sdk.tx.balances.transferKeepAlive(destinationAddress, amount); console.log("Submitting transfer transaction..."); // Execute and wait for inclusion const res = await tx.executeWaitForInclusion(account, {}); // Check if transaction was successful const isOk = res.isSuccessful(); if (isOk === undefined) { throw new Error("Cannot check if transaction was successful"); } else if (!isOk) { throw new Error("Transaction failed"); } console.log("Transfer completed successfully"); console.log(`Transaction Hash: ${res.txHash}`); console.log(`Block Hash: ${res.blockHash}`); console.log(`Block Number: ${res.blockNumber}`); process.exit(0); } // Execute the function transferKeepAlive();
  1. Run the code using:
terminal
ts-node your-file-name.ts
Last updated on