Skip to content
/ phant Public

A stateless Ethereum execution client

License

Notifications You must be signed in to change notification settings

jsign/phant

Repository files navigation

phant

An experimental Zig Ethereum client.

Setup

This repo is very experimental, so you have to do some things once.

For now, we use the Zig v0.11 compiler version.

Initialize git submodules

After pulling this repo for the first time, do:

  1. git submodule init
  2. git submodule update -v

Run

You can run something here with:

  • zig build run: which runs main.zig, which is a simple playground for phant-EVMOne intregration.
  • zig build test: it attempts to run a particular exec-spec-tests fixture exec-spec/tests/fixtures/exec-spec/fixture.json, which is an official spec test fixture. This does a bunch of decoding into EVM types, creates a statedb with pre-state (and post-state for posterior check), and tries to execute the block transactions.

Now, everything is quite messy until we have a passing test for this official exec-spec-test fixture.

Probably after that, we can refactor a bit the code to create proper modules and define some clear path forward in each module.

License

MIT

About

A stateless Ethereum execution client

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published