For various reasons, users may wish to transfer their assets from one wallet to another, for example, to send assets as gifts.
Initialize SDK
You need to initialize the SDK in order to use it.
Create transfer
All NFT transactions will be confirmed by Zecrey. Zecrey will ensure that it is submitted to L1 once the transaction is confirmed.
Parameters needed:
Parameter usage and meaning
The account name used to initialize the client
The user's L2 seed used to initialize the client
The receiver's account name
Golang Javascript
Example
TransferNft
allows users to change the owner of NFT. However, the creator of the NFT will never change. Each time an NFT is transferred, the creator will receive a royalty, which is calculated by the NFT's TreasuryRate
set by its creator.
Alice transfers to Bob the NFT with NftId
= 6
Copy package main
import (
"fmt"
"github.com/Zecrey-Labs/zecrey-marketplace-go-sdk/sdk"
)
func main () {
var NftId int64 = 6
accountName := "Alice"
seed := "0x6a1a320d14790f2d9aa9a37769f4833d583a3f7f974fd452a3990aeb0e7a6052"
toAccountName := "Bob"
c, err := sdk. NewClient (accountName, seed)
if err != nil { panic (err) }
result, err := c. TransferNft (NftId, toAccountName)
if err != nil { panic (err) }
data, _ := json. Marshal (result)
fmt. Println ( "TransferNft:" , string (data))
}
Example result
Copy TransferNft: { "success" : true }
Example
TransferNft allows users to change the owner of NFT. However, the creator of the NFT will never change. Each time an NFT is transferred, the creator will receive a royalty, which is calculated by the NFT's TreasuryRate set by its creator.
Alice transfers to Bob the NFT with NftId
= 6
With the private key:
Copy import { Client } from "@zecrey/zecrey-legend-js-sdk" ;
const account_name = "Alice.zec" ;
const seed = "ee823a72698fd05c70fbdf36ba2ea467d33cf628c94ef030383efcb39581e43f" ;
const client = new Client (account_name , seed);
await client .initialize ();
const nft_id = 6 ;
const to_account_name = "Bob.zec" ;
const res = await client .transferNft (nft_id , to_account_name);
console .log ( "success" , res);
With the wallet:
Copy import { SDK } from "@zecrey/zecrey-legend-js-sdk" ;
const sdk = new SDK ();
await sdk .initial ();
const account_name = "Alice.zec" ; // sender's account name
const account_index = 14 ; // sender's account index
const nft_id = 6 ;
const to_account_name = "Bob.zec" ;
const res = await sdk .transferNft (account_name , account_index , nft_id , to_account_name);
console .log ( "success" , res);
Example result