cita-java-sdk中的Transaction问题

可以用最新区块查询 meta data 信息,跟 chainId 的数据类型无关

上面的格式不太对。用下面的命令:

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

@DuanYangyang, 我不清楚现在 sdk 是否已经支持 version = 2 , 这是 v0.24.0 及之后版本升级的 version。

@baojun 包俊看一下吧,现在 Java 版 SDK 是包俊在维护

现在的SDK只支持0.23及以前的版本?