/reason-ethereum

⚗️Experimental Ethereum client

Primary LanguageOCaml

Reason Ethereum

Experimental light client for Ethereum

GitHub release Build status Coveralls github branch

As the Ethereum blockchain has evolved, the need for an optimized mobile implementation has increased. Rethereum tackles this challenge by implementing the light client protocol. Switiching from Geth to Rethereum brought the sync time from 4 hrs to just 20 min.

Installation

First, to obtain the binaries, you can use npm. So you'll need to make sure you have Node installed on your system.

$ npm i -g rethereum

How to build the project

Run make to compile the libraries and executables that are meant to be installed.

$ make

How to run tests

$ make test

How to use local libraries interactively

Use jbuilder utop DIR where DIR if the folder contains the jbuild file for a library. For instance, our sub2 sample library can be used as follows:

$ jbuilder utop rlp/lib
...
utop # open Rethereum_rlp;;
utop # Rlp.encode (Rlp.empty ());;
- : unit = ()

Installation

The project can be installed with or without opam. Without opam, you can run the following which relies directly on dune/jbuilder:

$ make install

Similarly:

$ make uninstall

With opam, you can install the current development version of your project as a single opam package. It will override the currently installed package of the same name, if any:

$ opam pin add proj .

For more information on opam pin, please consult the opam documentation.

The advantage of the opam-based method is that other opam packages can depend on this one, and opam will recompile them automatically as necessary.