github.com/jonasnick/go-ethereum@v0.7.12-0.20150216215225-22176f05d387/README.md (about) 1 ## Ethereum Go 2 3 Ethereum Go Client © 2014 Jeffrey Wilcke. 4 5 | Linux | OSX | Windows 6 ----------|---------|-----|-------- 7 develop | [![Build+Status](http://build.ethdev.com/buildstatusimage?builder=Linux%20Go%20develop%20branch)](http://build.ethdev.com/builders/Linux%20Go%20develop%20branch/builds/-1) | [![Build+Status](http://build.ethdev.com/buildstatusimage?builder=Linux%20Go%20develop%20branch)](http://build.ethdev.com/builders/OSX%20Go%20develop%20branch/builds/-1) | N/A 8 master | [![Build+Status](http://build.ethdev.com/buildstatusimage?builder=Linux%20Go%20master%20branch)](http://build.ethdev.com/builders/Linux%20Go%20master%20branch/builds/-1) | [![Build+Status](http://build.ethdev.com/buildstatusimage?builder=OSX%20Go%20master%20branch)](http://build.ethdev.com/builders/OSX%20Go%20master%20branch/builds/-1) | N/A 9 10 [![Bugs](https://badge.waffle.io/ethereum/go-ethereum.png?label=bug&title=Bugs)](https://waffle.io/ethereum/go-ethereum) 11 [![Stories in Ready](https://badge.waffle.io/ethereum/go-ethereum.png?label=ready&title=Ready)](https://waffle.io/ethereum/go-ethereum) 12 [![Stories in Progress](https://badge.waffle.io/ethereum/go-ethereum.svg?label=in%20progress&title=In Progress)](http://waffle.io/ethereum/go-ethereum) 13 [![Gitter](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/ethereum/go-ethereum?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge) 14 15 16 Build 17 ===== 18 19 Mist (GUI): 20 21 `go get github.com/ethereum/go-ethereum/cmd/mist` 22 23 Ethereum (CLI): 24 25 `go get github.com/ethereum/go-ethereum/cmd/ethereum` 26 27 For further, detailed, build instruction please see the [Wiki](https://github.com/ethereum/go-ethereum/wiki/Building-Ethereum(Go)) 28 29 Automated (dev) builds 30 ====================== 31 32 * [[Docker](https://registry.hub.docker.com/u/ethereum/client-go/)] 33 * [[OS X](http://build.ethdev.com/builds/OSX%20Go%20develop%20branch/Mist-OSX-latest.dmg)] 34 * [Windows] Coming soon™ 35 * [Linux] Coming soon™ 36 37 Binaries 38 ======== 39 40 Go Ethereum comes with several binaries found in 41 [cmd](https://github.com/ethereum/go-ethereum/tree/master/cmd): 42 43 * `mist` Official Ethereum Browser 44 * `ethereum` Ethereum CLI 45 * `ethtest` test tool which runs with the [tests](https://github.com/ethereum/testes) suit: 46 `cat file | ethtest`. 47 * `evm` is a generic Ethereum Virtual Machine: `evm -code 60ff60ff -gas 48 10000 -price 0 -dump`. See `-h` for a detailed description. 49 * `rlpdump` converts a rlp stream to `interface{}`. 50 * `peerserver` simple P2P (noi-ethereum) peer server. 51 * `disasm` disassembles EVM code: `echo "6001" | disasm` 52 53 General command line options 54 ============================ 55 56 ``` 57 == Shared between ethereum and Mist == 58 59 = Settings 60 -id Set the custom identifier of the client (shows up on other clients) 61 -port Port on which the server will accept incomming connections 62 -upnp Enable UPnP 63 -maxpeer Desired amount of peers 64 -rpc Start JSON RPC 65 -dir Data directory used to store configs and databases 66 67 = Utility 68 -h This 69 -import Import a private key 70 -genaddr Generates a new address and private key (destructive action) 71 -dump Dump a specific state of a block to stdout given the -number or -hash 72 -difftool Supress all output and prints VM output to stdout 73 -diff vm=only vm output, all=all output including state storage 74 75 Ethereum only 76 ethereum [options] [filename] 77 -js Start the JavaScript REPL 78 filename Load the given file and interpret as JavaScript 79 -m Start mining blocks 80 81 == Mist only == 82 83 -asset_path absolute path to GUI assets directory 84 ``` 85 86 Contribution 87 ============ 88 89 If you'd like to contribute to Ethereum please fork, fix, commit and 90 send a pull request. Commits who do not comply with the coding standards 91 are ignored (use gofmt!). If you send pull requests make absolute sure that you 92 commit on the `develop` branch and that you do not merge to master. 93 Commits that are directly based on master are simply ignored. 94 95 For dependency management, we use [godep](https://github.com/tools/godep). After installing with `go get github.com/tools/godep`, run `godep restore` to ensure that changes to other repositories do not break the build. To update a dependency version (for example, to include a new upstream fix), run `go get -u <foo/bar>` then `godep update <foo/...>`. To track a new dependency, add it to the project as normal than run `godep save ./...`. Changes to the Godeps folder should be manually verified then commited. 96 97 To make life easier try [git flow](http://nvie.com/posts/a-successful-git-branching-model/) it sets 98 this all up and streamlines your work flow. 99 100 Coding standards 101 ================ 102 103 Sources should be formatted according to the [Go Formatting 104 Style](http://golang.org/doc/effective_go.html#formatting). 105 106 Unless structs fields are supposed to be directly accesible, provide 107 Getters and hide the fields through Go's exporting facility. 108 109 When you comment put meaningful comments. Describe in detail what you 110 want to achieve. 111 112 *wrong* 113 114 ```go 115 // Check if the value at x is greater than y 116 if x > y { 117 // It's greater! 118 } 119 ``` 120 121 Everyone reading the source probably know what you wanted to achieve 122 with above code. Those are **not** meaningful comments. 123 124 While the project isn't 100% tested I want you to write tests non the 125 less. I haven't got time to evaluate everyone's code in detail so I 126 expect you to write tests for me so I don't have to test your code 127 manually. (If you want to contribute by just writing tests that's fine 128 too!) 129 130