cacti icon indicating copy to clipboard operation
cacti copied to clipboard

docs(connector-ethereum): fix Testing API calls with container tutorial

Open petermetz opened this issue 1 year ago • 2 comments

Description

The readme has a series of steps to execute on the command line that users can run through to see the connector in action. The steps are very similar to the ones the Besu connector have, but they don't work unfortunately.

Logs on the Back-end

[2024-07-12T19:26:59.056Z] ERROR (RunTransactionEndpoint): Crash while serving post - /api/v1/plugins/@hyperledger/cactus-plugin-ledger-connector-ethereum/run-transaction MissingGasError: Invalid value given "gas: 0x5208, gasPrice: undefined, maxPriorityFeePerGas: undefined, maxFeePerGas: undefined". Error: "gas" is missing.
    at validateGas (/tmp/org/hyperledger/cactus/plugins/some-unique-besu-connector-instance-id/node_modules/web3-eth/lib/commonjs/validation.js:237:15)
    ... 4 lines matching cause stack trace ...
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5) {
  cause: MissingGasInnerError: Missing properties in transaction, either define "gas" and "gasPrice" for type 0 transactions or "gas", "maxPriorityFeePerGas" and "maxFeePerGas" for type 2 transactions
      at new MissingGasError (/tmp/org/hyperledger/cactus/plugins/some-unique-besu-connector-instance-id/node_modules/web3-errors/lib/commonjs/errors/transaction_errors.js:211:22)
      at validateGas (/tmp/org/hyperledger/cactus/plugins/some-unique-besu-connector-instance-id/node_modules/web3-eth/lib/commonjs/validation.js:237:15)
      at validateTransactionForSigning (/tmp/org/hyperledger/cactus/plugins/some-unique-besu-connector-instance-id/node_modules/web3-eth/lib/commonjs/validation.js:268:29)
      at /tmp/org/hyperledger/cactus/plugins/some-unique-besu-connector-instance-id/node_modules/web3-eth/lib/commonjs/utils/prepare_transaction_for_signing.js:107:55
      at Generator.next (<anonymous>)
      at fulfilled (/tmp/org/hyperledger/cactus/plugins/some-unique-besu-connector-instance-id/node_modules/web3-eth/lib/commonjs/utils/prepare_transaction_for_signing.js:21:58)
      at process.processTicksAndRejections (node:internal/process/task_queues:95:5) {
    cause: undefined,
    code: 440
  },
  code: 415
}
[2024-07-12T19:27:29.729Z] ERROR (RunTransactionEndpoint): Crash while serving post - /api/v1/plugins/@hyperledger/cactus-plugin-ledger-connector-ethereum/run-transaction MissingGasError: Invalid value given "gas: 0x5208, gasPrice: undefined, maxPriorityFeePerGas: undefined, maxFeePerGas: undefined". Error: "gas" is missing.
    at validateGas (/tmp/org/hyperledger/cactus/plugins/some-unique-besu-connector-instance-id/node_modules/web3-eth/lib/commonjs/validation.js:237:15)
    ... 4 lines matching cause stack trace ...
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5) {
  cause: MissingGasInnerError: Missing properties in transaction, either define "gas" and "gasPrice" for type 0 transactions or "gas", "maxPriorityFeePerGas" and "maxFeePerGas" for type 2 transactions
      at new MissingGasError (/tmp/org/hyperledger/cactus/plugins/some-unique-besu-connector-instance-id/node_modules/web3-errors/lib/commonjs/errors/transaction_errors.js:211:22)
      at validateGas (/tmp/org/hyperledger/cactus/plugins/some-unique-besu-connector-instance-id/node_modules/web3-eth/lib/commonjs/validation.js:237:15)
      at validateTransactionForSigning (/tmp/org/hyperledger/cactus/plugins/some-unique-besu-connector-instance-id/node_modules/web3-eth/lib/commonjs/validation.js:268:29)
      at /tmp/org/hyperledger/cactus/plugins/some-unique-besu-connector-instance-id/node_modules/web3-eth/lib/commonjs/utils/prepare_transaction_for_signing.js:107:55
      at Generator.next (<anonymous>)
      at fulfilled (/tmp/org/hyperledger/cactus/plugins/some-unique-besu-connector-instance-id/node_modules/web3-eth/lib/commonjs/utils/prepare_transaction_for_signing.js:21:58)
      at process.processTicksAndRejections (node:internal/process/task_queues:95:5) {
    cause: undefined,
    code: 440
  },
  code: 415
}

Logs on the cURL terminal

$ curl --location --request POST 'http://127.0.0.1:4000/api/v1/plugins/@hyperledger/cactus-plugin-ledger-connector-ethereum/run-transaction' \
--header 'Content-Type: application/json' \
--data-raw '{
    "web3SigningCredential": {
      "ethAccount": "627306090abaB3A6e1400e9345bC60c78a8BEf57",
      "secret": "c87509a1c067bbde78beb793e6fa76530b6382a4c0241e5e4a9ec0a0f44dc0d3",
      "type": "PRIVATE_KEY_HEX"
    },
    "transactionConfig": {
      "from": "627306090abaB3A6e1400e9345bC60c78a8BEf57",
      "to": "f17f52151EbEF6C7334FAD080c5704D77216b732",
      "value": "1",
      "maxPriorityFeePerGas": "0",
      "maxFeePerGas": "40000000",
      "gasLimit": "21000",
      "type": 2
    }
}'
{"message":"Internal Server Error","error":"{\"name\":\"MissingGasError\",\"code\":415,\"message\":\"Invalid value given \\\"gas: 0x5208, gasPrice: undefined, maxPriorityFeePerGas: undefined, maxFeePerGas: undefined\\\". Error: \\\"gas\\\" is missing.\",\"cause\":{\"name\":\"MissingGasInnerError\",\"code\":440,\"message\":\"Missing properties in transaction, either define \\\"gas\\\" and \\\"gasPrice\\\" for type 0 transactions or \\\"gas\\\", \\\"maxPriorityFeePerGas\\\" and \\\"maxFeePerGas\\\" for type 2 transactions\"},\"innerError\":{\"name\":\"MissingGasInnerError\",\"code\":440,\"message\":\"Missing properties in transaction, either define \\\"gas\\\" and \\\"gasPrice\\\" for type 0 transactions or \\\"gas\\\", \\\"maxPriorityFeePerGas\\\" and \\\"maxFeePerGas\\\" for type 2 transactions\"}}"}

Acceptance Criteria

  1. The steps explained in the readme are working as intended.

petermetz avatar Jul 12 '24 19:07 petermetz

cc: @outSH @izuru0

I tried to update the steps in the readme so that 99% of them do work. Sending a PR with those changes shortly, but that PR will not fix the issue mentioned in this task ^^

petermetz avatar Jul 12 '24 19:07 petermetz

@ruzell also please fix the broken docs (architecture diagrams)

TheJagpreet avatar Jul 22 '24 05:07 TheJagpreet

Until there is an explicit need for this feature, this issue is closed.

RafaelAPB avatar Oct 18 '25 17:10 RafaelAPB