Skip to content

Commit

Permalink
fix: add further specification
Browse files Browse the repository at this point in the history
  • Loading branch information
BelfordZ committed Sep 11, 2019
1 parent f0a834b commit 08dbb0b
Showing 1 changed file with 12 additions and 5 deletions.
17 changes: 12 additions & 5 deletions EIPS/eip-6969.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,26 +2,34 @@
eip: 6969
title: Submit Block RPC
author: Zachary Belford (@belfordz)
discussions-to: https://github.com/etclabscore/ECIPs/issues/32
status: Draft
type: Standards Track
category: Interface
created: 2019-06-26
requires: 3333, 1474
requires: 1474
---

## Simple Summary
Add an RPC method to submit a new block, instead of having to use submitWork.

## Abstract
At the moment, there is no high level facility through which an external-to-geth system can submit a newly mined block. Mining pools rely on submitWork, which implies that the provider of the submitted work is not able to, at the time of submission, provide an address to receive the payout.
At the moment, there is no high level facility through which an external-to-geth system can submit a newly mined block. Mining pools rely on submitWork, which implies that the provider of the submitted work is not able to, at the time of submission, provide an address to receive the payout.

By adding a JSON-RPC method that accepts a fully formed new block to submit instead of having to use `submitWork`, we will drastically simplify the process and software required to build a highly scalable mining pool.
By adding a JSON-RPC method that accepts a fully formed new block to submit instead of having to use `submitWork`, we will drastically simplify the process and software required to build a highly scalable mining pool.

## 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
The submit block method should accept a block as its parameter.

The submitted block is validated and added to the blockchain.

If the block is has been accepted into the chain, the result will be `true` and `false` otherwise.

Below is the method specified using [OpenRPC](https://spec.open-rpc.org) spec.

```json
{
"openrpc": "1.1.8",
Expand Down Expand Up @@ -70,8 +78,7 @@ Should return something of the shape:
```

## 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.
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.

## Copyright
Copyright and related rights waived via [CC0](https://creativecommons.org/publicdomain/zero/1.0/).

0 comments on commit 08dbb0b

Please sign in to comment.