2022年1月25日,区块链服务网络发展联盟上线推出了“BSN-DDC基础网络”并进入试商用阶段。同时,BSN-DDC官网门户(ddc.bsnbase.com)上线发布,供DDC/NFT业务方进行“平台方”的注册申请。
截止当前,BSN-DDC基础网络已上线运行一个月余,开发者在使用过程中,也提出了不少的问题。下面是BSN技术支持人员总结的常见问题(FAQ)。
问:使用武汉链DDC-SDK生成DDC,交易状态为0x0是为什么?
答:检查设置的gasLimit,可能是用于gasLimit设置过低,此时将gasLimit提高或不设置。
问:1155DDC详情里面的ddcPubTotal字段是指什么,转移后该字段会变吗?
答:1155DDC详情里面的ddcPubTotal字段是这个1155DDC发现的总数量,这个数量不会变。
问:使用官方DDC合约生成DDC都需要支付哪些费用?
答:使用官方DDC生成DDC时,sender账户要支付本次交易所需要消耗的能量值(5分钱左右)和DDC业务费(生成1元,转移、销毁3毛)
问:使用文昌链DDC-SDK进行mint的时候报“failed to check sender balance: sender balance”是什么原因?
答:
1、sender的能量值不足或sender的能量值余额小于gasLimit。
2、能量值和gasLimit都没问题时,检查下链账户的算法是否是k1的。
问:ddcURI可以进行修改吗或setDDCURI什么情况下可以用?
答:如果拥有者在第一次生成DDC时ddcURI为空,生成之后拥有者就可以使用setDDCURI方法进行ddcURI的赋值,如果ddcURI已经有值了就不可以再修改了。
问:使用文昌链DDC-SDK生成DDC,交易状态为0x0是为什么?
答:
1、查看sender和to的账户状态,是否是启用状态
2、查看sender是否有足够的业务费
3、查看gasLimit设置的是否过小,将gasLimit提高
问:为什么用openAPI进行DDC业务费充值后,门户还显示是0?
答:门户的业务费、能量值、DDC的显示都不是实时的,是链上同步至链下,链下定时排队去更新的,建议用户使用openAPI操作创建链账户开通官方DDC,接入官方DDC,业务费充值,账户状态变更后都直接调用DDC-SDK中的方法去链上确认结果。
问:mint之后,如何判断交易成功?
答:除中移链以外根据交易hash获取交易数据中的交易状态,根据交易状态判断交易是否成功(文昌链、武汉链status为0x1时为成功、泰安链status为0x0时为成功)。中移链调用getInfo方法查看head_block_num是否大于mint之后返回的块高,大于则表示上链成功。
问:DDC门户创建链账户的名称是否可重复、可修改?
答:目前是链账户名称同一个账户下不可以重复,不可以修改。
问:mint之后如何获取DDCID?
答:根据交易所在的块号,调用blockEventService.getBlockEvent方法查这个块中的事件,如DDC721TransferEventBean中有DDCID。
问:DDC授权和账户授权的区别?
答:DDC授权是用户将名下的某个DDC授权给第三方,账户授权是用户将名下的所有DDC授权给第三方,DDC授权在DDC被转移后授权失效,账户授权取消授权后才会失效。
问:转移和安全转移(生成和安全生成)的区别?
答:转移和安全转移(生成和安全生成)的区别可参考这篇文章
。
问:使用武汉链DDC-SDK报“already known”,是什么原因?
答:是因为频繁调用接口进行交易,nonce值重复,解决方案就是每次交易时间隔一段时间或是每次提交交易都设置nonce值,如RequestOptions requestOptions = RequestOptions.builder()
.setNonce(2)
.build();
问:使用武汉链DDC-SDK报“nonce too low”,是什么原因?
答:
1、transactionSignature中设置的的privateKey是否是sender的privateKey
2、nonce值重复,每次交易时在options中设置nonce的值,如RequestOptions requestOptions = RequestOptions.builder()
.setNonce(2)
.build();