How to add or remove a bid on an auction
Prerequisites
Before getting started, make sure you have the following ready:
- Create a Ternoa account with Alphanet CAPS
- Install and set up your editor of choice (we will use Visual Studio Code [VSC] in this tutorial)
- Install NodeJS v.14+ & NPM
- Install & initialize Ternoa-JS
Bid on an auction using Ternoa-JS
This function adds a bid to an existing auction NFT on the Ternoa chain. It returns an object promise containing the BidAddedEvent 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 with the existing one to bid on, and the bidAmount.
import {
addBid,
initializeApi,
getKeyringFromSeed,
WaitUntil,
} from "ternoa-js";
const auctionBid = async () => {
try {
await initializeApi();
const keyring = await getKeyringFromSeed("//TernoaTestAccount");
const NFT_ID = // update with the nft id you want to bid on.
const bidAmount = // update with the amount to bid.
const res = await addBid(
NFT_ID,
bidAmount,
keyring,
WaitUntil.BlockInclusion
);
console.log(`Bid added to NFT ${res.nftId} for ${res.amountRounded}CAPS`);
} catch (e) {
console.error(e);
}
};
The expected params
`nftId`: The ID of the auctioned NFT.
`amount`: Rhe amount to bid.
`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 bidding on an auction.
`nftId`: NFT id auctioned.
`bidder`: The bidder's address.
`amount`: The amount bid as a string corresponding to the value in a big number.
`amountRounded`: The amount bid as a number.
Remove a bid using Ternoa-JS
This function removes a bid from an auction on the Ternoa chain. It returns an object promise containing the BidRemovedEvent 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 with the existing one to remove the bid.
import {
removeBid,
initializeApi,
getKeyringFromSeed,
WaitUntil,
} from "ternoa-js";
const auctionBidRemoved = async () => {
try {
await initializeApi();
const keyring = await getKeyringFromSeed("//TernoaTestAccount");
const NFT_ID = // update with the nft id you want to remove the bid.
const res = await removeBid(
NFT_ID,
keyring,
WaitUntil.BlockInclusion
);
console.log(`Bid removed from NFT ${res.nftId}`);
} catch (e) {
console.error(e);
}
};
The expected params
`nftId`: The ID of the auctioned NFT.
`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 removing a bid.
`nftId`: NFT id auctioned.
`bidder`: The bidder address who removed the bid.
`amount`: The bid amount removed as a string corresponding to the value in a big number.
`amountRounded`: The bid amount is removed as a number.
Support
If you face any trouble, feel free to reach out to our community engineers in our Discord.