跳到正文

sendTransaction · NFT ​

返回 sendTransaction 总览

覆盖集合创建、NFT 创建和 NFT 转移。

COLLECTION_CREATE ​

创建新的 NFT 集合。

ts
const params = [
  {
    flag: "COLLECTION_CREATE",    // 必填
    collection_data: "",          // 必填,JSON 格式的 CollectionData
    broadcastEnabled: true,       // 可选,默认 true
  },
];

const { txid } = await Turing.sendTransaction(params);
// const { txraw } = await Turing.sendTransaction(params); // broadcastEnabled 为 false 时
// const { error } = await Turing.sendTransaction(params); // 发生错误时

NFT_CREATE ​

创建新的 NFT。

ts
const params = [
  {
    flag: "NFT_CREATE",           // 必填
    collection_id: "",            // 必填,集合 ID
    nft_data: "",                 // 必填,JSON 格式的 NFTData
    broadcastEnabled: true,       // 可选,默认 true
  },
];

const { txid } = await Turing.sendTransaction(params);
// const { txraw } = await Turing.sendTransaction(params); // broadcastEnabled 为 false 时
// const { error } = await Turing.sendTransaction(params); // 发生错误时

NFTData 与 attributes ​

nft_data 是序列化后的 JSON 字符串,其中 attributes 仍是一个 JSON 对象字符串,用来保存 NFT 的自定义元数据,例如类别、稀有度或业务标签。没有额外属性时填写 "{}"。

ts
const nftData = {
  nftName: "Turing Cat #1",
  symbol: "TCAT",
  description: "Turing Cat collection item",
  attributes: JSON.stringify({
    category: "Art",
    rarity: "Rare",
    generation: 1,
  }),
  file: "...", // 图片 Data URL 或业务约定的文件数据
};

const params = [{
  flag: "NFT_CREATE",
  collection_id: "当前网络 COLLECTION_CREATE 返回的交易 ID",
  nft_data: JSON.stringify(nftData),
  broadcastEnabled: false,
}];

NFT_TRANSFER ​

将 NFT 转移到另一个地址。

钱包会根据链上 NFT 输出自动识别 v0、v1 或 v2,并选择对应的转移方法。DApp 不需要传 NFT 版本参数。

ts
const params = [
  {
    flag: "NFT_TRANSFER",         // 必填
    nft_contract_address: "",     // 必填,NFT 合约地址
    address: "",                  // 必填,接收地址
    broadcastEnabled: true,       // 可选,默认 true
  },
];

const { txid } = await Turing.sendTransaction(params);
// const { txraw } = await Turing.sendTransaction(params); // broadcastEnabled 为 false 时
// const { error } = await Turing.sendTransaction(params); // 发生错误时

在线示例 ​

在线示例

Turing.sendTransaction() / NFT

正在检测钱包...

当前钱包网络为 未知,此方法需要 TBC。请切换钱包网络后重试。

已填充图片数据支持图片文件,源文件不超过 5 MiB;必要时自动压缩并同步到 JSON。

表单与 JSON 实时同步;依赖链上资源的交易 ID 需填写当前网络中的真实值。

正在检测钱包...
代码预览