From f27e5c18af404c88c381065c2f3bab400189b120 Mon Sep 17 00:00:00 2001 From: Martin Paulucci Date: Thu, 30 May 2024 20:08:37 +0200 Subject: [PATCH 1/2] Update README.md --- README.md | 67 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) diff --git a/README.md b/README.md index 8fbdd15b746..3f6200b6f33 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,69 @@ # ethereum_rust Ethereum Execution client + +# Milestones + +## Milestone Zero (Setup) + +- Repository boilerplate +- Http Server setup +- Support the following RPC endpoints + - `eth_chainId` + - `engine_exchangeCapabilities` + +## First Milestone (Blocks) + +*Needs: RLP, DevP2P* + +- Spin a local-net with https://github.com/kurtosis-tech/ethereum-package + - Add CLI to the node with minimal configuration +- Receive block headers and bodies through gossip +- Store block headers and bodies in DB +- Store transactions and receipts +- Support the following RPC endpoints + - `eth_chainId` + - `eth_getBlockByHash` + - `eth_getBlockByNumber` + - `eth_blockNumber` + - `eth_getBlockReceipts` + - `eth_getBlockTransactionCountByNumber` + - `eth_getTransactionByBlockHashAndIndex` + - `eth_getTransactionByBlockNumberAndIndex` + +## Second Milestone (EVM) + +*Needs: rEVM integration*, *Patricia Merkle Tree* + +- Call the EVM to perform the state transition +- Verify post state hash +- Store the state in DB +- Support the following RPC endpoints: + - `eth_getBalance` + - `eth_getCode` + - `eth_getStorageAt` + - `eth_getProof` + +## Third Milestone (Consensus) + +Needs: *Block downloader, Blockchain tree* + +- Support for forkchoice update from consensus client +- Downloading missing blocks +- Support the following RPC endpoints: + - `engine_exchangeCapabilities` + - `eth_syncing` + - `engine_forkchoiceUpdatedV3` + - `engine_newPayloadV3` + +## Fourth Milestone (Transactions) + +- Support to download initial unconfirmed transactions via p2p request +- Support receiving and re-propagating transactions in gossip +- Support sending transactions via RPC +- Support the following RPC endpoints: + - `eth_getTransactionByHash` + - `eth_sendTransaction` + - `eth_sendRawTransaction` + - `eth_call` + - `eth_createAccessList` + - `eth_getTransactionReceipt` From 690d9b4eef5cab97e835e739bea621e68ce5e1e7 Mon Sep 17 00:00:00 2001 From: Martin Paulucci Date: Fri, 31 May 2024 16:09:48 +0200 Subject: [PATCH 2/2] Add tbd. --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index 3f6200b6f33..a5bd113307c 100644 --- a/README.md +++ b/README.md @@ -67,3 +67,6 @@ Needs: *Block downloader, Blockchain tree* - `eth_call` - `eth_createAccessList` - `eth_getTransactionReceipt` + +## Fifth Milestone +TBD