Skip to content

NFT相关接口

统计NFT信息 -- fetchIssuedNfts

显示所有已经存在的NFT,以及每类NFT的已发行,总量和持有钱包数量统计

方法签名

typescript
public async function fetchIssuedNfts(options: IFetchIssuerNftsOptions): Promise<IFetchIssuerNftsResponse>
public async function fetchIssuedNfts(options: IFetchIssuerNftsOptions): Promise<IFetchIssuerNftsResponse>

方法参数

typescript
{
  uuid: string;    // <必须传值> 随机的通用唯一识别码
  issuer: string;  // NFT发行方
  page: number;    // 页数,从0开始,缺省0
  size: PageSize;  // 每页显示条数,10/20/50/100四种选择,缺省20
}
{
  uuid: string;    // <必须传值> 随机的通用唯一识别码
  issuer: string;  // NFT发行方
  page: number;    // 页数,从0开始,缺省0
  size: PageSize;  // 每页显示条数,10/20/50/100四种选择,缺省20
}

返回结果格式

typescript
{
  code: string, // 查询结果是否成功标志
  msg: string,  // 查询结果是否成功的描述
  data: {       // 查询结果内容
    count: number;   // 查询结果总数
    nfts: [
      {
        fundCode: string;     // erc721通证
        issuer: string;       // erc721发行方
        flags: number;        // 发行有效标志,0有效,其他都是无效
        fundCodeName: string; // erc721通证名称
        count: number;        // erc721通证持有者人数
        destroy: number;      // erc721销毁总数
        issueCount: number;   // erc721流通总数
        issueDate: number;    // erc721发行日期
        totalCount: number;   // erc721可发行总量
      },
      // ...
    ];
  }          
}
{
  code: string, // 查询结果是否成功标志
  msg: string,  // 查询结果是否成功的描述
  data: {       // 查询结果内容
    count: number;   // 查询结果总数
    nfts: [
      {
        fundCode: string;     // erc721通证
        issuer: string;       // erc721发行方
        flags: number;        // 发行有效标志,0有效,其他都是无效
        fundCodeName: string; // erc721通证名称
        count: number;        // erc721通证持有者人数
        destroy: number;      // erc721销毁总数
        issueCount: number;   // erc721流通总数
        issueDate: number;    // erc721发行日期
        totalCount: number;   // erc721可发行总量
      },
      // ...
    ];
  }          
}

验证NFT通证是否存在 -- fetchNftsName

方法签名

typescript
public async function fetchNftsName(options: IFetchNftsNameOptions): Promise<IFetchNftsNameResponse | IFetchAllNftsNameResponse>
public async function fetchNftsName(options: IFetchNftsNameOptions): Promise<IFetchNftsNameResponse | IFetchAllNftsNameResponse>

方法参数

typescript
{
  uuid: string;      // <必须传值> 随机的通用唯一识别码
  tokenName: string; // erc721 通证名称 
}
{
  uuid: string;      // <必须传值> 随机的通用唯一识别码
  tokenName: string; // erc721 通证名称 
}

返回数据格式

typescript
// 传入tokenName时
{
  code: string, // 查询结果是否成功标志
  msg: string,  // 查询结果是否成功的描述
  data: {       // 查询结果内容
    tokenNames: {
      name: string;    // erc721名称
      issuer: string;  // erc721发行方
    }[];
  }
}

// 不传入传入tokenName时
{
  code: string, // 查询结果是否成功标志
  msg: string,  // 查询结果是否成功的描述
  data: {
    tokenNames: [
      {
        firstLetter: string;  // 名称首字母
        list: [
          {
            name: string;   // NFT 名称
            issuer: string; // NFT 发行方
          }
        ];
      }
    ];
  };
}
// 传入tokenName时
{
  code: string, // 查询结果是否成功标志
  msg: string,  // 查询结果是否成功的描述
  data: {       // 查询结果内容
    tokenNames: {
      name: string;    // erc721名称
      issuer: string;  // erc721发行方
    }[];
  }
}

// 不传入传入tokenName时
{
  code: string, // 查询结果是否成功标志
  msg: string,  // 查询结果是否成功的描述
  data: {
    tokenNames: [
      {
        firstLetter: string;  // 名称首字母
        list: [
          {
            name: string;   // NFT 名称
            issuer: string; // NFT 发行方
          }
        ];
      }
    ];
  };
}

验证NFT通证ID是否存在 -- fetchNftTokenId

方法签名

typescript
public async function fetchNftTokenId(options: IFetchNftTokenIdOptions): Promise<IFetchNftTokenIdResponse>
public async function fetchNftTokenId(options: IFetchNftTokenIdOptions): Promise<IFetchNftTokenIdResponse>

方法参数

typescript
{
  uuid: string;      // <必须传值> 随机的通用唯一识别码
  tokenId: string;   // <必须传值> erc721 tokenid
}
{
  uuid: string;      // <必须传值> 随机的通用唯一识别码
  tokenId: string;   // <必须传值> erc721 tokenid
}

返回数据格式

