ethereum / ethereum/ddht

One shot DevP2P transaction broadcasting

Open
#162 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
19
Forks
15
PR merge metrics
No merged PRs in 30d

Description

## What was wrong?

We need "one shot DevP2P transaction broadcasting" in order for Alexandria to support the `eth_sendRawTransaction` JSON-RPC API.

## How can it be fixed.

A Trio compatible `async` python function that takes a transaction and broadcasts it into the DevP2P `eth` protocol.

```python
async def broadcast(
*transactions: Transaction,
confirmations: int = 3,
...) -> None:
...
```

Implementation requirements.

- Discovery
- v5.1 protocol only
- Bootstrapping:
- May use a persistent database of nodes for faster bootstrapping.
- Should use discovery protocol for sourcing candidate nodes.
- Broadcasting
- Must broadcast transaction over the DevP2P `eth/65` protocol.
- A "confirmation" is defined as being able to retrieve the transaction from a peer using the `GetPooledTransactions` message.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.