ECIP 1062: Submit Block RPC
Author | Zachary Belford |
---|---|
Discussions-To | Community Discord |
Status | Draft |
Type | Standards Track |
Category | Interface |
Created | 2019-06-26 |
Abstract
Add an RPC method to submit a new block, instead of having to use submitWork.
Motivation
I would like to be able to submitWork, but have the address used be one other than the etherbase of the node the work is being submitted by.
Specification
{
"openrpc": "1.1.8",
"info": {
"version": "1.0.0",
"title": "Example submitBlock"
},
"methods": [
{
"name": "eth_submitBlock",
"summary": "Submit a new block proposal",
"description": "Given a new block, it will validate the block, and broadcast it to connected peers.",
"params": [
{ "$ref": "https://raw.githubusercontent.com/etclabscore/ethereum-json-rpc-specification/master/openrpc.json#/components/contentDescriptors/Block" }
],
"result": {
"name": "isBlockAccepted",
"schema": {
"type": "boolean"
}
}
}
]
}
Rationale
This removes the dependency for miners to have a geth node with accounts that need to be unlocked. Miners would be able to better isolate their private keys from the world, yeilding better security potential.
Implementation
I think it’s pretty straight forward. Looking at the above specification, we would be adding an eth_submitBlock
RPC method. It’s similar to eth_submitWork
, except with fewer steps before broadcasting the block.