CNS-Open-Service
若需在产品中支持域名售卖和注册,请参考此文档;
Postman
Swagger
第三方接入交互图
API相关枚举类型:
枚举 | 意义 | 值 |
---|---|---|
trade_provider | 法币支付运营商 | (wechat, alipay, ...) |
trade_type | 法币支付类型 | native/h5 |
order_state | 订单状态 | init, made, success; null 表示全部 |
trade_state | 支付状态 | SUCCESS REFUND NOTPAY CLOSED REVOKED USERPAYING PAYERROR |
refund_state | 支付退款状态 | NIL SUCCESS CLOSED PROCESSING ABNORMAL |
tx_state | web3交易状态 | INIT SEND_FAILED EXECUTE_FAILED EXECUTED_SUCCESS |
tx_state
INIT 未开始
SEND_FAILED 发送失败,表示交易未发送,通常是由于Estimate失败,tx_error表示错误详情
EXECUTE_FAILED 执行失败,表示交易发送成功但交易执行失败(概率非常低,这种的失败原因是由于Estimate时的合约状态与交易执行时的合约状态不一致)
EXECUTED_SUCCESS 执行成功,表示交易发送成功而且交易执行成功
第三方接入
Cns-backend API
测试环境 BaseUrl: https://app-test.web3verse.space/v0
注册域名
务必在调用 registers 前,对用户所输入的内容进行敏感词过滤;
域名注册目前只支持英文字符和 Emoji;
调用合约Web3RegisterController的
rentPriceInFiat
方法计算价格,例如要计算conflux.web3
域名一年期的价格,rentPriceInFiat("conflux", 3600*24*365)
; 得到的结果有两个字段base
和premium
; 实际价格为(base + premium)/1e6
, 单位为“分”在注册域名时如果需要(也可以不设置)同时设置正向解析,方法为将commit.data设置合约方法
PublicResolver.setAddr(bytes32 node, uint coinType, bytes memory a)
的ABI编码。 参数node
为域名的node
,coinType
为conflux
的CoinType
值503
,a
为正向解析到的地址node 计算使用库
@ensdomains/eth-ens-namehash
的hash
方法。如域名为conflux.web3
, 则node
为require("@ensdomains/eth-ens-namehash").hash("conflux.web3")
ABI计算使用iface.encodeFunctionData
如要生成解析
conflux.web3
到地址cfxtest:aany9gz5hnpz9a22dkmkpcr276v932wze6cr821wd4
的data; 示例代码如下:调用合约Web3RegisterController的
makeCommit
方法生成commit hashcommit.data设置为第2步生成的值
调用合约Web3RegisterController的
commit
方法提交commit hash用户支付
调用cns-backend的api POST /v0/registers 注册域名
注意:注册域名请求需要在commit交易执行完成后的10s~10m中之内发送,否则容易导致register出现commitTooNew或commitTooOld的错误
调用cns-backend的api GET /v0/registers/:commit_hash 查询注册状态
域名续费
域名续费价格计算方式同注册域名相同,如
conflux.web3
域名续费一年期的价格为rentPriceInFiat("conflux", 3600*24*365)
用户支付
调用cns-backend的api POST /v0/renews 续费
调用cns-backend的api GET /v0/renews/:id 查询续费状态
身份认证
"注册域名"及"域名续费" API 都需要身份认证,使用ApiKey方式,ApiKey 由官方人工发放
使用方法:
在请求头中增加
X-Api-Key
开发工具
javascript: web3ns, js-conflux-sdk
golang: cfxabigen
java: java-conflux-sdk
其它
交易相关信息
交易信息相关字段有
tx_hash 交易哈希
tx_error 交易错误信息
当交易成功时 tx_hash 才有值,交易失败时 tx_error 才有值
最后更新于