Transfer an NFT

Ternoa provides you with many NFT features. Not only creating an NFT can be done in just a few lines of code but we also cover many NFT basic use cases: Ternoa allows you to easily create functions to delegate, transfer, burn an NFT, or even set the NFT royalty without using any smart contracts.

Prerequisites

Before getting started, make sure you have the following ready:

  1. Create a Ternoa account with Alphanet CAPS

  2. Install and set up your editor of choice (we will use Visual Studio Code [VSC] in this tutorial)

  3. Install NodeJS v.14+ & NPM

How to transfer an NFT using Ternoa-JS

The transferNft helper transfers an NFT from the Ternoa chain. It returns an object promise containing the NFTTransferredEvent provided by the Ternoa blockchain. Use your own account by updating the //TernoaTestAccount with your account seed when retrieving the keyring from the example below. Replace the NFT_ID variable with the NFT ID you want to transfer.

import { transferNft, getKeyringFromSeed, WaitUntil } from "ternoa-js";

const main = async () => {
	try {
		// The known accounts we want to use
		const keyring = await getKeyringFromSeed("//TernoaTestAccount");
		const TO_ADDRESS = "RECIPIENT_ADDRESS";

		// The NFT id to transfer
		const NFT_ID = NFT_ID;

		const nftData = await transferNft(
			NFT_ID,
			TO_ADDRESS,
			keyring,
			WaitUntil.BlockInclusion
		);
		console.log(`NFT ${nftData.nftId} transferred`);
	} catch (e) {
		console.error(e);
	}
};

The expected params

`id`: The ID of the NFT to transfer.
`recipient`: The recipient's address.
`keyring`: The provided keyring (containing the address) will be used to sign the transaction and pay the execution fee.
`waitUntil`: WaitUntil defines at which point we want to get the results of the transaction execution: BlockInclusion or BlockFinalization.

Response

The response provided from the blockchain event includes all the information below according to the parameters provided when transferring the NFT.

`nftId`: ID of the transferred NFT.
`sender`: The sender's address.
`recipient`: The recipient's address.

Support

If you face any trouble, feel free to reach out to our community engineers in our Discord.

Last updated