Minting and burning
To mint tokens, you can use the
nft_batch_mint
method:function nft_batch_mint(
owner_id: string,
metadata: TokenMetadata,
num_to_mint: number,
royalty_args: RoyaltyArgs | null,
split_owners: PayoutsMap | null
);
type PayoutsMap = Record<string, number>;
type RoyaltyArgs = {
split_between: PayoutsMap;
percentage: number;
};
- Due to gas limitations, you cannot mint more than 125 tokens at once.
- The
PayoutsMap
maps from NEAR account IDs to percentages, where each percentage is expressed as an integer between 0 and 10000 (inclusive), where 10000 is equivalent to 100% - As with the
PaymoutsMap
, thepercentage
inRoyaltyArgs
is expressed as a number between 0 and 10000 - Any allowed minter can call this, once they have verified their identity by attaching at least one yoctoNEAR to this method call. You may wish to attach more to cover required storage deposits, as minting increases storage requirements for the contract. The method will not check if sufficient deposits have been made, and it is the responsibility of the store owner and minters to keep their smart contracts sufficiently funded!
To burn tokens, you can use the
nft_batch_burn
method:function nft_batch_burn(token_ids: Array<string>);
This will remove the token from the on-chain storage! This means you can no longer use methos such as
nft_token
with this token ID, but storage requirements are being decreased by burning. To verify your identity, you are required to attach one yoctoNEAR to the method call.Last modified 10mo ago