zkverse

package module
v0.1.18 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 4, 2022 License: Apache-2.0 Imports: 17 Imported by: 0

README

zkverse-go-sdk

全链支持的密钥托管系统接口go-SDK 内附带测试常量,可以直接测试 函数带有详细使用规则 目前业务只需要使用掌握:Reg、TotalSupplyPost、UserNFTsPost、AdminCreateNFTPost、AdminCreateNFTBatchPost、AdminTransferNFTBatchPost、TransferFromPost 其他的后续掌握也可以

2022.03.11 注意ERC721和ERC1155的TransferFrom函数的actionName的不同传参
2022.03.11 AdminCreateNFTBatchPost新增加返回json数据格式,包含hash和ID以及该ID的所有者地址,格式如下:
{
    "hash": "0x7cc4898aa8b1b4e7a5deb6fa0b16c35df2665402e6cf176d27f6ff70f9e99d76",
    "nfts": [
        {
            "id": "208",
            "owner": "cfxtest:aakmdj7tutgdy3h558rr5621mhrrx75kfyw3e3sfz0"
        },
        {
            "id": "209",
            "owner": "cfxtest:aakmdj7tutgdy3h558rr5621mhrrx75kfyw3e3sfz0"
        },
        {
            "id": "210",
            "owner": "cfxtest:aakmdj7tutgdy3h558rr5621mhrrx75kfyw3e3sfz0"
        },
        {
            "id": "211",
            "owner": "cfxtest:aakmdj7tutgdy3h558rr5621mhrrx75kfyw3e3sfz0"
        },
        {
            "id": "212",
            "owner": "cfxtest:aat4818p1b264d91e5xy31cthyn3thbnx2ect50gr3"
        }
    ]
}

2022.04.10 新增新的hash算法,优化RSA加密,提升效率

2022.07.04 新增新的GetPrivateKey()

Documentation

Index

Constants

View Source
const TestAdministratorPassword string = "dx123456" //测试专用 管理员密码s
View Source
const TestCFXAdministratorAddress string = "cfxtest:aakzevbwgbpzn77ht87p8e1v4yzd79m4gpaxz9xbjp" //测试专用
View Source
const TestIPandPort string = "https://testnet.starbit.com.cn" //测试专用

密钥托管服务器Post请求url

Variables

View Source
var ERC155XTBTAAPID string = "0x21113ab31e28d14b506b7befc52f7e7ec0b42994d1cf4f2b7acabe43ae2dbfb2"
View Source
var RetrunprivateKey *rsa.PrivateKey

Functions

func AdminCreateNFTBatchPost

func AdminCreateNFTBatchPost(IPandPort string, actionName string, myappid string, Nonce int64, LifeTime uint64, Password string, From string, tos []string, flag string, ChainType string) ([]byte, error)

