Skip to content

Tracking: EIP-4844 Networking #4052

Closed
Closed
@Rjected

Description

@Rjected

This is a tracking issue for what's needed to implement the Networking section of EIP-4844.

### Tasks
- [ ] #4084
- [ ] https://github.com/paradigmxyz/reth/issues/4073
- [ ] #4102
- [ ] https://github.com/paradigmxyz/reth/pull/4172
- [ ] #4105
- [x] Implement blob validation in transaction pool

The network types might end up looking something like this:

#[derive(Clone, Debug, PartialEq, Eq, RlpEncodableWrapper, RlpDecodableWrapper, Default)]
pub struct PooledTransactions( pub Vec<PooledTransaction> );

pub enum PooledTransaction {
    Normal(TransactionSigned),
    Blob(BlobTransaction)
}

impl Encodable for PooledTransaction {
    // needs custom impl
}

/// A response to [`GetPooledTransactions`] that includes blob data, their commitments, and their
/// corresponding proofs.
// TODO: derive_arbitrary
#[derive(Clone, Debug, PartialEq, Eq, RlpEncodable, RlpDecodable, Default)]
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
pub struct BlobTransaction {
    // TODO: include TxEip4844 into TransactionSigned
    /// The transaction payload.
    pub transaction: TransactionSigned,
    /// The transaction's blob data.
    pub blobs: Vec<Blob>,
    /// The transaction's blob commitments.
    pub commitments: Vec<Bytes48>,
    /// The transaction's blob proofs.
    pub proofs: Vec<Bytes48>,
}

impl BlobTransaction {
    // add validation methods that can be used in the pool
}

Metadata

Metadata

Assignees

Labels

A-devp2pRelated to the Ethereum P2P protocolA-networkingRelated to networking in generalC-tracking-issueAn issue that collects information about a broad development initiativeE-cancunRelated to the Cancun network upgrade

Type

No type

Projects

Status

Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions