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());