Implementation of an Ethereum sidechain for Bitcoin, using Drivechain (BIP300/301).
The following things are needed before you can build this project. Obtaining them is left as an excercise to the reader.
- Rust (
cargo
). The project uses a Drivechain library written in Rust. - C compiler. Needed for using the compiled Rust bindings.
- Go.
make
$ make sidegeth
# Tweak these values as needed
$ ./build/bin/sidegeth \
--main.host=localhost --main.user=user \
--main.password=password --main.port=18443
If you're on Windows, things are more complicated. The first step here is to reevaluate your choices, and use a proper OS. If you still insist on using Windows, do this:
- Install dependencies using Chocolatey:
choco install golang make rust mingw
In case you're wondering,mingw
is a GNU distribution for Windows. - Download MSYS2
This gives you (among other things) a workingbash
shell for Windows. - Clone, compile and install
dlfcn-win32
. This is a dependency for the Rust Drivechain library.- Clone the repo
- Open up a
bash
shell (NOT through WSL, but native Windowsbash
from MSYS2) - Build the library:
./configure --prefix=/ --libdir=$PWD/libdir --incdir=$PWD/incdir && make
- Install the library by placing
./libdir/libdl.a
somehereld
can find it. One such location can beC:\ProgramData\mingw64\mingw64\lib
, but who knows if this is a horrible idea. This guide was written by a Windows noob.
- Build:
make sidegeth