class Ethereum < Formula desc "Official Go implementation of the Ethereum protocol" homepage "https://ethereum.github.io/go-ethereum/" url "https://github.com/ethereum/go-ethereum/archive/v1.8.10.tar.gz" sha256 "d7e671c9d2203d240b2150f84e1f87759583a6beaa1168234d9c1bd883327ae0" head "https://github.com/ethereum/go-ethereum.git" bottle do cellar :any_skip_relocation sha256 "0e5e12c8085aac8e990f7a682dddfe730bbc91a10fe505b78ce948b2840574b7" => :high_sierra sha256 "4e80f0fad91782bf0d9f9937971649675946e1f1d660f8bd108a04574576eb8c" => :sierra sha256 "4dec427334f4521bcf5f04194d570b1cd38e921e3a04625042753152b1ce671a" => :el_capitan end depends_on "go" => :build def install system "make", "all" bin.install Dir["build/bin/*"] end test do (testpath/"genesis.json").write <<~EOS { "config": { "homesteadBlock": 10 }, "nonce": "0", "difficulty": "0x20000", "mixhash": "0x00000000000000000000000000000000000000647572616c65787365646c6578", "coinbase": "0x0000000000000000000000000000000000000000", "timestamp": "0x00", "parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000", "extraData": "0x", "gasLimit": "0x2FEFD8", "alloc": {} } EOS system "#{bin}/geth", "--datadir", "testchain", "init", "genesis.json" assert_predicate testpath/"testchain/geth/chaindata/000001.log", :exist?, "Failed to create log file" end end