github hashgraph/hedera-json-rpc-relay v0.26.0

latest releases: v0.66.0, v0.66.0-rc1, v0.65.1...
2 years ago

Release version 0.26.0 of the Hedera JSON RPC Relay includes a lot of improvements, optimizations and fixes among the most important we want to highlight are parallelization of requests for fetching contract results for each transaction on a block. Removed some unnecessary calls to the mirror node when consuming eth_call, refactor of eth_sendRawTransaction to avoid using the consensus node.

There were also many improvements to the metrics, from new buckets for the histograms that track latency for both the relay and the mirror node request, the fix of the measurement of relay latency and the addition of metrics that capture the functions called on eth_call and eth_sendRawTransaction.

Additionally there were many improvements on the k6 tests that are used to measure performance and load capacity, dapp-test improvements, acceptance tests improvements, documentation improvements, new CI acceptance tests workflows.
At last, on the infrastructure changes there were significant advances on helm charts needed to deploy the web-socket service that will be used by the eth_subscribe method, fixed on the ingress chart

Some bugs were also squashed, in the metrics the label for the methods for measurement of the mirror node latency, a max transaction count for blocks that have too many transactions used on eth_getBlockByHash and eth_getBlockByNumber.

Enhancements

  • Add optional flag for request id #1386
  • Batch parallel contract result requests for detailed block info #1384
  • Parallelize block contracts/{address}/results/{timestamp} calls #1383
  • Adding buckets to response of relay metrics #1378
  • Fix performCallBlockParamChecks latest block check #1370
  • Simplify DApp tests layout #1369
  • Simplify and improve DApp Tests #1368
  • Removed a call to the mirror node. #1367
  • docs: config ECDSA operator account #1355
  • 1150 add metrics to capture function called #1354
  • Add configurability of mirrorNodeContractResultsPageMax #1353
  • Add configurability of mirrorNodeContractResultsPageMax #1352
  • Reorganize latency calculation logic #1351
  • Add terminationGracePeriodSeconds to chart deployment resource #1350
  • Add terminationGracePeriodSeconds to chart deployment resource #1349
  • Fix request latency metric calculate #1348
  • Remove from check from eth_call prechecks #1347
  • Remove unnecessary mirror node call when calling eth_call #1346
  • Refactor eth_sendRawTransaction to use mirror node for tx hash #1345
  • Handle max pagination #1344
  • Add pagination limit #1343
  • Catch JsonRpcError on balance check #1342
  • Rethrow JsonRpcError on balance precheck #1341
  • Optimize mirror node get accounts call with limit #1340
  • Optimize Mirror Node getAccountCall with limit 1 #1339
  • Bump Synpress Version #1335
  • Update eth_sendRawTransaction to utilize Mirror Node on transaction record calls #1333
  • Improvements on load testing to avoid only hitting cache and have mor… #1332
  • Update Mirror Node getBalances calls to utilize evm address #1330
  • Set initialErrorCodes to [50] by default if missing #1325
  • Helm chart deployment for eth_subscribe server #1321
  • Fix helm chart ingress template #1318
  • Header: x-api-key #1316
  • MIRROR_NODE_URL Custom Authentication Header #1315
  • Add manual CI for acceptance tests #1306
  • Workflow for running acceptance tests against public networks #1305
  • New helm chart deployment for eth_subscribe server #1296
  • Bump Acceptance Tests Node Images #1256
  • Fix flaky acceptance tests #1255
  • Add metrics to capture functions called #1150
  • Improve eth_transactionCount perf #1103
  • Optimize eth_transactionCount REST API calls #1102
  • Epic: eth_subscribe #889

Bug Fixes

  • Cherry-Pick: 1401 into 0.26 #1404
  • Fix Metric label for contracts/{address}/results/{timestamp} #1400
  • 1354 fix cannot read null bug #1382
  • 1357 - Added max transaction count that can be returned on an eth_get… #1372
  • 1357 - Added max transaction count that can be returned on an eth_get… #1361
  • 502s are returned on some accounts with thousands of transactions in a block. An error should be returned. #1357
  • Fixed test to use correct contract to estimate gas. Gas is estimated for running the ping method which belongs to the basic contract, not the mirror contract. #1334
  • There's no valid scenario right now to query the consensus node with the blockNum. #1038

Dependency Upgrades

  • Bump @openzeppelin/contracts from 4.8.3 to 4.9.1 in /tools/subgraph-example #1338
  • Bump json5 and @synthetixio/synpress in /dapp-example #1272

Contributors

Thank you to all the contributors who worked on this release:

@AlfredoG87, @Ivo-Yankov, @Nana-EC, @bguiz, @bmino, @dependabot[bot], @ebadiere, @georgi-l95, @isavov, and @leric7

Full Changelog: v0.26.0-rc4...v0.26.0

Don't miss a new hedera-json-rpc-relay release

NewReleases is sending notifications on new releases.