typescript
{
  code: string, // 查询结果是否成功标志
  msg: string,  // 查询结果是否成功的描述
  data: {       // 查询结果内容
    tokenIds: string[];
  }
}
{
  code: string, // 查询结果是否成功标志
  msg: string,  // 查询结果是否成功的描述
  data: {       // 查询结果内容
    tokenIds: string[];
  }
}

查询NFT通证转移记录 -- fetchNftTransfers

方法签名

typescript
public async function fetchNftTransfers(options: IFetchNftTransfersOptions): Promise<IFetchNftTransfersResponse>
public async function fetchNftTransfers(options: IFetchNftTransfersOptions): Promise<IFetchNftTransfersResponse>

方法参数

typescript
{
  uuid: string;              // <必须传值> 随机的通用唯一识别码
  address: string;           // <address与tokenId至少需要有一个传> 钱包地址
  tokenId: string;           // erc721 tokenid 
  type: NftTransactionType;  // 交易类型 TokenDel(删除)、TokenIssue(该类型仅在传入地址为管理员地址时有结果)、TokenIssueP(该类型仅当address被传参且为NFT发行方时有结果)、TransferToken(转移,交易方向为支付)、TransferTokenP(转移,交易方向为收到)
  page: number;              // 页数,从0开始,缺省0
  size: PageSize;            // 每页条数,缺省20,可选参数10/20/50/100
  beginTime: string;         // 开始时间,格式如"2023-9-1"
  endTime: string;           // 截止时间,格式同上
  counterparty: string;      // 交易对家
}
{
  uuid: string;              // <必须传值> 随机的通用唯一识别码
  address: string;           // <address与tokenId至少需要有一个传> 钱包地址
  tokenId: string;           // erc721 tokenid 
  type: NftTransactionType;  // 交易类型 TokenDel(删除)、TokenIssue(该类型仅在传入地址为管理员地址时有结果)、TokenIssueP(该类型仅当address被传参且为NFT发行方时有结果)、TransferToken(转移,交易方向为支付)、TransferTokenP(转移,交易方向为收到)
  page: number;              // 页数,从0开始,缺省0
  size: PageSize;            // 每页条数,缺省20,可选参数10/20/50/100
  beginTime: string;         // 开始时间,格式如"2023-9-1"
  endTime: string;           // 截止时间,格式同上
  counterparty: string;      // 交易对家
}

返回数据格式