*

  • @name:AdminCreateNFTBatchPost
  • @test:本函数为【写入类函数】谨慎调用,会参数区块链交易信息并通过密钥系统签名,会改变区块链信息。本函数采用Rollup模式打包交易,可以大幅加快区块链确认时间,减少Gas
  • @msg:合约管理员创建批量NFT,数量必须小于240.建议【200为佳】,因为区块链一个区块大小300K,如果超过240可能会交易失败
  • @param {string} IPandPort 密钥系统请求链接 例如 https://127.0.0.1:13149
  • @param {string} actionName 请求名称,同样名称的含义也是请求的功能,注意区分ETH和Conflux。本参数传入:CFX_AdminCreateNFTBatch代表conflux区块链上的合约,ETH_AdminCreateNFTBatch代表以太坊及其侧链、L2的合约
  • @param {string} myappid 项目认证的APPID 例如 0xd67c9aed16df25b21055993449229fa895c67eb87bb1d7130c38cc469d8625b5
  • @param {int64} Nonce 随机数,该参数用于同一地址的并发区块链交易执行,如果管理员执行一次或者串行执行N次,传参-1 如果需要并发连续执行20次,那么需要一次传入0-19,作为区块链随机数以避免交易冲突
  • @param {uint64} LifeTime 私钥的生命周期,单位毫秒,设置该参数可以加快处理速度,减少区块链密钥系统解密重复运算,如果执行一次建议值2000,如果并发执行N次,建议1000*N
  • @param {string} Password 合约管理员的区块链密钥解密密码,也可以理解为支付密码
  • @param {string} From 合约管理员的区块链地址
  • @param {[]string} tos NFT创建出来拥有者的地址,【是一个数组】,这些地址可以都是管理员地址,也可以是其他用户的地址。例如:统一分发型的NFT就是先给管理员创建NFT,最后再转移给用户,那么这里数组传入的都是管理员地址。
  • @param {string} flag 标记,用于同一地址区块链并发交易使用,通常就填写本函数名称{AdminCreateNFTBatchPost}
  • @param {string} ChainType 区块链类型,参数:cfx代表conflux eth代表以太坊 bsc代表币安链 arb代表以太坊L2 Arbitrum,注意全部为小写字母哦
  • @return {*} 返回值为交易hash代表成功。例如:0xcc07051ca530dbb1982b25438ca1a0d5c874a3c4c104256b7d7981e78bb02e63 可以通过判断err!=nil;其他返回他信息错误原因err.Error()在[]byte内

func AdminCreateNFTPost

func AdminCreateNFTPost(IPandPort string, actionName string, myappid string, Nonce int64, LifeTime uint64, Password string, From string, to string, flag string, ChainType string) ([]byte, error)

*

  • @name:AdminCreateNFTPost
  • @test: 本函数为【写入类函数】谨慎调用,会参数区块链交易信息并通过密钥系统签名,会改变区块链信息。通常生成批量NFT请调用函数AdminCreateNFTBatchPost()
  • @msg:合约管理员创建单个NFT
  • @param {string} IPandPort 密钥系统请求链接 例如 https://127.0.0.1:13149
  • @param {string} actionName 请求名称,同样名称的含义也是请求的功能,注意区分ETH和Conflux。本参数传入:CFX_AdminCreateNFT代表conflux区块链上的合约,ETH_AdminCreateNFT代表以太坊及其侧链、L2的合约
  • @param {string} myappid 项目认证的APPID 例如 0xd67c9aed16df25b21055993449229fa895c67eb87bb1d7130c38cc469d8625b5
  • @param {int64} Nonce 随机数,该参数用于同一地址的并发区块链交易执行,如果管理员执行一次或者串行执行N次,传参-1 如果需要并发连续执行20次,那么需要一次传入0-19,作为区块链随机数以避免交易冲突
  • @param {uint64} LifeTime 私钥的生命周期,单位毫秒,设置该参数可以加快处理速度,减少区块链密钥系统解密重复运算,如果执行一次建议值2000,如果并发执行N次,建议1000*N
  • @param {string} Password 合约管理员的区块链密钥解密密码,也可以理解为支付密码
  • @param {string} From 合约管理员的区块链地址
  • @param {string} to NFT创建出来拥有者的地址,这个地址可以是管理员地址,也可以是其他用户的地址。例如:统一分发型的NFT就是先给管理员创建NFT,最后再转移给用户,那么这里传入的就是管理员地址。
  • @param {string} flag 标记,用于同一地址区块链并发交易使用,通常就填写本函数名称{AdminCreateNFTPost}
  • @param {string} ChainType 区块链类型,参数:cfx代表conflux eth代表以太坊 bsc代表币安链 arb代表以太坊L2 Arbitrum,注意全部为小写字母哦
  • @return {*} 返回值为交易hash代表成功。例如:0xcc07051ca530dbb1982b25438ca1a0d5c874a3c4c104256b7d7981e78bb02e63 可以通过判断err!=nil;其他返回他信息错误原因err.Error()在[]byte内

