Go implementation of the Ethereum protocol
Go to file
2014-10-18 13:31:04 +02:00
ethereum Reflect changes to the eth/vm 2014-10-18 13:31:04 +02:00
javascript Updated to reflect the Filter changes in eth-go 2014-10-18 13:20:35 +02:00
mist Reflect changes to the eth/vm 2014-10-18 13:31:04 +02:00
utils Updated vm 2014-10-17 17:14:29 +02:00
.gitignore fix gitignore to ignore executables 2014-06-23 12:13:06 +01:00
.gitmodules Added sample coin as a submodule 2014-07-04 15:49:51 +02:00
.travis.yml sudo not udo 2014-01-10 10:59:57 +01:00
install.sh Update documentation and install.sh script to reflect renaming from ethereal to mist 2014-10-17 19:14:16 -04:00
LICENSE MIT -> GPL 2014-08-21 15:42:59 +02:00
README.md Update documentation and install.sh script to reflect renaming from ethereal to mist 2014-10-17 19:14:16 -04:00

Ethereum

Build
Status master Build
Status develop

Ethereum Go Client © 2014 Jeffrey Wilcke.

Current state: Proof of Concept 0.6.7.

For the development package please see the eth-go package.

Build

To build Mist (GUI):

go get github.com/ethereum/go-ethereum/mist

To build the node (CLI):

go get github.com/ethereum/go-ethereum/ethereum

For further, detailed, build instruction please see the Wiki

General command line options

Shared between ethereum and Mist
-id      Set the custom identifier of the client (shows up on other clients)
-port    Port on which the server will accept incomming connections
-upnp    Enable UPnP
-maxpeer Desired amount of peers
-rpc     Start JSON RPC

-dir     Data directory used to store configs and databases
-import  Import a private key
-genaddr Generates a new address and private key (destructive action)
-h       This

Ethereum only
ethereum [options] [filename]
-js        Start the JavaScript REPL
filename   Load the given file and interpret as JavaScript
-m       Start mining blocks

Mist only
-asset_path    absolute path to GUI assets directory

Contribution

If you would like to contribute to Ethereum Go, please fork, fix, commit and send a pull request to the main repository. Commits which do not comply with the coding standards explained below will be ignored. If you send a pull request, make sure that you commit to the develop branch and that you do not merge to master. Commits that are directly based off of the master branch instead of the develop branch will be ignored.

To make this process simpler try following the git flow branching model, as it sets this process up and streamlines work flow.

Coding standards

Code should be formatted according to the Go Formatting Style.

Unless struct fields are supposed to be directly accessible, provide getters and hide the fields through Go's exporting facility.

Make comments in your code meaningful and only use them when necessary. Describe in detail what your code is trying to achieve. For example, this would be redundant and unnecessary commenting:

wrong

// Check if the value at x is greater than y
if x > y {
    // It's greater!
}

Everyone reading the source code should know what this code snippet was meant to achieve, and so those are not meaningful comments.

While this project is constantly tested and run, code tests should be written regardless. There is not time to evaluate every person's code specifically, so it is expected of you to write tests for the code so that it does not have to be tested manually. In fact, contributing by simply writing tests is perfectly fine!