The Status module that consumes go-ethereum https://status.im
Go to file
Dmitry Shulyak 6ed5997ff4
Merge pull request #573 from azer/develop
Fix link to geth-patches readme
2018-01-26 07:50:04 +02:00
.github Add probot settings 2018-01-22 16:41:34 +01:00
build Get rid of build/env.sh Fixes #418 (#446) 2017-11-04 00:20:17 -04:00
cmd Manage discovery from flags and refactor handling interrupt signals (#557) 2018-01-22 21:16:13 -08:00
e2e Add a workaround for waiting till node is synced with network (#565) 2018-01-24 23:26:34 -08:00
extkeys Fix make lint warnings (#417) 2017-10-20 12:06:22 +03:00
geth Fix PeerCount lint warning 2018-01-25 12:16:59 +02:00
geth-patches Clean up whisper log delivery (#555) 2018-01-19 15:53:16 +01:00
helpers/profiling Feature/profiling #257 (#264) 2017-09-01 21:09:11 +07:00
lib Remove creating global `_status_catalog` variable 2018-01-09 17:53:33 +01:00
static Use gometalinter config instead of makefile (#560) 2018-01-24 00:25:28 -08:00
testing Add a workaround for waiting till node is synced with network (#565) 2018-01-24 23:26:34 -08:00
vendor Introduce the dependency vendoring tool: `dep`. (#551) 2018-01-25 14:08:43 +01:00
xgo Fix dependency version to build xgo-ios-simulator image (#542) 2018-01-10 10:37:09 +01:00
.dockerignore Update Dockerfile (#521) 2018-01-03 20:50:19 +02:00
.gitignore .gitignore: add vim swap files (#545) 2018-01-09 18:28:03 +01:00
.gometalinter.json Use gometalinter config instead of makefile (#560) 2018-01-24 00:25:28 -08:00
.travis.yml Use single codepath for sending transactions to a local and remote nodes (#527) 2018-01-18 17:55:17 +01:00
DEPENDENCIES.md Introduce the dependency vendoring tool: `dep`. (#551) 2018-01-25 14:08:43 +01:00
Dockerfile Cleanup after merging wnode-status and statusd (#554) 2018-01-17 22:40:14 +01:00
Gopkg.lock Introduce the dependency vendoring tool: `dep`. (#551) 2018-01-25 14:08:43 +01:00
Gopkg.toml Introduce the dependency vendoring tool: `dep`. (#551) 2018-01-25 14:08:43 +01:00
Jenkinsfile add 'g' prefix before artifact SHA (#358) 2017-09-25 18:06:13 +02:00
Jenkinsfile-manual send message with build version in slack (parametrized build) (#495) 2017-12-05 09:35:12 +01:00
LICENSE.md Create LICENSE.md 2016-09-21 10:00:29 +08:00
Makefile Use gometalinter config instead of makefile (#560) 2018-01-24 00:25:28 -08:00
README.md Fix link to geth-patches readme 2018-01-26 10:14:29 +08:00
package-lock.json Refactor shh_requestMessages method (#513) 2017-12-21 11:26:01 +01:00
package.json Refactor shh_requestMessages method (#513) 2017-12-21 11:26:01 +01:00

README.md

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 forked ethereum-go with some patches applied in it, located under vendor/ dir. 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 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