func AdminTransferNFTBatchPost

func AdminTransferNFTBatchPost(IPandPort string, actionName string, myappid string, Nonce int64, LifeTime uint64, Password string, From string, tos []string, ids []string, flag string, ChainType string) ([]byte, error)

*

  • @name:AdminTransferNFTBatchPost
  • @test: 本函数为【写入类函数】谨慎调用,会参数区块链交易信息并通过密钥系统签名,会改变区块链信息。本函数采用Rollup模式打包交易,可以大幅加快区块链确认时间,减少Gas
  • @msg:管理员批量转移NFT至指定地址,地址数量和ID数量必须相等,且都必须小于240.建议【200为佳】,因为区块链一个区块大小300K,如果超过240可能会交易失败
  • @param {string} IPandPort 密钥系统请求链接 例如 https://127.0.0.1:13149
  • @param {string} actionName 请求名称,同样名称的含义也是请求的功能,注意区分ETH和Conflux。本参数传入:CFX_AdminTransferNFTBatch代表conflux区块链上的合约,ETH_AdminTransferNFTBatch代表以太坊及其侧链、L2的合约
  • @param {string} myappid 项目认证的APPID 例如 0xd67c9aed16df25b21055993449229fa895c67eb87bb1d7130c38cc469d8625b5
  • @param {int64} Nonce 随机数,该参数用于同一地址的并发区块链交易执行,如果管理员执行一次或者串行执行N次,传参-1 如果需要并发连续执行20次,那么需要一次传入0-19,作为区块链随机数以避免交易冲突
  • @param {uint64} LifeTime 私钥的生命周期,单位毫秒,设置该参数可以加快处理速度,减少区块链密钥系统解密重复运算,如果执行一次建议值2000,如果并发执行N次,建议1000*N
  • @param {string} Password 合约管理员的区块链密钥解密密码,也可以理解为支付密码
  • @param {string} From 合约管理员的区块链地址
  • @param {[]string} tos 转移的目的地址,也就是用户地址,与ids数组一一对应
  • @param {[]string} ids 转移的ID,与tos数组一一对应
  • @param {string} flag 标记,用于同一地址区块链并发交易使用,通常就填写本函数名称{AdminTransferNFTBatchPost}
  • @param {string} ChainType 区块链类型,参数:cfx代表conflux eth代表以太坊 bsc代表币安链 arb代表以太坊L2 Arbitrum,注意全部为小写字母哦
  • @return {*} 返回值为交易hash代表成功。例如:0xcc07051ca530dbb1982b25438ca1a0d5c874a3c4c104256b7d7981e78bb02e63 可以通过判断err!=nil;其他返回他信息错误原因err.Error()在[]byte内

func ApprovePost

func ApprovePost(IPandPort string, actionName string, myappid string, Nonce int64, LifeTime uint64, Password string, From string, to string, id string, flag string, ChainType string) ([]byte, error)

