FISCO-BCOS/java-sdk

3.2.0 版本新增的 JsonTransactionResponse.readFromHexString 接口有问题

luleigreat opened this issue · 2 comments

用3.2.0自带的测试用例中的JsonTransactionResponse.readFromHexString没问题,但是用自己生成的交易数据,就会出现异常,交易数据如下:

{
    "result":true,
    "signTx":"0x1a1c2606636861696e30360667726f757030410d15564d3839373639313736353638353537323133363235393330373034363533333536363737313230343231383033383030393433323237333130303632393231383038323233353839373531303434662a3078326439343431353838633434643732336232616364613865316636663462393165393165626436377d000103244d6b204400000000000000000000000085e5e8b89afa87799afbbf5d3c399d9d9be12fe5000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fe5bca0e69687e7bbae56696b6b69200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000021fe4b8ade59bbde68f92e794bbe889bae69cafe5aeb6efbc8ce5b9b4e8a1a3e5889be5a78be4babae38082e887aae5b9bce5ada6e4b9a0e59bbde794bbe88ab1e9b89fefbc8ce6af95e4b89ae4ba8ee7babde7baa6e8a786e8a789e889bae69cafe5ada6e999a2efbc8ce889bae69cafe7a195e5a3abe380820ae5889be4bd9ce6b689e58f8ae7bb98e69cacefbc8ce697b6e5b09ae68f92e794bbefbc8ce794b5e5bdb1e6b5b7e68aa5e7ad89e380820ae585b6e7bb98e588b6e58f8ae59ca8e6b5b7e58685e5a496e587bae78988e58f91e8a18ce79a84e4b9a6e7b18de5b7b2e69c893530e4bd99e69cacefbc8ce4b88ee69bb9e69687e8bda9efbc8ce6b1a4e7b4a0e585b0efbc8ce6a285e5ad90e6b6b5e7ad89e5aeb6e596bbe688b7e69993e79a84e584bfe7aba5e69687e5ada6e4bd9ce5aeb6e59088e4bd9cefbc8c0ae4bd9ce59381e69bbee585a5e98089e7babde7baa6e68f92e794bbe5b888e58d8fe4bc9ae5b9b4e5b195efbc8ce6b49be69d89e79fb6e68f92e794bbe5b9b4e989b4efbc8ce7acace58d81e4b889e5b18ae585a8e59bbde7be8ee5b195efbc88e8bf9be4baacefbc89efbc8ce99988e4bcafe590b9e59bbde99985e584bfe7aba5e69687e5ada6e5a596efbc8c0a32303139e98791e9be99e5a596e69c80e4bdb3e68f92e794bbe5a596e993b6e5a596efbc8c63637476e5b9b4e5baa6e5a5bde4b9a6efbc8ce5bd93e5bd93e7aba5e4b9a6e6a69c746f7031e7ad89e38082000b2d000020904d2af2d461caf3aa5c67d8aae70248ffa3019beec02085f07d3df376fb2f6e3d0000473045022100b2bd936623eda1be21bdb47652b23e53328315d337bc02ae0b8cfa7bc45ac9da02206ae5f5eb34f4609d155417545994598f93c3c61b0d90f60dd44d5b3b740c57644c5c66007d00001481c0b77c2588e907930a6761d878f0e5aeeba4c5",
    "txHash":"0x904d2af2d461caf3aa5c67d8aae70248ffa3019beec02085f07d3df376fb2f6e"
}

测试用例中生成的交易数据是 "1c" 开头,而实际生成的数据是"1a1c"开头,去掉前面的"1a”,去解析,会有两种情况:

  1. 不报异常,但重新计算的交易哈希不对
  2. 报异常

这里的测试用例生成是调用哪个接口生成的呢?

代码中搜索JsonTransactionResponse.readFromHexString 就能找到,只有一处,testECDSAGetTransactionAndCalculateHash这个测试用例