华为云用户手册

  • 设置数字资产授权用户 指定某个数字资产的授权用户,授权用户拥有转移数字资产的权利。每个tokenId只可有一个授权用户。开发者可根据业务需要使用,例如设置代理操作员,无需所有者实时响应等。 调用方法 Approve(collectionIndex, operator, tokenId string) (string,error) 参数说明 参数 类型 说明 collectionIndex String 必填参数,集合唯一标识符,不能重复。 以字母开头,支持字母、数字。 长度[3-32]。 operator String 必填参数,被授权的用户身份标识符。 tokenId String 必填参数,数字资产编号。同一集合内不能重复,取值范围[0,2^64)。 返回值 类型 说明 string 返回上链交易编号,txid。 error 错误对象,包含错误原因,为空代表成功。 父主题: ERC721业务接口
  • 响应参数 状态码: 200 表1 响应Body参数 参数 参数类型 描述 nft_publish_total Integer NFT总发行量 nft_transfer_total Integer NFT总流转量 block_height Integer 最新区块高度 tx_total Integer 总交易量 状态码: 400 表2 响应Body参数 参数 参数类型 描述 error_code String 错误码 最小长度:1 最大长度:36 error_msg String 错误描述 最小长度:1 最大长度:512
  • 响应参数 状态码: 200 表2 响应Body参数 参数 参数类型 描述 count Integer 区块中交易总数 txs Array of Transaction objects 交易列表 表3 Transaction 参数 参数类型 描述 tx_id String 交易id type String 交易类型COMMON_TRANSACTION:普通交易,VOTE_TRANSACTION:投票交易 枚举值: COMMON_TRANSACTION VOTE_TRANSACTION block_id Integer 区块号 creator String 创建者 create_time String 创建时间 chaincode_name String 合约名称 endorsor_orgs Array of strings 背书组织 read_set Array of Readset objects 读集 write_set Array of Writeset objects 写集 表4 Readset 参数 参数类型 描述 key String key值 version Array of Version objects 版本信息 表5 Version 参数 参数类型 描述 block_num Integer 区块号 tx_num String 交易编号 表6 Writeset 参数 参数类型 描述 key String 键 value Array of strings 值 signature Array of strings 签名 状态码: 400 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述
  • 查询可组合资产的根所有者 遍历查询可组合资产的父所有者,获得可组合资产的根所有者。 调用方法 RootOwnerOf(collectionIndex, tokenId string)(string,error) 参数说明 参数 类型 说明 collectionIndex string 必填参数,可组合资产的集合唯一标识符,不能重复。以字母开头,支持字母、数字。长度[3-32]。 tokenId string 必填参数,可组合资产的数字资产编号。同一集合内不能重复,取值范围[0,2^64)。 返回值 类型 说明 string 根所有者的身份标识符,例如地址。 error 错误对象,包含错误原因,为空代表成功。 父主题: ERC998业务接口
  • 设置资产流转限制 创建者有权限修改集合内数字资产的流转限制,包括流转次数和每次流转之间的间隔天数。例如,希望每个资产仅可以流转2次,每次流转间隔时间需大于100天,可以设置times=2,duration=100。 调用方法 SetCollectionLimit(collectionIndex string, times, duration int)(string,error) 参数说明 参数 类型 说明 collectionIndex String 必填参数,集合唯一标识符,不能重复。 以字母开头,支持字母、数字。 长度[3-32]。 times Int 必填参数,流转次数[0-1000],0表示不限制。 duration Int 必填参数,流转间隔天数[0-1000],0表示不限制 (当前参数未启用,设置不生效,后续版本支持) 。 返回值 类型 说明 string 返回上链交易编号,txid。 error 错误对象,包含错误原因,为空代表成功。 父主题: 通用接口
  • 批量转移数字资产所有权 批量转移不同/相同资产集合中若干数字资产的所有权,从from转移到to用户。 调用方法 SafeBatchTransferFrom(from, to string, ids []ID)(string,error) 参数说明 参数 类型 说明 from String 必填参数,所有者身份标识符。 to String 必填参数,接受者身份标识符。 ids []ID 必填参数,批量转移的数字资产标识数组,最大支持5000个数字资产的批量流转。 返回值 类型 说明 string 返回上链交易编号,txid。 error 错误对象,包含错误原因,为空代表成功。 父主题: ERC1155业务接口
  • 查询用户拥有的数字资产 查询指定资产集合下,用户所拥有的数字资产。 仅专享版支持该接口调用。 调用方法 Account(collectionIndex, identity string) ([]string, error) 参数说明 参数 类型 说明 collectionIndex String 必填参数,集合唯一标识符,不能重复。 以字母开头,支持字母、数字。 长度[3-32]。 identity String 必填参数, 用户身份标识。 返回值 类型 说明 []string 返回拥有的数字资产标识列表。 error 错误对象,包含错误原因,为空代表成功。 父主题: ERC721业务接口
  • 查询数字资产所有者 根据集合标识和资产标识符查询其所有者。 调用方法 public String ownerOf(String collectionIndex, String tokenId) throws Exception 参数说明 参数 类型 说明 collectionIndex String 必填参数,集合唯一标识符,不能重复。 以字母开头,支持字母、数字。 长度[3-32]。 tokenId String 必填参数,数字资产编号。同一集合内不能重复,取值范围[0,2^64)。 返回值 类型 说明 string 所有者身份标识符,例如地址、数字资产标识。 父主题: ERC721业务接口
  • 创建数字资产集合 集合包括Name和Symbol,可调用SetOption方法设置。每一个集合中可包含0个或无限个数字资产。每个数字资产对应一个唯一的tokenId。 调用方法 public function createNFTCollection(string $collectionIndex) throws Exception 参数说明 参数 类型 说明 collectionIndex String 必填参数,集合唯一标识符,不能重复。 以字母开头,支持字母、数字。 长度[3-32]。 返回值 类型 说明 string 返回上链交易编号,txid。 父主题: 通用接口
  • SDK逻辑结构 SDK主要提供身份管理、数字资产管理模块及相应的配套组件。基于业界标准实现 区块链 上的数字资产管理模块,包括ERC721协议、ERC1155协议、ERC165协议、ERC998协议等功能接口,客户可根据业务需求使用一种或多种标准协议管理数字资产。配套组件主要包含秘钥生成&证书签发、配置文件解析、加密通讯等功能接口。 秘钥生成&证书签发 数字资产的铸造和流转都需要基于区块链上的用户。每个用户都有一套对应的证书和私钥,可以真正保护自己的资产所有权。SDK提供接口,用户在配置文件中配入组织CA的私钥,即可本地生成用户秘钥和与之对应的用户证书。 身份管理 链上用户支持以下身份标识符: 地址标识:通用模式。地址由用户公钥计算得到,在链上标识用户身份,完成数字资产管理。 数字资产集合管理 数字资产集合用于标识一类相似的数字资产,每一个数字资产都需要归属于某一个资产集合。数字资产集合的创建者可以管理集合信息,并在集合下铸造数字资产,他人可以查询集合信息。主要接口功能包括(详细参看接口列表): 创建数字资产集合(collection):每一个集合中包含0个或多个数字资产。 修改集合信息:创建者可以修改集合的名称和缩写。 查询资产集合的名称:通过集合标识查询集合名称。 查询资产集合的缩写:通过集合标识查询集合缩写。 获取数字资产集合列表:通过该接口查询区块链上所有集合的标识。 ERC721协议 根据业界标准实现了满足ERC721协议的接口,可通过该协议接口进行单一集合的数字资产管理。主要接口功能包括: 铸造数字资产(tokenId):每个数字资产必须归属于某个“资产集合”,编号从0开始。资产类型包括图片、视频、音频、3D模型等。 数字资产流转:数字资产的所有权可以在用户身份标识之间流转。 设置资产授权用户:所有者可为每个数字资产指定一个授权用户,授权用户拥有数字资产的流转操作权限。 设置集合级授权用户:所有者可为某个“资产集合”指定一个授权用户,授权用户拥有该集合下所有者的每个数字资产的流转操作权限。 查询数字资产:根据用户或者数字资产标识查询资产详情。 ERC1155协议 根据业界标准实现了满足ERC1155协议的接口,可通过该协议接口进行多集合的数字资产管理,并且相较于ERC721接口,提供了批量操作数字资产的能力。主要接口功能包括: 批量铸造数字资产:为某个“资产集合”,批量铸造1个或多个数字资产。 批量流转数字资产:所有者可以流转属于不同或相同集合的若干个数字资产的所有权。 批量查询数字资产所有权:批量查询多个用户是否拥有相对应的数字资产的所有权。 设置用户级授权用户:用户可指定一个授权用户,授权用户拥有任意“资产集合”下该用户拥有的数字资产的流转操作权限。 ERC998协议 根据业界标准实现了满足ERC998协议的接口,可通过该协议接口让一个可组合数字资产拥有其它若干数字资产,转移可组合数字资产就是转移其所拥有的整个层级结构和所属关系。主要接口功能包括: 铸造可组合资产:为某个“资产集合”,铸造一个可组合资产,其为一种拥有”特殊能力”的资产,除此之外与其它资产并无区别,亦可调用ERC721或ERC1155协议进行数字资产管理。 加入可组合资产:数字资产的所有者可将该资产加入到某一集合下的可组合资产中。 拆分子资产给用户:可组合资产的所有者可将其中的子资产转移给其它用户。 拆分子资产给其它可组合资产:可组合资产的所有者可将其中的子资产转移给其它可组合资产。 配置文件管理 配置可通过数字资产链控制台下载获取,内容参见图1。 登录数字资产链控制台。 左侧导航栏选择“调用指南”,在调用指南页面,单击“配置文件下载”。 输入证书存放路径,单击“下载”。 client:SDK客户端与数字资产服务通过https链接,需要配置服务器签发的tls证书及秘钥,请妥善保管。 identities:数字资产用户列表,开发者可通过“秘钥生成&证书签发”接口生成任意个用户,并将绝对路径填入配置文件(用户名可自定义)。 service:数字资产平台服务端地址。 chainCfg:区块链相关配置。 orgCa::组织Ca的信息,用于签发用户证书。 图1 数字资产平台SDK配置文件 conf.yaml
  • 查询数字资产是否铸造 查询指定资产集合下,数字资产标识tokenId是否被铸造。 调用方法 IsMinted(collectionIndex, tokenId string)(bool, error) 参数说明 参数 类型 说明 collectionIndex String 必填参数,集合唯一标识符,不能重复。 以字母开头,支持字母、数字。 长度[3-32]。 tokenId String 必填参数,数字资产编号。同一集合内不能重复,取值范围[0,2^64)。 返回值 类型 说明 bool 已铸造返回“true”,未铸造返回“false”。 error 错误对象,包含错误原因,为空代表成功。 父主题: ERC721业务接口
  • 查询可组合资产拥有的子资产 根据子资产集合名和子资产索引查询可组合资产拥有的子资产的数字资产编号。 调用方法 public String childTokenByIndex(String collectionIndex, String tokenId,String childCollectionIndex,String index) throws Exception 参数说明 参数 类型 说明 collectionIndex string 必填参数,可组合资产的集合唯一标识符,不能重复。以字母开头,支持字母、数字。长度[3-32]。 tokenId string 必填参数,可组合资产的数字资产编号。同一集合内不能重复,取值范围[0,2^64)。 childCollectionIndex string 必填参数,子资产的集合唯一标识符,不能重复。以字母开头,支持字母、数字。长度[3-32]。 index string 必填参数,在指定子资产集合名中子资产的索引,字符串类型的数字 , 数字的取值范围为[0,n),n为接口1.3.6.10-查询可组合资产拥有某一集合下子资产数量查询结果。 返回值 类型 说明 string 子资产的数字资产编号。 父主题: ERC998业务接口
  • 查询数字资产授权用户 根据集合标识和数字资产标识符查询某个数字资产的授权用户。 调用方法 GetApproved(collectionIndex, tokenId string) (string, error) 参数说明 参数 类型 说明 collectionIndex String 必填参数,集合唯一标识符,不能重复。 以字母开头,支持字母、数字。 长度[3-32]。 tokenId String 必填参数,数字资产编号。同一集合内不能重复,取值范围[0,2^64)。 返回值 类型 说明 string 被授权的用户身份标识符。 error 错误对象,包含错误原因,为空代表成功。 父主题: ERC721业务接口
  • 监管者注销数字资产 为了满足特殊场景和监管需求,监管者可以销毁指定资产集合中的数字资产。每个租户的管理CA身份默认为监管者。 仅共享版支持该接口调用。 调用方法 SupervisorBurn(collectionIndex, tokenId string) (string, error) 参数说明 参数 类型 说明 collectionIndex String 必填参数,集合唯一标识符,不能重复。 以字母开头,支持字母、数字。 长度[3-32]。 tokenId String 必填参数,数字资产编号。同一集合内不能重复,取值范围[0,2^64)。 返回值 类型 说明 string 返回销毁交易编号,txid。 error 错误对象,包含错误原因,为空代表成功。 父主题: ERC721业务接口
  • 响应参数 状态码: 200 表2 响应Body参数 参数 参数类型 描述 count Integer 区块数量 blocks Array of Block objects 区块列表 表3 Block 参数 参数类型 描述 id Integer 区块编号 txs_count Integer 交易数量 data_hash String 区块体哈希 pre_hash String 前一区块体哈希 time String 区块生成时间 txs Array of Transaction objects 交易集合 表4 Transaction 参数 参数类型 描述 tx_id String 交易id type String 交易类型COMMON_TRANSACTION:普通交易,VOTE_TRANSACTION:投票交易 枚举值: COMMON_TRANSACTION VOTE_TRANSACTION block_id Integer 区块号 creator String 创建者 create_time String 创建时间 chaincode_name String 合约名称 endorsor_orgs Array of strings 背书组织 read_set Array of Readset objects 读集 write_set Array of Writeset objects 写集 表5 Readset 参数 参数类型 描述 key String key值 version Array of Version objects 版本信息 表6 Version 参数 参数类型 描述 block_num Integer 区块号 tx_num String 交易编号 表7 Writeset 参数 参数类型 描述 key String 键 value Array of strings 值 signature Array of strings 签名 状态码: 400 表8 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述
  • 查询用户级授权用户 查询owner用户是否对operator开启用户级授权。 调用方法 public boolean isAppravedForAll(String owner, String operator) throws Exception 参数说明 参数 类型 说明 owner String 必填参数,所有者身份标识。 operator String 必填参数,被授权用户身份标识符。 返回值 类型 说明 bool 开启为“true”,未开启为“false”。 父主题: ERC1155业务接口
  • 监管者注销数字资产 为了满足特殊场景和监管需求,监管者可以销毁指定资产集合中的数字资产。每个租户的管理CA身份默认为监管者。 仅共享版支持该接口调用。 调用方法 public function supervisorBurn(string $collectionIndex, string $tokenId) throws Exception 参数说明 参数 类型 说明 collectionIndex String 必填参数,集合唯一标识符,不能重复。 以字母开头,支持字母、数字。 长度[3-32]。 tokenId String 必填参数,数字资产编号。同一集合内不能重复,取值范围[0,2^63)。 返回值 类型 说明 string 返回销毁交易编号,txid。 父主题: ERC721业务接口
  • 创建图片Metadata 工具方法,帮助生成metadata对象,获得对象后开发者可以自定义设置properties属性。 调用方法 public Metadata newImageMetadata(byte[] image, String name, String url, String description, int category) throws Exception 参数说明 参数 类型 说明 image []Byte 必填参数,图片字节数组。 name String 必填参数,图片名称,长度[1,100]。 url String 必填参数,图片存储地址, 长度[5,400]。 description String 描述信息。 categroy Int 分类,用户可自定义。例如: 1. 藏品 2. 个人创作等。 返回值 类型 说明 Metadata 数字资产对应的meta信息。 父主题: 工具接口
  • 转移数字资产所有权 将指定集合中的指定数字资产的所有权,从from转移到to用户。 调用方法 public String transferFrom(String collectionIndex, String from, String to, String tokenId) throws Exception 参数说明 参数 类型 说明 collectionIndex String 必填参数,集合唯一标识符,不能重复。 以字母开头,支持字母、数字。 长度[3-32]。 from String 必填参数,所有者身份标识符。 to String 必填参数,接受者身份标识符。 tokenId String 必填参数,数字资产编号。同一集合内不能重复,取值范围[0,2^64)。 返回值 类型 说明 string 返回上链交易编号,txid。 父主题: ERC721业务接口
  • 查找子资产的父所有者信息 根据子资产的集合标识和资产编号查询其父所有者的信息。 调用方法 OwnerOfChild(childCollectionIndex, childTokenId string)(string,string,string,error) 参数说明 参数 类型 说明 childCollectionIndex string 必填参数,子资产的集合唯一标识符,不能重复。以字母开头,支持字母、数字。长度[3-32]。 childTokenId string 必填参数,子资产的数字资产编号。同一集合内不能重复,取值范围[0,2^64)。 返回值 类型 说明 string 父资产的所有者身份标识符,例如地址、数字资产标识。 string 父资产的集合唯一标识符。 string 父资产的数字资产编号。 error 错误对象,包含错误原因,为空代表成功。 父主题: ERC998业务接口
  • 拆分子资产给其它可组合资产 将可组合资产中的子资产拆分转移给其它可组合资产。 调用方法 public String safeTransferChild(String fromCollectionIndex, String fromTokenId, String toCollectionIndex, String childCollectionIndex, String childTokenId,String toTokenId) throws Exception 参数说明 参数 类型 说明 fromCollectionIndex String 必填参数,所有者的可组合资产所在集合的唯一标识符,不能重复。以字母开头,支持字母、数字。长度[3-32]。 fromTokenId String 必填参数,所有者的可组合资产的数字资产编号。同一集合内不能重复,取值范围[0,2^64)。 toCollectionIndex String 必填参数,接受者的可组合资产所在集合的唯一标识符,不能重复。以字母开头,支持字母、数字。长度[3-32]。 childCollectionIndex String 必填参数,子资产所在集合的唯一标识符,不能重复。以字母开头,支持字母、数字。长度[3-32]。 childTokenId String 必填参数,子资产的数字资产编号。同一集合内不能重复,取值范围[0,2^64)。 toTokenId String 必填参数,接受者的可组合资产的数字资产编号。同一集合内不能重复,取值范围[0,2^64)。 返回值 类型 说明 string 返回上链交易编号,txid。 父主题: ERC998业务接口
  • 查询集合级授权用户 查询指定资产集合下,owner用户是否对operator开启授权。 调用方法 public function isApprovedForAll(string $collectionIndex, string $owner, string $operator) throws Exception 参数说明 参数 类型 说明 collectionIndex String 必填参数,集合唯一标识符,不能重复。 以字母开头,支持字母、数字。 长度[3-32]。 owner String 必填参数,所有者身份标识。 operator String 必填参数,被授权用户身份标识符。 返回值 类型 说明 bool 开启为“true”,未开启为“false”。 父主题: ERC721业务接口
  • 转移数字资产所有权 将指定集合中的指定数字资产的所有权,从from转移到to用户。 调用方法 TransferFrom(collectionIndex, from, to, tokenId string) (string,error) 参数说明 参数 类型 说明 collectionIndex String 必填参数,集合唯一标识符,不能重复。 以字母开头,支持字母、数字。 长度[3-32]。 from String 必填参数,所有者身份标识符。 to String 必填参数,接受者身份标识符。 tokenId String 必填参数,数字资产编号。同一集合内不能重复,取值范围[0,2^64)。 返回值 类型 说明 string 返回上链交易编号,txid。 error 错误对象,包含错误原因,为空代表成功。 父主题: ERC721业务接口
  • 查询资产集合的名称 根据集合标识查询集合名称。 调用方法 public function name(string $collectionIndex) throws Exception 参数说明 参数 类型 说明 collectionIndex String 必填参数,集合唯一标识符,不能重复。 以字母开头,支持字母、数字。 长度[3-32]。 返回值 类型 说明 string 集合名称。 父主题: 通用接口
  • 生成数字资产编码 根据集合标识符和数字资产编号生成数字资产编码,同样具备唯一性,可用于可视化展示和DAC产品页核验。 调用方法 public String generateAssetID(String collectionIndex, String tokenId) throws NoSuchAlgorithmException 参数说明 参数 类型 说明 collectionIndex String 必填参数,集合唯一标识符,不能重复。 以字母开头,支持字母、数字。 长度[3-32]。 tokenId String 必填参数,数字资产编号。同一集合内不能重复,取值范围[0,2^64)。 返回值 类型 说明 string 数字资产编码。 父主题: 工具接口
  • 创建数字资产集合 集合包括Name和Symbol,可调用SetOption方法设置。每一个集合中可包含0个或无限个数字资产。每个数字资产对应一个唯一的tokenId。 调用方法 public String createNFTCollection(String collectionIndex) throws Exception 参数说明 参数 类型 说明 collectionIndex String 必填参数,集合唯一标识符,不能重复。 以字母开头,支持字母、数字。 长度[3-32]。 返回值 类型 说明 string 返回上链交易编号,txid。 父主题: 通用接口
  • 查找子资产的父所有者信息 根据子资产的集合标识和资产编号查询其父所有者的信息。 调用方法 public ParentInfo ownerOfChild(String childCollectionIndex, String childTokenId) throws Exception 参数说明 参数 类型 说明 childCollectionIndex string 必填参数,子资产的集合唯一标识符,不能重复。以字母开头,支持字母、数字。长度[3-32]。 childTokenId string 必填参数,子资产的数字资产编号。同一集合内不能重复,取值范围[0,2^64)。 返回值 类型 说明 ParentInfo 父资产的信息。 父主题: ERC998业务接口
  • 查找子资产的根所有者 遍历查询子资产的父所有者,获得子资产的根所有者。 调用方法 public String rootOwnerOfChild(String childCollectionIndex, String childTokenId) throws Exception 参数说明 参数 类型 说明 childCollectionIndex string 必填参数,子资产的集合唯一标识符,不能重复。以字母开头,支持字母、数字。长度[3-32]。 childTokenId string 必填参数,子资产的数字资产编号。同一集合内不能重复,取值范围[0,2^64)。 返回值 类型 说明 string 根所有者的身份标识符,例如地址。 父主题: ERC998业务接口
  • 查询集合中数字资产数量 查询指定资产集合下,已铸造的数字资产数量。 仅专享版支持该接口调用。 调用方法 TotalSupply(collectionIndex string) (int64, error) 参数说明 参数 类型 说明 collectionIndex String 必填参数,集合唯一标识符,不能重复。 以字母开头,支持字母、数字。 长度[3-32]。 返回值 类型 说明 int64 已铸造的数量。 error 错误对象,包含错误原因,为空代表成功。 父主题: ERC721业务接口
  • 响应参数 状态码: 200 表2 响应Body参数 参数 参数类型 描述 asset_from_addr String 资产转移源地址 asset_to_addr String 资产转移目的地址 transaction_time Integer 交易时间 block_num Integer 区块高度 transaction_hash String 交易哈希 transaction_type String 交易类型 asset_ids AssetIDsPageView object 资产ID列表 表3 AssetIDsPageView 参数 参数类型 描述 total_count Long 总条目数量 data Array of strings 资产编码列表 状态码: 400 表4 响应Body参数 参数 参数类型 描述 error_code String 错误码 最小长度:1 最大长度:36 error_msg String 错误描述 最小长度:1 最大长度:512
共99354条