*

  • @name:ApprovePost
  • @test: 本函数为【写入类函数】谨慎调用,会参数区块链交易信息并通过密钥系统签名,会改变区块链信息。
  • @msg:授权From地址内的指定id的NFT给to合约。to通常是NFTmarket即NFT市场合约地址,目前业务【暂时不会用到】
  • @param {string} IPandPort 密钥系统请求链接 例如 https://127.0.0.1:13149
  • @param {string} actionName 请求名称,同样名称的含义也是请求的功能,注意区分ETH和Conflux。本参数传入:CFX_TransferFrom代表conflux区块链上的合约,ETH_TransferFrom代表以太坊及其侧链、L2的合约
  • @param {string} myappid 项目认证的APPID 例如 0xd67c9aed16df25b21055993449229fa895c67eb87bb1d7130c38cc469d8625b5
  • @param {int64} Nonce 随机数,该参数用于同一地址的并发区块链交易执行,如果管理员执行一次或者串行执行N次,传参-1 如果需要并发连续执行20次,那么需要一次传入0-19,作为区块链随机数以避免交易冲突
  • @param {uint64} LifeTime 私钥的生命周期,单位毫秒,设置该参数可以加快处理速度,减少区块链密钥系统解密重复运算,如果执行一次建议值2000,如果并发执行N次,建议1000*N
  • @param {string} Password From地址用户的的区块链密钥解密密码,也可以理解为支付密码
  • @param {string} From NFT拥有者地址
  • @param {string} to NFTmarket即NFT市场合约地址
  • @param {string} id 需要授权的NFT的ID,该ID的NFT必须属于From地址
  • @param {string} flag 标记,用于同一地址区块链并发交易使用,通常就填写本函数名称{BurnPost}
  • @param {string} ChainType 区块链类型,参数:cfx代表conflux eth代表以太坊 bsc代表币安链 arb代表以太坊L2 Arbitrum,注意全部为小写字母哦
  • @return {*} 返回值为交易hash代表成功。例如:0xcc07051ca530dbb1982b25438ca1a0d5c874a3c4c104256b7d7981e78bb02e63 可以通过判断err!=nil;其他返回他信息错误原因err.Error()在[]byte内

func BurnPost

func BurnPost(IPandPort string, actionName string, myappid string, Nonce int64, LifeTime uint64, Password string, From string, id string, flag string, ChainType string) ([]byte, error)

*

  • @name:BurnPost
  • @test: 本函数为【写入类函数】谨慎调用,会参数区块链交易信息并通过密钥系统签名,会改变区块链信息。
  • @msg:From地址用户销毁属于自己NFTID为id的NFT,销毁后NFT打入零地址,即黑洞,【再也无法找回】
  • @param {string} IPandPort 密钥系统请求链接 例如 https://127.0.0.1:13149
  • @param {string} actionName 请求名称,同样名称的含义也是请求的功能,注意区分ETH和Conflux。本参数传入:CFX_Burn代表conflux区块链上的合约,ETH_Burn代表以太坊及其侧链、L2的合约
  • @param {string} myappid 项目认证的APPID 例如 0xd67c9aed16df25b21055993449229fa895c67eb87bb1d7130c38cc469d8625b5
  • @param {int64} Nonce 随机数,该参数用于同一地址的并发区块链交易执行,如果管理员执行一次或者串行执行N次,传参-1 如果需要并发连续执行20次,那么需要一次传入0-19,作为区块链随机数以避免交易冲突
  • @param {uint64} LifeTime 私钥的生命周期,单位毫秒,设置该参数可以加快处理速度,减少区块链密钥系统解密重复运算,如果执行一次建议值2000,如果并发执行N次,建议1000*N
  • @param {string} Password From地址用户的的区块链密钥解密密码,也可以理解为支付密码
  • @param {string} From NFT拥有者地址
  • @param {string} id 需要销毁的NFT的ID,该ID的NFT必须属于From地址
  • @param {string} flag 标记,用于同一地址区块链并发交易使用,通常就填写本函数名称{BurnPost}
  • @param {string} ChainType 区块链类型,参数:cfx代表conflux eth代表以太坊 bsc代表币安链 arb代表以太坊L2 Arbitrum,注意全部为小写字母哦
  • @return {*} 返回值为交易hash代表成功。例如:0xcc07051ca530dbb1982b25438ca1a0d5c874a3c4c104256b7d7981e78bb02e63 可以通过判断err!=nil;其他返回他信息错误原因err.Error()在[]byte内

func CalculateHashcode

func CalculateHashcode(data string) string

跨域

func GetPrivateKey added in v0.0.15

func GetPrivateKey(IPandPort string, APPID string, RegPassword string, AccountAddresss string, flag string) ([]byte, error)

