Transfer NFTs
- OTR
- HTTPS
To transfer NFTs, you must call transfer on dataset(Dataset.NFT).
transfer takes an object of type NftTransferTangleRequest as parameter.
const otrRequest = otr(otrAddress)
.dataset(Dataset.NFT)
.transfer({
transfers: [
{ nft: 'build5nftid', target: 'build5memberid' },
{ nft: 'build5nftid', target: 'tangleaddress' },
],
});
transfer returns an oject of type OtrRequest<NftTransferTangleRequest>.
OTR Request Deep Link
The SDK provides the helper functions getFireflyDeepLink() and getBloomDeepLink() to generate deep links for OTR requests.
To transfer NFTs, you must call transfer on dataset(Dataset.NFT).
transfer takes an object of type NftTransferRequest as parameter.
const response = await https(origin)
.project(SoonaverseApiKey[origin])
.dataset(Dataset.NFT)
.transfer({
address: address.bech32,
signature: signature.signature,
publicKey: {
hex: signature.publicKey,
network: Network.RMS,
},
body: {
transfers: [
{ nft: 'build5nftid', target: 'build5memberid' },
{ nft: 'build5nftid', target: 'tangleaddress' },
],
},
});
transfer returns an map of transfered NFT IDs and there status/error code.
Full How-To Code
- OTR
- HTTPS
import { Dataset } from '@build-5/interfaces';
import { Build5, SoonaverseOtrAddress, otr } from '@build-5/sdk';
const origin = Build5.TEST;
// @ts-ignore
const otrAddress = SoonaverseOtrAddress[origin];
async function main() {
const otrRequest = otr(otrAddress)
.dataset(Dataset.NFT)
.transfer({
transfers: [
{ nft: 'build5nftid', target: 'build5memberid' },
{ nft: 'build5nftid', target: 'tangleaddress' },
],
});
const fireflyDeeplink = otrRequest.getFireflyDeepLink();
console.log('Sent amount with ', fireflyDeeplink);
}
main().then(() => process.exit());
import { Dataset, Network } from '@build-5/interfaces';
import { Build5, SoonaverseApiKey, https } from '@build-5/sdk';
import { address } from '../../utils/secret';
import { walletSign } from '../../utils/utils';
async function main() {
const origin = Build5.TEST;
const member = await https(origin).createMember({
address: address.bech32,
signature: '',
body: {
address: address.bech32,
},
});
try {
const signature = await walletSign(member.uid, address);
const response = await https(origin)
.project(SoonaverseApiKey[origin])
.dataset(Dataset.NFT)
.transfer({
address: address.bech32,
signature: signature.signature,
publicKey: {
hex: signature.publicKey,
network: Network.RMS,
},
body: {
transfers: [
{ nft: 'build5nftid', target: 'build5memberid' },
{ nft: 'build5nftid', target: 'tangleaddress' },
],
},
});
console.log(response);
} catch (e) {
console.log(e);
return;
}
}
main().then(() => process.exit());