The Status module that consumes go-ethereum
Find a file
Pedro Pombeiro e4cbce12c4
Update to go-ethereum 1.8.1 (#702)
* Update `github.com/ethereum/go-ethereum` package to 1.8.1 branch. Part of #638
* Fix code due to some signature changes. Part of #638
* use upstream for whisper backend
* Add patch to downgrade usage of Whisper v6 to v5 in some geth 1.8.1 vendor files. Part of #638
* Take into account the DNS rebinding protection introduced in 1.8.0 by adding exception for localhost. Part of #638
* Add patches required for cross-compiled builds starting with geth 1.8.0. Only applied during build. Part of #638
* Update expected JSON result in `TestRegressionGetTransactionReceipt()` and `TestCallRawResultGetTransactionReceipt()`. Part of #665
* Fix some failing e2e tests. Part of #638
* Address comments in PR #702. Part of #638
2018-02-27 11:39:30 +01:00
.github Update github-bot.yml 2018-02-08 13:00:10 +01:00
_assets Update to go-ethereum 1.8.1 (#702) 2018-02-27 11:39:30 +01:00
cmd Configure mainnet nodes (#701) 2018-02-26 19:36:04 +01:00
extkeys Fix make lint warnings (#417) 2017-10-20 12:06:22 +03:00
geth Update to go-ethereum 1.8.1 (#702) 2018-02-27 11:39:30 +01:00
lib export ConnectionChange (#685) 2018-02-20 09:22:15 +01:00
metrics add node_peers Prometheus metric 2018-02-13 15:18:29 +01:00
profiling Enable gometalinter on tests and fix static analysis issues #631 (#644) 2018-02-12 13:16:06 +02:00
static Configure mainnet nodes (#701) 2018-02-26 19:36:04 +01:00
t Update to go-ethereum 1.8.1 (#702) 2018-02-27 11:39:30 +01:00
vendor Update to go-ethereum 1.8.1 (#702) 2018-02-27 11:39:30 +01:00
.dockerignore Ignore *.test files from all folders (#635) 2018-02-08 14:23:08 +02:00
.gitignore Update make generate target to account for new _assets folder 2018-02-26 16:04:40 +01:00
.gometalinter.json Disable unparam linter 2018-02-19 11:40:08 +01:00
.travis.yml Fix sync-and-exit option logic (#628) 2018-02-08 10:51:53 +02:00
Gopkg.lock Update to go-ethereum 1.8.1 (#702) 2018-02-27 11:39:30 +01:00
Gopkg.toml Update to go-ethereum 1.8.1 (#702) 2018-02-27 11:39:30 +01:00
LICENSE.md Create LICENSE.md 2016-09-21 10:00:29 +08:00
Makefile Update to go-ethereum 1.8.1 (#702) 2018-02-27 11:39:30 +01:00
README.md Remove mentions of our fork of go-ethereum from docs. 2018-02-15 11:16:59 +01:00

Status bindings for go-ethereum

TravisCI Builds GoDoc Master Build Status Develop Build Status

Docs

Intro

status-go is an underlying part of Status - a browser, messenger, and gateway to a decentralized world.

It's written in Go and requires Go 1.8 or above.

It uses Makefile to do most common actions. See make help output for available commands.

status-go uses go-ethereum with some patches applied in it, located under vendor/ directory. See geth patches README for more info.

Build

There are two main modes status-go can be built:

  • standalone server
  • library to link for Android or iOS

Use following Makefile commands:

  • make statusgo (builds binary into build/bin/statusd)
  • make statusgo-android) (builds .aar file build/android-16/aar)
  • make statusgo-ios and make statusgo-ios-simulator (builds iOS related artifacts in build/os-9.3/framework)

Testing

To setup accounts passphrase you need to setup an environment variable: export ACCOUNT_PASSWORD="secret_pass_phrase".

Make sure the dependencies are installed first by running:

make lint-install
make mock-install

To test fully statusgo, use:

make ci

To test statusgo using a given network by name, use:

make ci networkid=rinkeby

To test statusgo using a given network by number ID, use:

make ci networkid=3

If you have problems running tests on public network we suggest reading e2e guide.

If you want to launch specific test, for instance RPCSendTransactions, use the following command:

go test -v ./geth/api/ -testify.m ^RPCSendTransaction$

Note -testify.m as testify/suite is used to group individual tests.

Licence

Mozilla Public License 2.0