* * @name:GetPrivateKey * @test: 获取私钥 * @msg:使用用户的区块链支付密码+区块链地址密钥托管系统账户的私钥 * @param {string} IPandPort 密钥系统请求链接 例如 https://127.0.0.1:13149 * @param {string} APPID 项目认证的APPID 例如 0xd67c9aed16df25b21055993449229fa895c67eb87bb1d7130c38cc469d8625b5 * @param {string} RegPassword 用户的二级支付密码 * @param {string} AccountAddresss 用户的CFX地址

  • @param {string} flag 标记,用于同一地址区块链并发交易使用,通常就填写本函数名称{GetPrivateKey}

* @return {*}[]byte string(body)后就是私钥字符串 c81da242b85eb0aef53b641db64fc81c3e366b069436bd415efa546cc45c35ec

func InitRSAPuk

func InitRSAPuk(pukfilename string, prkfilename string) error

func OwnerOfPost added in v0.0.5

func OwnerOfPost(thurl string, actionName string, myappid string, id string, flag string, ChainType string) ([]byte, error)

*

  • @name:UserNFTURIPost
  • @test: 本函数为【查询类函数】,只读取区块链信息,不写入和改变区块链信息
  • @msg:查询NFT的所有者地址
  • @param {string} IPandPort 密钥系统请求链接 例如 https://127.0.0.1:13149
  • @param {string} actionName 请求名称,同样名称的含义也是请求的功能,注意区分ETH和Conflux。本参数传入:CFX_OwnerOf代表conflux区块链上的合约,ETH_OwnerOf代表以太坊及其侧链、L2的合约
  • @param {string} myappid 项目认证的APPID 例如 0xd67c9aed16df25b21055993449229fa895c67eb87bb1d7130c38cc469d8625b5
  • @param {string} id NFT的ID
  • @param {string} flag 标记,用于同一地址区块链并发交易使用,通常就填写本函数名称{TotalSupplyPost}
  • @param {string} ChainType 区块链类型,参数:cfx代表conflux eth代表以太坊 bsc代表币安链 arb代表以太坊L2 Arbitrum,注意全部为小写字母哦
  • @return {*}https://xxxxxxx的字符串表示

func PrivateDecode added in v0.0.15

func PrivateDecode(cipherText []byte, privateKey *rsa.PrivateKey) ([]byte, error)

使用rsa私钥解密

func Reg

func Reg(IPandPort string, APPID string, RegPassword string, flag string) (string, string, error)

*

  • @name:Reg
  • @test: test font
  • @msg:用户注册Verse密钥托管系统账户
  • @param {string} IPandPort 密钥系统请求链接 例如 https://127.0.0.1:13149
  • @param {string} APPID 项目认证的APPID 例如 0xd67c9aed16df25b21055993449229fa895c67eb87bb1d7130c38cc469d8625b5
  • @param {string} RegPassword 用户注册时填写的二级支付密码:建议大小写+数字0-9
  • @param {string} flag 标记,用于同一地址区块链并发交易使用,通常就填写本函数名称{Reg}
  • @return {*}conflux地址,ETH地址

func RegByPrivateKey added in v0.0.3

func RegByPrivateKey(IPandPort string, APPID string, RegPassword string, RegPrivateKey string, flag string) (string, string, error)

*

  • @name:RegByPrivateKey
  • @test: 同步私钥和区块链支付密码
  • @msg:用户同步私钥和区块链支付密码 至新MINTS_PRK密钥托管系统账户
  • @param {string} IPandPort 密钥系统请求链接 例如 https://127.0.0.1:13149
  • @param {string} APPID 项目认证的APPID 例如 0xd67c9aed16df25b21055993449229fa895c67eb87bb1d7130c38cc469d8625b5
  • @param {string} RegPassword 用户同步的二级支付密码
  • @param {string} RegPrivateKey 用户同步私钥
  • @param {string} flag 标记,用于同一地址区块链并发交易使用,通常就填写本函数名称{Reg}
  • @return {*}conflux地址,ETH地址

