Ethereum Improvement Proposal Validator

Overview

EIP validator

license ci status

An engine which ensures Ethereum Improvement Proposals meet certain requirements.

Getting Started

To install eipv and validate the EIPs repository:

git clone https://github.com/lightclient/eipv.git
cargo install --path=eipv eipv
eipv /path/to/EIPS

Requirements

This tracks what eipv can validate.

  • Preamble starts with ---
  • Preamble ends with ---
  • Preamble includes all required fields:
    • eip
    • title
    • description
    • author
    • discussions-to
    • created
    • status
    • type
    • category (iff type == "Standards Track")
  • Preamble does not include any unknown fields
  • Preamble fields are properly formed:
    • Each field is of the shape {field}: {value}\n
    • eip is an unsigned integer
    • title is a string whose length is less than 44 characters
    • author is a comma-separated string of author information which has three possible shapes:
      • Name only: John A. Doe
      • Name and email: John A. Doe <[email protected]>
      • Name and Github username: John A. Doe (@johndoe)
    • discussions-to is a URL where discussions regarding the EIP should be directed
    • discussions-to does not point to a PR
    • status is one of the following string values:
      • draft
      • last call
      • accepted
      • final
      • abandoned
      • rejected
      • superseded
    • type is one of the following string values:
      • standards track
      • informational
      • meta
    • category is one of the following string values:
      • core
      • networking
      • interface
      • erc
    • review-period-end is a date value
    • created is a date value
    • updated is a comma-separated list of date values
    • requires is a comma-separated list of EIP numbers in ascending order
    • superseded-by is a comma-separated list of EIP numbers in ascending order
    • replaces is a comma-separated list of EIP numbers in ascending order
    • resolution is a URL
  • EIP numbers listed as required exist
  • EIP numbers listed as superseded-by exist and list the current EIP in its replaces field
  • EIP numbers listed as replaces exist and list the current EIP in its superseded-by field
  • The EIP body includes the required sections in the following order:
    • Abstract
    • Motivation
    • Specification
    • Rationale
    • Backwards Compatibility
    • Test Cases
    • Implementations
    • Security Considerations
    • Copyright Waiver
  • The Abstract section is no longer than 200 words
  • The Copyright Waiver section contains only the following string: Copyright and related rights waived via CC0.
  • The EIP body does not include any unclosed brackets or parentheses outside of code snippets
  • File name is of form eip-N.md, where N coresponds to the EIP's assigned number
  • URLs to other EIPs are relative links
  • No trailing whitespace in preamble
You might also like...
An Ethereum compatible Substrate blockchain for bounties and governance for the Devcash community.

Substrate Node Template A fresh FRAME-based Substrate node, ready for hacking 🚀 Getting Started Follow the steps below to get started with the Node T

Scans the Ethereum network for USDT ERC-20 token transfer transactions

ethscan This is a Rust command line program for scanning the Ethereum blockchain for USDT transfers within a time span and amount span. prerequisites

Terabethia - A Bridge and Messaging Protocol between Ethereum and the Internet Computer.
Terabethia - A Bridge and Messaging Protocol between Ethereum and the Internet Computer.

Terabethia - A Bridge Between Ethereum & the Internet Computer Terabethia is a bridge between Ethereum & the Internet Computer that contracts in both

Emerging smart contract language for the Ethereum blockchain.

Emerging smart contract language for the Ethereum blockchain.

zkSync: trustless scaling and privacy engine for Ethereum

zkSync: scaling and privacy engine for Ethereum zkSync is a scaling and privacy engine for Ethereum. Its current functionality scope includes low gas

A toolbox for zkSNARKs on Ethereum

ZoKrates ZoKrates is a toolbox for zkSNARKs on Ethereum. This is a proof-of-concept implementation. It has not been tested for production. Getting Sta

Bellman zkSNARK library for community with Ethereum's BN256 support

bellman "Community edition" Originally developed for ZCash, with extensions from us to make it a little more pleasant. Uses our "community edition" pa

Foundry is a blazing fast, portable and modular toolkit for Ethereum application development written in Rust.

foundry Foundry is a blazing fast, portable and modular toolkit for Ethereum application development written in Rust. Foundry consists of: Forge: Ethe

Vanitygen-bip39 - Generate vanity / gas efficient Ethereum addresses for your hdwallet (bip39 12 or 24 words)
Vanitygen-bip39 - Generate vanity / gas efficient Ethereum addresses for your hdwallet (bip39 12 or 24 words)

vanitygen-bip39 Generate Ethereum gas efficient addresses with leading zeros https://medium.com/coinmonks/on-efficient-ethereum-addresses-3fef0596e263

Owner
I am a Rust Blockchain Developer who loves crypto-world.
null
Substreams development kit for Ethereum chains, contains Firehose Block model and helpers as well as utilities for Ethereum ABI encoding/decoding.

Substreams Ethereum Substreams development kit for Ethereum chains, contains Rust Firehose Block model and helpers as well as utilities for Ethereum A

StreamingFast 15 Oct 25, 2022
Ethereum (and Ethereum like) indexer using P2P message to fetch blocks and transactions

Ethereum P2P indexer This project is an indexer for Ethereum and Ethereum forks. It takes advantage of the ETH (Ethereum Wire Protocol) to fetch block

null 5 Nov 10, 2023
Custom Ethereum vanity address generator made in Rust

ethaddrgen Custom Ethereum address generator Get a shiny ethereum address and stand out from the crowd! Disclaimer: Do not use the private key shown i

Jakub Hlusička 153 Dec 27, 2022
Rust Ethereum 2.0 Client

Lighthouse: Ethereum 2.0 An open-source Ethereum 2.0 client, written in Rust and maintained by Sigma Prime. Documentation Overview Lighthouse is: Read

Sigma Prime 2.1k Jan 6, 2023
Parity-Bridge — Bridge between any two ethereum-based networks

Deprecated Bridges This repo is deprecated. Originally it contained the ETH <> ETH-PoA bridge (see tumski tag). Later it was repurposed for ETH-PoA <>

Parity Technologies 314 Nov 25, 2022
The fast, light, and robust client for the Ethereum mainnet.

OpenEthereum Fast and feature-rich multi-network Ethereum client. » Download the latest release « Table of Contents Description Technical Overview Bui

OpenEthereum 1.6k Dec 28, 2022
An Ethereum 2.0 Emulator for Local Testing of Eth2 Applications

Mousse is an Ethereum 2.0 emulator for local testing of Eth2 applications (mainly Rollups). HTTP Server The REST API definition can be found in the ht

Mousse 46 Sep 10, 2022
C++ `std::unique_ptr` that represents each object as an NFT on the Ethereum blockchain

C++ `std::unique_ptr` that represents each object as an NFT on the Ethereum blockchain

null 1.9k Dec 28, 2022
Rust client to Opensea's APIs and Ethereum smart contracts

opensea.rs Rust bindings & CLI to the Opensea API and Contracts CLI Usage Run cargo r -- --help to get the top level help menu: opensea-cli 0.1.0 Choo

Georgios Konstantopoulos 226 Dec 27, 2022
Terra Trophies is a copy of Ethereum's POAP project for Terra

Terra Trophies Terra Trophies is a copy of Ethereum's POAP project for Terra. It allows anyone to create digital badges for participants of events, or

larry.{ust,sol,thor} 18 Dec 7, 2022