Giter Site home page Giter Site logo

homebrew-ethereum's Introduction

homebrew-ethereum

Homebrew Tap for Ethereum

Installation

brew tap ethereum/ethereum

Go client

brew install ethereum

C++ client

brew install cpp-ethereum
brew linkapps cpp-ethereum

Running

Go client

geth

C++ client

eth

Development

Get the latest development version with the --devel flag. Use --build-from-source if you don't want a pre-built bottle. Alternatively you can use the --successful flag (cpp-ethereum only, see important note below) or any other available options.

C++ client

brew reinstall cpp-ethereum --devel

For the latest successful build on develop (last successful build from cpt-obvious):

brew reinstall cpp-ethereum --devel --successful

Important note when using --successful

If you get an error looking like this:

==> Cloning https://github.com/ethereum/cpp-ethereum.git
Updating /Library/Caches/Homebrew/ethereum--git
fatal: reference is not a tree: <latest commit hash>
Error: Failed to download resource "ethereum"
Failure while executing: git checkout -q -f

Either try brew fetch cpp-ethereum --devel or simply delete the cache with rm -rf /Library/Caches/Homebrew/cpp-ethereum--git

Go client

brew reinstall ethereum --devel

Current branches

Go:

  • --devel is on develop branch
  • normal install is on master branch

C++:

  • --devel is on develop
  • normal install is on master branch

Upgrading

brew update && brew upgrade

Minor updates

Go client

brew update && brew reinstall ethereum

C++ client

brew update && brew reinstall cpp-ethereum

Versions

List available versions with:

ls -l /usr/local/Cellar/ethereum
ls -l /usr/local/Cellar/cpp-ethereum

If you have other versions installed, you can switch with:

brew switch ethereum <version>

Or follow this StackOverflow answer

These brews can be installed via the raw GitHub URLs, or by cloning this repository locally with brew tap ethereum/ethereum. You can also install binary bottles directly with brew install <bottle_url>, see cpt-obvious for previous builds.

Options

See brew info ethereum or brew info cpp-ethereum for all options. --with-... features are experimental patches.

cpp-ethereum options

Option desc.
--with-evmjit Build with LLVM and enable EVMJIT
--successful Last successful build using --devel only
--with-debug Pass -DCMAKE_BUILD_TYPE=Debug
--with-vmtrace Build with -DVMTRACE=1
--with-paranoia Build with -DPARANOID=1

Note: --with-evmjit requires LLVM to be installed with brew install llvm --HEAD --with-clang

Troubleshooting

  • Use --verbose to get more info while installing.
  • Make sure to update XCode and the command line tools.
  • Run brew update and brew upgrade
  • Fix what the brew doctor says.
  • Reinstall dependencies: brew reinstall boost --c++11 --with-python
  • Make changes to /usr/local/Library/Taps/ethereum/homebrew-ethereum/ethereum.rb
  • Reinstall with brew reinstall ethereum.rb (send a pull request!)
  • Take a walk

Patching

First cd /Library/Caches/Homebrew/ethereum--git/ and make your changes. Then git diff > shiny.patch, copy/paste the content of your patch under __END__ of ethereum.rb and replace the def patches block with:

def patches
  DATA
end

If you want to submit your change, save your patch in a gist, add your option 'shiny-option', 'Shiny description' and the URL to your gist in the patches block and submit a pull request. Make sure to send a pull request to Ethereum also!

homebrew-ethereum's People

Contributors

caktux avatar bobsummerwill avatar fjl avatar chriseth avatar debris avatar axic avatar obscuren avatar karalabe avatar zhangsoledad avatar area avatar hubgit avatar ethertyper avatar chfast avatar bryant1410 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.