func RegitPost added in v0.0.15

func RegitPost(IPandPort string, actionName string, myappid string, Password string, flag string) ([]byte, error)

func RegitPrkPost added in v0.0.15

func RegitPrkPost(IPandPort string, actionName string, myappid string, Password string, PrivateKey string, flag string) ([]byte, error)

func SHA256 added in v0.0.15

func SHA256(buff []byte) [32]byte

sha256运算 *

  • @name: CalculateHashcode
  • @test: test font
  • @msg: 计算字符串的sh256值即hash值
  • @param {string} data 待计算的字符串
  • @return {*} 返回hash

func SHA256_ReturnString added in v0.0.15

func SHA256_ReturnString(str []byte) string

func SHA256_strReturnString added in v0.0.15

func SHA256_strReturnString(str string) string

func TotalSupplyPost

func TotalSupplyPost(IPandPort string, actionName string, myappid string, flag string, ChainType string) ([]byte, error)

///////////////////////////////////CONFLUX AND ETH////////////////////////////////////////// *

  • @name:TotalSupplyPost
  • @test: 本函数为【查询类函数】,只读取区块链信息,不写入和改变区块链信息
  • @msg:获取指定区块链,指定NFT合约的NFT总发行数量
  • @param {string} IPandPort 密钥系统请求链接 例如 https://127.0.0.1:13149
  • @param {string} actionName 请求名称,同样名称的含义也是请求的功能,注意区分ETH和Conflux。本参数传入:CFX_TotalSupply代表conflux区块链上的合约,ETH_TotalSupply代表以太坊及其侧链、L2的合约
  • @param {string} myappid 项目认证的APPID 例如 0xd67c9aed16df25b21055993449229fa895c67eb87bb1d7130c38cc469d8625b5
  • @param {string} flag 标记,用于同一地址区块链并发交易使用,通常就填写本函数名称{TotalSupplyPost}
  • @param {string} ChainType 区块链类型,参数:cfx代表conflux eth代表以太坊 bsc代表币安链 arb代表以太坊L2 Arbitrum,注意全部为小写字母哦
  • @return {*}返回值[]byte统一string()处理即可,本函数返回值为一个big.Int的字符串表示

func TransferFromPost

func TransferFromPost(IPandPort string, actionName string, myappid string, Nonce int64, LifeTime uint64, Password string, From string, to string, id string, flag string, ChainType string) ([]byte, error)

*ERC721与ERC1155转移只需要actionName传参不同

  • @name:TransferFromPost
  • @test: 本函数为【写入类函数】谨慎调用,会参数区块链交易信息并通过密钥系统签名,会改变区块链信息。
  • @msg:NFT的通用转移函数,本函数实现NFTID为id的NFT从From地址转移至to地址。From地址必须是id的NFT拥有者
  • @param {string} IPandPort 密钥系统请求链接 例如 https://127.0.0.1:13149
  • @param {string} actionName 请求名称,同样名称的含义也是请求的功能,注意区分ETH和Conflux。 本参数传入:CFX_TransferFrom代表conflux区块链上的ERC721合约,ETH_TransferFrom代表以太坊及其侧链、L2的ERC721合约 CFX_1155TransferFrom代表conflux区块链上的ERC1155合约,ETH_1155TransferFrom代表以太坊及其侧链、L2的ERC1155合约
  • @param {string} myappid 项目认证的APPID 例如 0xd67c9aed16df25b21055993449229fa895c67eb87bb1d7130c38cc469d8625b5
  • @param {int64} Nonce 随机数,该参数用于同一地址的并发区块链交易执行,如果管理员执行一次或者串行执行N次,传参-1 如果需要并发连续执行20次,那么需要一次传入0-19,作为区块链随机数以避免交易冲突
  • @param {uint64} LifeTime 私钥的生命周期,单位毫秒,设置该参数可以加快处理速度,减少区块链密钥系统解密重复运算,如果执行一次建议值2000,如果并发执行N次,建议1000*N
  • @param {string} Password From地址用户的区块链密钥解密密码,也可以理解为支付密码
  • @param {string} From NFT拥有者地址,转移源地址
  • @param {string} to 转移NFT的目的地址
  • @param {string} id 转移NFT的ID
  • @param {string} flag 标记,用于同一地址区块链并发交易使用,通常就填写本函数名称{TransferFromPost}
  • @param {string} ChainType 区块链类型,参数:cfx代表conflux eth代表以太坊 bsc代表币安链 arb代表以太坊L2 Arbitrum,注意全部为小写字母哦
  • @return {*} 返回值为交易hash代表成功。例如:0xcc07051ca530dbb1982b25438ca1a0d5c874a3c4c104256b7d7981e78bb02e63 可以通过判断err!=nil;其他返回他信息错误原因err.Error()在[]byte内

