4.常见问题解答

4.1 星火令

4.1.1 星火令申领

通过星火服务平台申请凭证获取星火令。具体申请操作参见星火链BID体系 - 4.浏览器插件钱包章节

体验网访问地址

​ 北京:http://test-bj-baas.bitfactory.cn/

​ 重庆:http://test-cq-baas.bitfactory.cn/

4.2 SDK相关

4.2.1 Failed to connect to the network

连接节点失败,确认节点是否运行正常,以及配置地址是否正确。

4.2.2 balance(48145674) - base_reserve(0) is not enough for payment

Account(did:bid:efnVUgqQFfYeu97ABf6sGm3WFtVXHZB2)'s balance(48145674) - base_reserve(0) is not enough for payment (100000000)

账号余额不足, 参照快速上手-获取星火令章节。

Account(did:bid:efL9pEFZzyK6ysPGZ5XwdYPcii7Tmvpd)'s reserve balance(1068101007) - transaction(1dea4d6d) fee limit(10691018641) < base reserve(0)

feelimit设置大于账户余额减去预留金额,需要调整feelimit。

4.2.3 Transaction nonce(4) too small

Transaction nonce(4) too small, the account(did:bid:efBdagu8sVkJWEw5kLt1w69bxa85Kuag) nonce is (5)

nonce值错误,当前nonce=5的基础上+1,发起下一笔交易。

4.2.4 Received duplicate transaction message

Received duplicate transaction message. The transaction's source address is did:bid:efnVUgqQFfYeu97ABf6sGm3WFtVXHZB2, and hash is d0cd3c87

相同交易处理策略,交易池中存在一笔完全相同的交易(交易hash)一致,则直接插入失败。

4.2.5 Drop the transaction to insert queue because of low fee

某个源账户发的交易,nonce相同,其它参数存在差异(计算出的tx hash不同),则会比较两笔交易的gasprice,B < 1.1A,则提示Drop the transaction to…

4.2.6 signature weight is not enough…

Transaction(0f3c99381b7bca967bcad2b55d396ff33b375c9aea1cda024f7b705aea1a2e5c) signature weight is not enough..

权限不足或者私钥不正确。

4.2.7 EVMContract Execute VMException OutOfGas..

交易费用不够,需调整freelimt。

4.2.8 nodejs-sdk Number类型参数问题

为了保证数字精度,请求参数中的Number类型,全都按照字符串处理,例如: amount = 500,那么传递参数时候就将其更改为 amount ='500' 字符串形式。

4.2.9 关于合约调用费用评估问题

目前接口评估不准确,下个版本修正。

4.2.10 创建合约消耗星火令过大问题

sdk中gasprice默认值100,基于许可的考虑,目前创建合约是基础创建操作消耗的星火令 + 合约消耗的星火令,使用完再申请就可以了。

4.2.11 remarks长度问题

sdk中remarks为选填字段,长度[0,256k]。

4.3 智能合约相关

4.3.1 智能合约支持什么语言?

智能合约目前支持JSSolidity

4.3.2 js合约调用异常

{"contract":"did:bid:efspy6btdcuzP5BH2N899Ycti5Sd7n3z","exception":"SyntaxError: Unexpected token \r in JSON at position 1457","linenum":34,"stack":"SyntaxError: Unexpected token \r in JSON at position 1457\n at JSON.parse (<anonymous>)\n at main (__enable_check_time__:83:22)"}

input参数格式校验,需校验JSON规范。

4.3.3 合约设置初始化星火令InitBalance作用

合约之间调用需要消耗星火令,JavaScript合约中Chain.payCoin(address, amount[, input]),支持合约账号余额的转账。

4.3.4 错误响应说明

4.4 交易相关

4.4.1 交易查询

访问星火网区块链浏览器

体验网:http://test-explorer.bitfactory.cn

正式网:https://explorer.bitfactory.cn

  • 查询示例:

4.5 消息订阅

星火链使用websocket接口实现指定账户地址的交易通知,交易使用protobuf结构。

4.6 其他

4.6.1 插件钱包是否支持合约创建?

暂不支持

4.6.2 如何存储对象数据?

链上以key-value的键值对形式保存数据,可以使用Chain.store(id,JSON.stringify(str)) 其中参数str可以是一个json格式的字符串。

4.6.3 关于账号可信认证问题

账户没有经过可信认证的话就不能发交易,体验网现在是放开的,正式网必须通过认证才可以发交易。