DDC/NFT开发常见问题

id:BSN_2021
公众号:BSN研习社

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被转移后授权失效,账户授权取消授权后才会失效。

问:转移和安全转移(生成和安全生成)的区别?

答:转移和安全转移(生成和安全生成)的区别可参考这篇文章

https://www.jianshu.com/p/2fe...

问:使用武汉链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(); 

你可能感兴趣的:(区块链)