Skip to content

doublethinkco/go-ethereum-cross

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 

Repository files navigation

go-ethereum-cross

Repository containing Docker files for cross-compilation of the Ethereum go client (geth). This is trivial, due to Péter Szilágyi's excellent work on xgo. He has a Wiki post explaining the process at Cross-compiling Ethereum.

This Dockerfile is used as part of doublethinkco's work to bring Ethereum to mobile/wearable Linux platforms for the benefit of the whole Ethereum community, current and future.

It is released as open source software under the permissive MIT license.

See Porting Ethereum to Mobile Linux blog for an overview of our efforts.

How to use it

Clone this repo and build and run Dockerfile:

$ git clone https://github.com/doublethinkco/go-ethereum-cross.git
$ cd go-ethereum-cross
$ sudo docker build .

That generates a Docker image, which is not the same as a Docker container. Docker images are immutable binary images, which are analogous to VM snapshots. Docker containers are particular instances of those images. To get an instance of that newly created image running you need to do:

$ sudo docker run -i -t HASH_OF_IMAGE /bin/bash

In the shell for that container you will see the HASH for the container instance. That container will contain the generated geth binaries, which you can copy out to the host machine with the following command from another shell instance on your host machine. Your "docker run" must still be running for this copy step to work. If somebody who has more Docker experience knows how to streamline this experience, please speak up!

$ sudo docker cp HASH_OF_CONTAINER:/FILENAME ~/

Then you can "exit" the "docker run" session, and stop that Docker container running. It has served its purpose.

The geth development team publish generic ARM binaries as part of their automated build process. In our experience they "just work" in many cases, though they are only targeting ARMv5 and armel ABI.

Platform status

Platform Native Cross Notes
Tizen - Issue #1 Mainly works. Silent failure to be tested on TM1
Sailfish Issue #4 Issue #2 Mainly works. Silent failure to be tested on Jolla Phone
Ubuntu Phone Issue #5 Issue #3 Anthony struggling with device
Android - Working See Ethereum on Android wiki post
iOS - Issue #6 make geth-ios added Nov 24th. Bob to test still.

Copyright (c) 2015 Kitsilano Software Inc

About

Docker files for cross-building the Ethereum go client (geth)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published