JSON-RPC server
See original GitHub issueLooking for the list of supported RPC endpoints?
See the full checklist here: #835
Original Issue
We need to implement the basic API for JSON-RPC server. A simplistic start can be found here: https://github.com/ethereum/py-evm/tree/master/evm/rpc
Lets flesh this out further to something more complete. For now lets keep it as something that must be run as python evm/rpc/server.py ....
I suggest sticking to the read-only apis for now.
Compiled to-do list:
(Checked off at the time of merge)
- support all the
eth_*read-only methods-
eth_protocolVersion -
eth_syncing -
eth_coinbase -
eth_mining -
eth_hashrate -
eth_gasPrice -
eth_accounts -
eth_blockNumber -
eth_getBalance -
eth_getStorageAt -
eth_getTransactionCount -
eth_getBlockTransactionCountByHash -
eth_getBlockTransactionCountByNumber -
eth_getUncleCountByBlockHash -
eth_getUncleCountByBlockNumberblock int -
eth_getUncleCountByBlockNumberblock string -
eth_getCode -
eth_call -
eth_estimateGas -
eth_getBlockByHash -
eth_getBlockByNumberblock int -
eth_getBlockByNumberblock string -
eth_getTransactionByHash -
eth_getTransactionByBlockHashAndIndex -
eth_getTransactionByBlockNumberAndIndex -
eth_getTransactionReceipt -
eth_getUncleByBlockHashAndIndex -
eth_getUncleByBlockNumberAndIndexblock int -
eth_getUncleByBlockNumberAndIndexblock string -
eth_getCompilers -
eth_getLogs -
eth_getWork
-
- serve over socket
- make score available on block object, so that a returned block dict can be formatted without a
chainreference ?
To save for another PR:
- server over HTTP
Issue Analytics
- State:
- Created 6 years ago
- Comments:6 (6 by maintainers)
Top Results From Across the Web
http-jsonrpc-server - npm
A simple and lightweight library for creating a JSON-RPC 2.0 compliant HTTP server. Latest version: 1.1.1, last published: 8 months ago.
Read more >http-jsonrpc-server - GitHub
A simple and lightweight library for creating a JSON-RPC 2.0 compliant HTTP server. This package complies with the JSON-RPC 2.0 and JSON-RPC 2.0...
Read more >JSON-RPC
JSON-RPC. A light weight remote procedure call protocol. It is designed to be simple!
Read more >JSON-RPC Server - Go Ethereum
Ethereum JSON-RPC APIs use a name-space system. RPC methods are grouped into several categories depending on their purpose. All method names are composed...
Read more >jsonrpc-http-server - crates.io: Rust Package Registry
Rust http server using JSON-RPC 2.0. Documentation. Example. Cargo.toml [dependencies] jsonrpc-http-server = "15.0". main ...
Read more >
Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free
Top Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found

Quick information drop about
eth_estimateGas.This may be as simple as returning
computation.gas_meter.start_gas - computation.gas_meter.gas_remaining. However, if memory serves, I think it’s more complicated that that.The way that I recall go-ethereum doing this is to execute the transaction with some very large upper bound of gas like
50,000,000.I’ll re-iterate that the binary search approach may not be necessary based on how we do gas consumption tracking. Let’s see.
Future TODO: make gas price strategy for
eth_gasPricepluggable and implement the Eth Gas Station strategy: https://github.com/ethereum/web3.py/issues/496