可以用最新区块查询 meta data 信息,跟 chainId 的数据类型无关
cita-java-sdk中的Transaction问题
上面的格式不太对。用下面的命令:
curl -X POST --data '{"jsonrpc":"2.0","method":"getMetaData","params":["latest"],"id":0}' 121.196.200.225:1337
要用 chainIdV1 也就是1,这两个 id 代表了分叉前后的数据
chainId 改成了1,然后错误信息变成了InvalidUntilBlock
long validUntilBlock = currentHeight + 80;
这里的 currentHeight 不是0,是真实的最新块高度,你需要在发交易前获取一下最新的块高。
OK 成功了.
再确认一下chainId 使用的应该是getMetaData响应中chainIdV1的值,而不是chainId的值对吗?
对。
我在服务器上部署了一条测试链,用rpc getMetaData获取的结果
"jsonrpc": "2.0",
"result": {
"blockInterval": 3000,
"chainId": 0,
"chainIdV1": "0x1",
"chainName": "test-chain",
"economicalModel": 0,
"genesisTimestamp": 1560407207671,
"operator": "test-operator",
"tokenAvatar": "https://cdn.cryptape.com/icon_cita.png",
"tokenName": "CITA Test Token",
"tokenSymbol": "CTT",
"validators": [
"0x7ca1ba11b9cb802ce196aac3e93bc60ae703dce8",
"0x62e4fd204a4570487cb51b6fe7a0963a4305fd64",
"0x7adc69140bc7868372010217344d37b6d7296ce6",
"0x86edfa4dc9921610c3a51fab652a1cab44e8bd18"
],
"version": 2,
"website": "https://www.example.com"
}
但是发交易的时候,还是提示badChainId
现在的SDK只支持0.23及以前的版本?