Skip to content

Releases: hashgraph/hedera-json-rpc-relay

v0.3.0-rc1

13 Jul 16:27
ffbbfc1
Compare
Choose a tag to compare
v0.3.0-rc1 Pre-release
Pre-release

Full Changelog: v0.2.0...v0.3.0-rc1

v0.2.0

29 Jun 18:47
dd24d7e
Compare
Choose a tag to compare

This release brings greater stability to the relay with an increase in api response details, testing and deployment features.

A large push was made to replace partial implementations with complete logic. Fallback consensus node calls were replaced with Mirror Node calls where possible. Specifically the relay now calls the Mirror Node api/v1/network/fees for gas related information. Precheck capability was also added to help verify nonce correctness of calls.

Testing capability was substantially increased with the addition of many E2E acceptance tests for the relay. Additionally, testing support for a new DApp example was added to give greater confidence of contract interactions that utilize common developer tools. The DApp also serves as an example reference for core scenarios that ETH developers would code against such as wallet connection, HBAR/token transfer and contract state viewing and changing calls. Postman call tests using the newman CLI were also added for versatility.

Metrics were expanded to include more information around client (consensus node and mirror node) calls, as well as support for expense tracking of the relay account.

Deployment enhancement were added to support greater Helm and kubernetes support. Configurations are now picked up by deployments.

Enhancements

  • Bump v0.2.0rc3 #276
  • Bump v0.2.0-rc2 #266
  • Bring over chart deployment advancement from 0.3.0-SNAPSHOT to 0.2 #264
  • Bump v0.2.0-rc1 #246
  • Bump v0.2.0-rc1 #245
  • Improve acceptance tests run against remote instances #244
  • Acceptance tests remote run have missing context logic #243
  • Handle Mirror Node network fee errors #240
  • getFeeWeibars failing on mirror node network/fees 500 #239
  • Add transactionhash to receipt logs #235
  • eth_getTransactionReceipt go-ethereum compatibility #226
  • Acceptance tests different references - getCode, getBalance, getTransactionCount #225
  • Update logic to point acceptance tests to remote relay #224
  • Updated acceptance test configurations to point to remote deployment #223
  • Add additional eth_getBlockByNumber acceptance tests #222
  • Add additional eth_getBlockByHash acceptance tests #221
  • Add eth_ getTransactionByHash acceptance tests #220
  • Update eth_getTransactionReceipt to verify return schema #219
  • Add eth_blockNumber acceptance test #217
  • Improve client logs and capture client metrics #214
  • Automate DApp integration tests #212
  • Refactor acceptance tests structure #211
  • Improve acceptance tests code structure #210
  • Improve transfer-only gas estimate #208
  • Add metrics to capture node interactions #206
  • Improve release git action flow #205
  • Improve release git action logic #204
  • Bump release to 0.1.0 #202
  • Acceptance Test instructions are under Postman in README #195
  • Acceptance tests for eth_getTransactionReceipt #192
  • Feat: Add more unsupported acceptance tests #191
  • Ignore vscode and devcontainer tracking #190
  • Refactor: Remove unused properties #189
  • Improve startup logs #187
  • Startup logs should inform correct setup #186
  • Refactor Acceptance tests to use ethers.provider #183
  • Add reusable DApp example #180
  • Cache eth_feeHistory inner value #175
  • Cache eth_feeHistory call #174
  • 154 document token transfer #173
  • Signed transaction generator #172
  • Expand acceptance test to query external nodes #170
  • ENhance acceptance tests to run against deployed environments #169
  • 049 hbar transfer demo docs #168
  • Improve eth_estimateGas cached value logic #166
  • Add transaction generation support in acceptance tests #164
  • Document Relay Token Transfer Flow using a wallet #154
  • Bump version to 0.2.0-SNAPSHOT #147
  • Bump main to 0.2.0-SNAPSHOT #146
  • Acceptance tests - eth_getBalance, eth_getTransactionCount #139
  • Update gas calculation in eth method #136
  • Enhance Acceptance Tests with different Account references #135
  • Add acceptance test support for eth_sendRawTransaction using an EIP 155 transaction #134
  • Improve duplicate transaction management #133
  • Add a reusable DApp example for demo and manual tests #126
  • Add acceptance test support for eth_getBalance #125
  • Add acceptance test support for eth_getTransactionCount #124
  • Add acceptance test support for eth_getTransactionReceipt #123
  • Automate the wallet integration testing #121
  • Update gas calculation in eth method #118
  • Improve duplicate transaction management #112
  • Document HBAR transfer Relay interaction steps to a markdown file #49