typescript
{
  code: string, // 查询结果是否成功标志
  msg: string,  // 查询结果是否成功的描述
  data: {       // 查询结果内容
    count: number;  // 查询结果总数
    transfers: [    // NFT转移历史记录
      {
        wallet: string;         //
        type: string;           //
        time: number;           // 交易发生时间
        hash: string;           // 交易哈希
        block: number;          // 交易发生所在的区块高度
        fee: string;            // 交易手续费,当交易类型为TransferTokenP时为“”
        success: string;        // 交易是否成功,“tesSUCCESS”为成功
        seq: number;            // 交易序列号
        offer: number;          // 
        index: number;          // 
        tokenId: string;        // 通证ID
        flags: number;          // 发行生效标志
        fundCode: string;       // erc721通证
        fundCodeName: string;   // erc721通证名称
        issuer: string;         // 发行方
        lowNode: string;        // 
        tokenInfos: unknown[];  // 该通证id的所有属性
        tokenOwner: string;     // 通证接受者
        tokenSender: string;    // 通证发送者
      },
      // ...
    ];
}
{
  code: string, // 查询结果是否成功标志
  msg: string,  // 查询结果是否成功的描述
  data: {       // 查询结果内容
    count: number;  // 查询结果总数
    transfers: [    // NFT转移历史记录
      {
        wallet: string;         //
        type: string;           //
        time: number;           // 交易发生时间
        hash: string;           // 交易哈希
        block: number;          // 交易发生所在的区块高度
        fee: string;            // 交易手续费,当交易类型为TransferTokenP时为“”
        success: string;        // 交易是否成功,“tesSUCCESS”为成功
        seq: number;            // 交易序列号
        offer: number;          // 
        index: number;          // 
        tokenId: string;        // 通证ID
        flags: number;          // 发行生效标志
        fundCode: string;       // erc721通证
        fundCodeName: string;   // erc721通证名称
        issuer: string;         // 发行方
        lowNode: string;        // 
        tokenInfos: unknown[];  // 该通证id的所有属性
        tokenOwner: string;     // 通证接受者
        tokenSender: string;    // 通证发送者
      },
      // ...
    ];
}

查询NFT发行状况 -- fetchNftConfigs

方法签名

typescript
public async function fetchNftConfigs(options: IFetchNftConfigsRequest): Promise<IFetchNftConfigResponse>
public async function fetchNftConfigs(options: IFetchNftConfigsRequest): Promise<IFetchNftConfigResponse>

方法参数

typescript
{
  uuid: string;              // <必须传值> 随机的通用唯一识别码
  fundCodeName: string;      // NFT名称
  issuer: string;            // NFT发行方地址
}
{
  uuid: string;              // <必须传值> 随机的通用唯一识别码
  fundCodeName: string;      // NFT名称
  issuer: string;            // NFT发行方地址
}

返回数据格式

typescript
{
  code: string, // 查询结果是否成功标志
  msg: string,  // 查询结果是否成功的描述
  data: {       // 查询结果内容
    nfts: [
      {
        fundCode: string;        // erc721通证
        issuer: string;          // NFT发行方
        flags: number;           // 发行有效标志,0有效,其他都是无效
        fundCodeName: string;    // NFT名称
        ledgerIndex: string;     // 
        tokenIssued: string;     // 当前流通总数(不包含已销毁)
        tokenSize: string;       // 发行总量
        hash: string;            // NFT最新一次交易的哈希
        issuerAccountId: string; // NFT发行管理员
        issuerTime: number;      // 发行时间
      },
      // ...
    ]
  }
}
{
  code: string, // 查询结果是否成功标志
  msg: string,  // 查询结果是否成功的描述
  data: {       // 查询结果内容
    nfts: [
      {
        fundCode: string;        // erc721通证
        issuer: string;          // NFT发行方
        flags: number;           // 发行有效标志,0有效,其他都是无效
        fundCodeName: string;    // NFT名称
        ledgerIndex: string;     // 
        tokenIssued: string;     // 当前流通总数(不包含已销毁)
        tokenSize: string;       // 发行总量
        hash: string;            // NFT最新一次交易的哈希
        issuerAccountId: string; // NFT发行管理员
        issuerTime: number;      // 发行时间
      },
      // ...
    ]
  }
}

查询NFT最新状态(发行、流通、销毁) -- fetchNftTokenInfo

方法签名

typescript
public async function fetchNftTokenInfo(options: IFetchNftTokenInfoRequest): Promise<IFetchNftTokenInfoResponse>
public async function fetchNftTokenInfo(options: IFetchNftTokenInfoRequest): Promise<IFetchNftTokenInfoResponse>

方法参数

typescript
{
  uuid: string;           // <必须传值> 随机的通用唯一识别码
  tokenId: string;        // erc721 tokenid
  address: string;        // 拥有721通证的地址
  issuer: string;         // NFT发行方地址
  fundCodeName: string;   // NFT名称
  valid: NFTStatus;       // NFT是否有效 1-有效 0-无效 缺省全部
  page: number;           // 页数,从0开始
  size: PageSize;         // 每页条数,缺省20,可选10,20,50,100
}
// 注: tokenId、address、issuer、fundCodeName至少需要传入一个,当传入多个参数时仅有被传入的第一个参数生效
{
  uuid: string;           // <必须传值> 随机的通用唯一识别码
  tokenId: string;        // erc721 tokenid
  address: string;        // 拥有721通证的地址
  issuer: string;         // NFT发行方地址
  fundCodeName: string;   // NFT名称
  valid: NFTStatus;       // NFT是否有效 1-有效 0-无效 缺省全部
  page: number;           // 页数,从0开始
  size: PageSize;         // 每页条数,缺省20,可选10,20,50,100
}
// 注: tokenId、address、issuer、fundCodeName至少需要传入一个,当传入多个参数时仅有被传入的第一个参数生效

返回数据格式

typescript
{
  code: string, // 查询结果是否成功标志
  msg: string,  // 查询结果是否成功的描述
  data: {       // 查询结果内容
  	count: number; // 查询结果总数
    nfts: [
      {
        tokenId: string;        // 通证id
        flags: number;          // 发行有效标志,0有效,其他都是无效
        fundCode: string;       // NFTcode
        fundCodeName: string;   // NFT名称
        issuer: string;         // NFT发行方
        ledgerIndex: string;    // 
        lowNode: string;        // 
        tokenInfos: unknown[];  // 该通证id的所有属性
        tokenOwner: string;     // 通证接收者
        tokenSender: string;    // 通证发送者
        block: number;          // 交易发生所在的区块高度
        hash: string;           // 通证最新一次交易的哈希
        index: number;          // 
        inservice: number;      // 
        issuerTime: number;     // 通证发行时间
        time: number;           // 最新交易时间
        type: string;           // 交易类型
      },
      // ...
    ];
  }
}
{
  code: string, // 查询结果是否成功标志
  msg: string,  // 查询结果是否成功的描述
  data: {       // 查询结果内容
  	count: number; // 查询结果总数
    nfts: [
      {
        tokenId: string;        // 通证id
        flags: number;          // 发行有效标志,0有效,其他都是无效
        fundCode: string;       // NFTcode
        fundCodeName: string;   // NFT名称
        issuer: string;         // NFT发行方
        ledgerIndex: string;    // 
        lowNode: string;        // 
        tokenInfos: unknown[];  // 该通证id的所有属性
        tokenOwner: string;     // 通证接收者
        tokenSender: string;    // 通证发送者
        block: number;          // 交易发生所在的区块高度
        hash: string;           // 通证最新一次交易的哈希
        index: number;          // 
        inservice: number;      // 
        issuerTime: number;     // 通证发行时间
        time: number;           // 最新交易时间
        type: string;           // 交易类型
      },
      // ...
    ];
  }
}

Released under the MIT License.