pallet-revive-eth-rpc: Introduce SubstrateClientT trait abstraction and Asset Hub embedded RPC integration#11297
pallet-revive-eth-rpc: Introduce SubstrateClientT trait abstraction and Asset Hub embedded RPC integration#11297Nathy-bajo wants to merge 79 commits intoparitytech:masterfrom
Conversation
|
@Wizdave97 @seunlanlege Ready for review |
pgherveou
left a comment
There was a problem hiding this comment.
Thanks for putting that together.
Before we can move forward, we need to check with the Node team
if they are ok adding these dependencies to the omninode cc @skunert
One of the reason we didn't do it initially was:
- 1 so we could move fast and deploy new version without touching the client.
- 2 so that it's not tied to a client implementation. But I guess since most collator should run the omni -ode and there are no other collator implementation, that doesn't really matter.
The eth server is more stable now so it make sense to remove the requirement for a second binary / host url, and your design allow to keep both the binary inside the client and to build it as a separate binary with subxt.
There was a problem hiding this comment.
To simplify the review and not scare the reviewer, I would move the dev-node deletion to a follow up
|
Also tried to build it locally but seems not to compile yet. |
Thanks for the review, fixing ci |
This could be caused by sync_backward panicking due to ChainMismatch. Please check #11153 for context. Try one of: |
Still no luck, can you review the codes please? |
|
This as any other project is bottlenecked by review time. Reviewing a giant PR that the author can't make to work is not a good use of that time. It needs to work first. |
|
@athei @marian-radu @pgherveou CI passes now so I believe it works, also tested internally. |
closes #11221
Removes the
revive-dev-nodestandalone binary and integrates thepallet-reviveETH RPC server directly into the Asset Hub (Omni) node. Introduces aSubstrateClientTtrait that abstracts all Substrate node interactions, allowingEthRpcServerImplto be generic over its backend. A newNativeSubstrateClientimplementation backed bysc_client_apitraits provides a direct in-process path with nosubxtdependency on the hot path. TheSubxtClientpath is preserved unchanged for the standaloneeth-rpcbinary. On the node side,BuildAssetHubRpcExtensionsis added topolkadot-omni-node-libbehind an opt-inrevive-rpcfeature, registering the fulleth_*/debug_*/net_*/web3_*surface on the standard RPC port alongside existing parachain RPCs.