The Status module that consumes go-ethereum https://status.im
Go to file
Athos Ribeiro d58a06c323 Fix string printed after compilation is done (#505)
* Fix string printed after compilation is done

On GNU coreutils 8.27, echo prints the \n occurrences as literals. This
commit changes the calls to echo containing such character to calls to
printf, and appends another \n in the end of the line.

* Fix indent
2018-02-02 16:54:14 +01: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
ci Add vendor-check script, Makefile target and CI step (#581) 2018-02-01 18:14:51 +01:00
cmd Make whisper nodes reachable from prometheus by sharing a network 2018-02-02 15:22:22 +02:00
docker Make whisper nodes reachable from prometheus by sharing a network 2018-02-02 15:22:22 +02:00
e2e Result of tx processing returned as QueuedTxResult 2018-02-02 09:47:56 +02:00
extkeys Fix make lint warnings (#417) 2017-10-20 12:06:22 +03:00
geth Result of tx processing returned as QueuedTxResult 2018-02-02 09:47:56 +02:00
geth-patches [#429/partial] Add a patch to fix npe in go-ethereum. (#599) 2018-02-02 13:30:56 +01:00
helpers/profiling Feature/profiling #257 (#264) 2017-09-01 21:09:11 +07:00
lib Result of tx processing returned as QueuedTxResult 2018-02-02 09:47:56 +02:00
metrics Add support for metrics (#558) 2018-01-30 12:51:48 +01:00
static Add support for metrics (#558) 2018-01-30 12:51:48 +01:00
testing Add support for metrics (#558) 2018-01-30 12:51:48 +01:00
vendor [#429] fix npe in geth's filter system. 2018-02-02 15:10:30 +02: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 Add vendor-check script, Makefile target and CI step (#581) 2018-02-01 18:14:51 +01:00
DEPENDENCIES.md Introduce the dependency vendoring tool: `dep`. (#551) 2018-01-25 14:08:43 +01:00
Dockerfile Add support for metrics (#558) 2018-01-30 12:51:48 +01:00
Gopkg.lock [#429] fix npe in geth's filter system. 2018-02-02 15:10:30 +02:00
Gopkg.toml Add support for metrics (#558) 2018-01-30 12:51:48 +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 Fix string printed after compilation is done (#505) 2018-02-02 16:54:14 +01:00
README.md Add instructions how to prepare/run e2e tests (#577) 2018-01-29 11:14:55 +01: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 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