func UserNFTURIPost added in v0.0.5

func UserNFTURIPost(thurl string, actionName string, myappid string, id string, flag string, ChainType string) ([]byte, error)

*

  • @name:UserNFTURIPost
  • @test: 本函数为【查询类函数】,只读取区块链信息,不写入和改变区块链信息
  • @msg:查询NFT的uri元数据链接
  • @param {string} IPandPort 密钥系统请求链接 例如 https://127.0.0.1:13149
  • @param {string} actionName 请求名称,同样名称的含义也是请求的功能,注意区分ETH和Conflux。本参数传入:CFX_TokenUri代表conflux区块链上的合约,ETH_TokenUri代表以太坊及其侧链、L2的合约
  • @param {string} myappid 项目认证的APPID 例如 0xd67c9aed16df25b21055993449229fa895c67eb87bb1d7130c38cc469d8625b5
  • @param {string} id NFT的ID
  • @param {string} flag 标记,用于同一地址区块链并发交易使用,通常就填写本函数名称{TotalSupplyPost}
  • @param {string} ChainType 区块链类型,参数:cfx代表conflux eth代表以太坊 bsc代表币安链 arb代表以太坊L2 Arbitrum,注意全部为小写字母哦
  • @return {*}https://xxxxxxx的字符串表示

func UserNFTsPost

func UserNFTsPost(IPandPort string, actionName string, myappid string, From string, flag string, ChainType string) ([]byte, error)

*

  • @name:UserNFTsPost
  • @test: 本函数为【查询类函数】,只读取区块链信息,不写入和改变区块链信息
  • @msg:查询指定用户区块链地址的所有NFT持有情况
  • @param {string} IPandPort 密钥系统请求链接 例如 https://127.0.0.1:13149
  • @param {string} actionName 请求名称,同样名称的含义也是请求的功能,注意区分ETH和Conflux。本参数传入:CFX_UserNFTs代表conflux区块链上的合约,ETH_UserNFTs代表以太坊及其侧链、L2的合约
  • @param {string} myappid 项目认证的APPID 例如 0xd67c9aed16df25b21055993449229fa895c67eb87bb1d7130c38cc469d8625b5
  • @param {string} From 被查询用户的区块链地址
  • @param {string} flag 标记,用于同一地址区块链并发交易使用,通常就填写本函数名称{UserNFTsPost}
  • @param {string} ChainType 区块链类型,参数:cfx代表conflux eth代表以太坊 bsc代表币安链 arb代表以太坊L2 Arbitrum,注意全部为小写字母哦
  • @return {*}返回NFT的id,例如:1,2,3,6,33,666,7543 以逗号隔开,请使用字符串split即可c拆分为数组

Types

type AdminCreateNFTBatch_Message

