Skip to content

bwasty/teth

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

66 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

teth - Toy Ethereum implementation

Docs Actions Status

Goals

  • implement Ethereum straight from the Yellow Paper
  • (over)simplify things at first for a quick implementation
    • no EVM/real contracts for now
    • compatibility with real Ethereum: maybe later if at all
  • create a small browser game on top of it to teach the basics of Ethereum

Current state

There are structs that should cover most necessary data structures, a bit of validatation and execution logic here and there, and a few JSON RPC methods. Almost ready to send transactions...

Difference to parity-ethereum

teth uses many of the same utility crates as parity-ethereum (such as rlp, patricia-trie, tiny-keccak and ethereum-types), but otherwise aims to be an independent implementation of the specification. Also, parity-ethereum is quite large (~143k LoC) and has many options; teth will remain small and just implement the specification in a straight-forward manner.

Usage

NOTE: Almost every command will fail with 'not implemented yet' at the moment!

Run teth without arguments to see options and subcommands:

teth 0.0.1
A Toy Ethereum implementation.

USAGE:
    teth <SUBCOMMAND>

FLAGS:
    -h, --help       Prints help information
    -V, --version    Prints version information

SUBCOMMANDS:
    node           Run a node.
    help           Prints this message or the help of the given subcommand(s)

teth help node:

USAGE:
    teth node [FLAGS]

FLAGS:
        --bootstrap    Bootstrap the chain (with the genesis block).
    -h, --help         Prints help information

Development

Coverage

Install cargo-cov and run ./test_with_coverage.sh (opens HTML report when done). Requires nightly Rust.

About

Toy Ethereum implementation (WIP, abandoned)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published