Bug Fixes

  • Fix getLogs mapping to retrieve unique execution logs (2.0) #273
  • Add logic to clear metric from registry before create #229
  • eth.spec.ts fails when creating already existent metric #228
  • Acceptance tests failing on docker timeout #200
  • Fix acceptance test timeout issue #199
  • Workaround for varying eth_getBalance acceptance test result on primary account #198
  • eth_getBalance acceptance test failures for primary account #197
  • Fix transactionsRoot return value in case of empty transactions array #185
  • docker service does not start, lerna missing? #181
  • eth_getBlockByNumber expected transactions, none returned (or incorrect transactionsRoot) #179
  • Fix latency metric capture logic #177
  • Metrics for latency of calls should not be counter label [#176](https://github.com...
Read more

v0.2.0-rc3

27 Jun 21:35
709b595
Compare
Choose a tag to compare
v0.2.0-rc3 Pre-release
Pre-release
Bump v0.2.0rc3 (#276)

Signed-off-by: Nana-EC <[email protected]>

v0.2.0-rc2

23 Jun 21:19
d5a7739
Compare
Choose a tag to compare
v0.2.0-rc2 Pre-release
Pre-release
Bump v0.2.0-rc2 (#266)

Signed-off-by: Nana-EC <[email protected]>

v0.2.0-rc1

23 Jun 21:17
2294a03
Compare
Choose a tag to compare
v0.2.0-rc1 Pre-release
Pre-release
Bump v0.2.0-rc1 (#246)

Signed-off-by: Nana-EC <[email protected]>

v0.1.0

14 Jun 15:42
438e1ca
Compare
Choose a tag to compare

This marks the first hedera-json-rpc-relay release and with it brings a wealth of EVM smart contract capabilities. The repository is now fully open source and accepting community contributions.

HIP-482 sees its implementation with the goal of providing an API gateway that improves the Ethereum developer onboarding experience by utilizing the EthereumTransaction type and logic captured in HIP-410. The relay takes the raw transactions and interfaces with the Hedera consensus and mirror nodes to provide a seamless experience as if they were the EVM. Developers will now be able to interact with their smart contracts on the Hedera network as they did on the Ethereum network using the Ethereum JSON-RPC API standard.

The following Ethereum JSON-RPC API endpoints were implemented with a variation of default, partial and complete logic to enable multiple development flows and interactions

JSON-RPC APIs

Network

  • eth_chainId
  • eth_gasPrice
  • eth_feeHistory

Account

  • eth_getBalance
  • eth_getTransactionCount

Contract

  • eth_getCode
  • eth_call
  • eth_estimateGas

Block

These response entities of the following methods map to RecordFile entities on the Hedera network.

  • eth_blockNumber
  • eth_getBlockByHash
  • eth_getBlockByNumber
  • eth_getBlockTransactionCountByHash
  • eth_getBlockTransactionCountByNumber

Transaction

The response entities of the following methods map to ContractResult entities execution details on the Hedera network.

  • eth_getTransactionByBlockHashAndIndex
  • eth_getTransactionByBlockNumberAndIndex
  • eth_getTransactionByHash
  • eth_getTransactionReceipt
  • eth_sendRawTransaction

CI/CD and Documentation

Efforts were made to improve the CI/CD flow with the addition of end-to-end acceptance tests which can be run locally and in Github actions to improve stability. Docker images are now automatically published on every change to the main branch and tagged release. A new Helm chart was also added to support declarative deployment to Kubernetes clusters.

Documentation was improved to give greater context to the relay as well as how to configure, run and test it.

Monitoring and logging improvements increase visibility and tracking of user requests.

Enhancements

  • Add gas cache logic to release 0.1 #182
  • Remove org path from artifact build command #158
  • Add artifact build and upload to 0.1 release branch #148
  • Bump release to 0.1.0-rc1 #145
  • Bump version to 0.1.0-rc1 #144
  • add postman tests #143
  • Improve server logging and metrics #132
  • Improve server logging and metrics #131
  • Acceptance test CICD #120
  • Add relay acceptance tests #119
  • fix issue returning transaction hash when submission passed precheck #106
  • Pulled over all the helm-chart componenets plus included the README.m… #105
  • eth_getLogs #103
  • Bring getBlockBy... into execution-api schema compliance #100
  • Block returned from eth_getBlockBy... does not conform to schema #99
  • Implement eth_getWork and add route handlers for unsupported methods #94
  • Add prometheus support and health endpoints #93
  • Support block tags on getBlock endpoints #92
  • Support block tags in 5 APIs #91
  • Add Prometheus monitoring support #88
  • Add liveness and readiness endpoint to relay #87
  • Add support for eth_getTransactionByHash with mocked data #84
  • eth_getTransactionReceiptByHash #83
  • Chain ID and FeeHistory Tweaks #82
  • Update getBlockByHash and getBlockByNumber to populate transactions #81
  • Add support for getBlockBy, getBlockTransactionCountBy and getTransactionByBlock endpoints #80
  • Clarify development purpose of docker compose #79
  • Updated README to highlight development purposes of docker-compose #78
  • Add rpc call test suite for simple testing #77
  • Add rpc endpoint acceptance tests #76
  • Return Ethereum Hash for sendRawTransaction that do not fail precheck #75
  • Implement eth_blockNumber #74
  • Add MirrorNode Client to make calls to real Mirror Node #73
  • Add a MirrorNode Client Stub #72
  • metamask properly estimating gas #71
  • Update docker compose to point to ghcr main tagged image #69
  • Docker compose image should reference main image #68
  • Add github action to publish main tagged docker image #67
  • Deploy docker image for main branch #66
  • Dummy up eth_feehistory enabling previewnet demo #64
  • Add simple Helm chart to support deployment #61
  • Deploy relay to integration environment #60
  • Implement all non supported endpoints #56
  • Implement eth_getWork #55
  • Implement eth_getTransactionByBlockNumberAndIndex #54
  • Implement eth_getTransactionByBlockHashAndIndex #53
  • Implement eth_getBlockTransactionCountByNumber #51
  • Implement eth_getBlockTransactionCountByHash #50
  • Add code coverage for relay and server packages #48
  • Add docker image and container support #47
  • Update README w Support, Contributing and License #46
  • Add docker container and deployment support #45
  • Add Repo Code Coverage #43
  • Add License headers to all code files #42
  • Replace bridge and hashio references with relay #41
  • Add Apache License 2.0 file #39
  • Add deployment instructions to readme #38
  • Add license headers to code files #37
  • Add License file #36
  • Eth tx integration #35
  • Implement eth_getBlockTransactionCountByNumber #32
  • Implement eth_getBlockTransactionCountByHash #31
  • Implement eth_getBlockByNumber #30
  • Implement eth_getBlockByHash #29
  • Implement eth_blockNumber #28
  • Implement eth_getLogs #20
  • Implemen...
Read more

v0.1.0-rc4

09 Jun 20:45
fd6c6c7
Compare
Choose a tag to compare
v0.1.0-rc4 Pre-release
Pre-release

Add gas cache logic to release 0.1 (#182)

Release 0.1 is missing cache logic for gas calls.

  • Add cache for feeHistory
  • Add cache for gasPrice

Signed-off-by: Nana-EC [email protected]

v0.1.0-rc3

03 Jun 23:31
d145b0b
Compare
Choose a tag to compare
v0.1.0-rc3 Pre-release
Pre-release
Remove org path from artifact build command (#158)

* Remove org path

- Use explicit package name instead of full org path
- Move docker build flow above npm package in terms of priority

Signed-off-by: Nana-EC <[email protected]>

v0.1.0-rc1

03 Jun 13:20
0c701c0
Compare
Choose a tag to compare
v0.1.0-rc1 Pre-release
Pre-release
Bump version to 0.1.0-rc1 (#144)

* Bump version to 0.1.0-rc1

- Bump version to 0.1.0-rc1
- Add Production github action to support release tags

Signed-off-by: Nana-EC <[email protected]>