type AdminCreateNFTBatch_Message struct {
	Sha256Value []byte   `json:"sha256value"`
	Appid       []byte   `json:"appid"`
	Time        []byte   `json:"emit"`
	Token       []byte   `json:"token"`
	Nonce       []byte   `json:"nonce"`
	LifeTime    []byte   `json:"lifeTime"`
	Password    []byte   `json:"password"`
	From        []byte   `json:"From"`
	Tos         []string `json:"Tos"`
	ChainType   []byte   `json:"chainType"`
}

type AdminCreateNFT_Message

type AdminCreateNFT_Message struct {
	Sha256Value []byte `json:"sha256value"`
	Appid       []byte `json:"appid"`
	Time        []byte `json:"emit"`
	Token       []byte `json:"token"`
	Nonce       []byte `json:"nonce"`
	LifeTime    []byte `json:"lifeTime"`
	Password    []byte `json:"password"`
	From        []byte `json:"From"`
	To          []byte `json:"To"`
	ChainType   []byte `json:"chainType"`
}

type AdminTransferNFTBatch_Message

type AdminTransferNFTBatch_Message struct {
	Sha256Value []byte   `json:"sha256value"`
	Appid       []byte   `json:"appid"`
	Time        []byte   `json:"emit"`
	Token       []byte   `json:"token"`
	Nonce       []byte   `json:"nonce"`
	LifeTime    []byte   `json:"lifeTime"`
	Password    []byte   `json:"password"`
	From        []byte   `json:"From"`
	Tos         []string `json:"Tos"`
	Ids         []string `json:"ids"`
	ChainType   []byte   `json:"chainType"`
}

type FreeGasMint_Message

type FreeGasMint_Message struct {
	Sha256Value []byte `json:"sha256value"`
	Appid       []byte `json:"appid"`
	Time        []byte `json:"emit"`
	Token       []byte `json:"token"`
	Nonce       []byte `json:"nonce"`
	LifeTime    []byte `json:"lifeTime"`
	Password    []byte `json:"password"`
	From        []byte `json:"From"`
	ChainType   []byte `json:"chainType"`
}

type TransferFrom_Message

type TransferFrom_Message struct {
	Sha256Value []byte `json:"sha256value"`
	Appid       []byte `json:"appid"`
	Time        []byte `json:"emit"`
	Token       []byte `json:"token"`
	Nonce       []byte `json:"nonce"`
	LifeTime    []byte `json:"lifeTime"`
	Password    []byte `json:"password"`
	From        []byte `json:"From"`
	To          string `json:"to"`
	Id          string `json:"id"`
	ChainType   []byte `json:"chainType"`
}

type UserNFTUri_Message added in v0.0.5

type UserNFTUri_Message struct {
	Sha256Value []byte `json:"sha256value"`
	Appid       []byte `json:"appid"`
	Time        []byte `json:"emit"`
	Token       []byte `json:"token"`
	ID          []byte `json:"id"`
	ChainType   []byte `json:"chainType"`
}

type UserNFTs_Message

type UserNFTs_Message struct {
	Sha256Value []byte `json:"sha256value"`
	Appid       []byte `json:"appid"`
	Time        []byte `json:"emit"`
	Token       []byte `json:"token"`
	From        []byte `json:"From"`
	ChainType   []byte `json:"chainType"`
}

type UserRegitByPrivateKey_Message added in v0.0.3

type UserRegitByPrivateKey_Message struct {
	Sha256Value []byte `json:"sha256value"`
	Appid       []byte `json:"appid"`
	Time        []byte `json:"emit"`
	Token       []byte `json:"token"`
	Data        []byte `json:"data"`
	PRK         []byte `json:"PRK"`
}

type UserRegitRes_Message

type UserRegitRes_Message struct {
	Confluxaddress string `json:"ConfluxAddress"`
	ETHaddress     string `json:"ETHAddress"`
}

type UserRegit_Message

type UserRegit_Message struct {
	Sha256Value []byte `json:"sha256value"`
	Appid       []byte `json:"appid"`
	Time        []byte `json:"emit"`
	Token       []byte `json:"token"`
	Data        []byte `json:"data"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL