"go getting" specific github branch of go-ethereum (or what to run on OSX)

I've been trying to download and run a working Ethereum client on OSX 10.9 for a few days now to no avail.

I'm not a command-line-savvy person, that's for sure, only using java and android/eclipse, and I'm finding github tutorials near impossible to follow because they always skip a step here or there and don't explain every little detail a true beginner needs. Yesterday I got quite close and everything worked, downloading go-ethereum from github

go get github.com/ethereum/go-ethereum

but there was a new known bug and it wouldn't compile :(


Obscuren says the "develop" branch should work for now instead of the default, but I can't find any info on how to specify the branch using the "go get [address]" syntax.

Downloading the precompiled clients hasn't worked either. Also, what does "edge" in the above link context? Google is not helping one bit on any of these problems.

Would I be better off trying a whole different project like cpp-ethereum? I'm only familiar with java so it's all greek to me :) Ideally I want to mine and have an environment to start coding contracts.


  • wemeetagainwemeetagain Member Posts: 30
    edited March 2014
    It sounds like obscuren is referring to cloning the repo locally, checking out the develop branch, then running 'go build' to build the packages or 'go install' to install them in the GOPATH. Edge probably refers to the most cutting edge version of the code, not on the master branch.

    basically, you'll want to something like this:
    git clone https://github.com/ethereum/go-ethereum cd go-ethereum git checkout develop go build

    that would:
    1. pull the go-ethereum files locally to your computer (to the directory ./go-ethereum)
    2. enter the directory
    3. Switch to the develop branch (from the master branch)
    4. build the go files (an executable should be in the directory after this)
    Post edited by wemeetagain on
  • EicosapentaenoicEicosapentaenoic Member Posts: 14
    edited March 2014
    Thanks wemeetagain!

    OK, so I tried the clone a bunch and it didn't work saying it couldn't find the directory so I did it straight from github.com and got the dependency eth-go to build successfully!

    Switched go-ethereum to develop and tried to build and got this one error:

    # github.com/ethereum/go-ethereum/ui
    ui/library.go:12: undefined: ethchain.StateManager

    Maybe I took to long and another problem was introduced :P I'm getting close though I think...

    Also, how do I format code on this forum?

    edit: I'll try the c++ build for now.
  • wemeetagainwemeetagain Member Posts: 30
    edited March 2014
    to format code use the code html tag around your code < code >

    You may need to go to the eth-go directory in your GOPATH and switch that to the develop branch + go install. (The go-ethereum frontend may require the develop branch of the eth-go backend in order to work.)

    cd $GOPATH/src/github.com/ethereum/eth-go
    git checkout develop
    go install
    Post edited by wemeetagain on
  • EicosapentaenoicEicosapentaenoic Member Posts: 14
    Aha! That makes sense!

    I just saw somewhere that maybe I should have done

    git clone https://github.com/ethereum/go-ethereum.git

    instead from the command line, adding the ".git". Will check it out.

    BTW your code isn't formatting correctly because the tags aren't inline with the text.

  • EicosapentaenoicEicosapentaenoic Member Posts: 14
    OK, things are going well. I was able to build both and it generated the executable but when I ran it I found that an address was still pointing to the developer's comp and so I edited the source code and rebuilt it and the UI worked!

    Now I'm going to have to figure out how to connect to some peers and see if I can mine to the blockchain.

    Output starting the app:

    2014/03/07 19:46:18 [CHAIN] Last known block height #1 2014/03/07 19:46:18 Last block: ab6b9a5613970faa771b12d449b2e9bb925ab7a369f0a4b86b286e9d540099cf 2014/03/07 19:46:18 Starting Ethereum v0.3.1 2 2014/03/07 19:46:18 [GUI] Starting GUI

    Dunno if the block height should be 1, that's probably because I'm not connected yet.

    I go to Network>Start and get this:

    2014/03/07 19:48:22 wallet.qml:40: file:///Users/MY_NAME/go/src/github.com/ethereum/go-ethereum/qml/wallet.qml:40: Error: Insufficient arguments

    So that's not too good. Pressing the Connect button yields:

    2014/03/07 19:49:30 Ready and accepting connections 2014/03/07 19:49:30 Seeding 2014/03/07 19:49:30 Found DNS Bootstrap Peer: 2014/03/07 19:49:30 [SERV] Adding peer 1 / 5

    which looks really good, but no actual peers are connecting via the bootstrap after half an hour.

    Will see what I can do.

    Thanks again wemeetagain!
  • wemeetagainwemeetagain Member Posts: 30
    Ah, yes. It looks like line 57 is a placeholder. I'm guessing its because they haven't built the OSX-specific part of the MakeFile yet.
Sign In or Register to comment.