Go Shell Makefile Other
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.github Move CONTRIBUTING.md to top level (#798) Apr 4, 2018
.vscode Add config required to debug statusd on VS Code May 1, 2018
_assets Add delay to refresh cycle with patch Aug 15, 2018
account Update to geth 1.8.11. Closes #1033 Jun 22, 2018
api Remove transactions queue 1027 (#1125) Aug 16, 2018
cmd Remove transactions queue 1027 (#1125) Aug 16, 2018
db Centralize leveldb.OpenFile allowing Recover corrupted db everywhere (#… Jul 2, 2018
discovery Implement discovery multiplexer Aug 1, 2018
extkeys extkeys: extended key can derive a child only if its depth is less th… Jun 22, 2018
lib Remove transactions queue 1027 (#1125) Aug 16, 2018
logutils Add LogEnabled attribute to NodeConfig to, used in the call from stat… Apr 26, 2018
mailserver [#1093] Mailserver compatible with sync AND async keys (#1096) Jul 16, 2018
metrics Fix issues reported by lint. Part of #1017 Jun 14, 2018
node Disable NTP sync on the remaining e2e tests Aug 7, 2018
notifications/push Fix issues reported by lint. Part of #1017 Jun 14, 2018
notifier Notifier package to interact with gorush notifications (#910) May 8, 2018
params Add rendezvous nodes to cluster Aug 13, 2018
peers improve flaky TestMailServerPeersDiscovery (#1120) Jul 27, 2018
profiling Add profiling with pprof (#754) Mar 23, 2018
rpc Block some JSON-RPC methods completely Aug 2, 2018
services Remove transactions queue 1027 (#1125) Aug 16, 2018
signal Revert "Add build tags to signal package (#1119)" (#1148) Aug 10, 2018
static Remove unused `test.sol` file Aug 15, 2018
t Remove transactions queue 1027 (#1125) Aug 16, 2018
timesource Sanity validate ntp response Jun 8, 2018
transactions Remove transactions queue 1027 (#1125) Aug 16, 2018
vendor Add delay to refresh cycle with patch Aug 15, 2018
.codeclimate.yml #759 Codeclimate config (#843) Apr 23, 2018
.dockerignore Ignore *.test files from all folders (#635) Feb 8, 2018
.gitignore Implement mailserver canary service. Closes #1086 Aug 7, 2018
.golangci.yml Update to golangci-lint 1.9.1. Get rid of standalone misspell linter. Jul 2, 2018
.travis.yml Use the same boot & static nodes for Rinkeby as in Mainnet. Aug 10, 2018
CONTRIBUTING.md Move CONTRIBUTING.md to top level (#798) Apr 4, 2018
Gopkg.lock Upgrade geth to 1.8.13 (#1140) Aug 7, 2018
Gopkg.toml Upgrade geth to 1.8.13 (#1140) Aug 7, 2018
LICENSE.md Create LICENSE.md Sep 21, 2016
Makefile Remove unused `test.sol` file Aug 15, 2018
README.md [#856] move geth subpackages to root level (#1007) Jun 8, 2018

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 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)

In order to build and use status-go directly from status-react, follow the instructions in https://wiki.status.im/Building_Status, under the 'Building Status with the checked-out version of status-go' section.

Debugging

In order to see the log files while debugging on an Android device, do the following:

  • Ensure that the app can write to disk by granting it file permissions. For that, you can for instance set your avatar from a file on disk.
  • Connect a USB cable to your phone and make sure you can use adb.

Run

adb shell tail -f sdcard/Download/geth.log

IDE Debugging

If you're using Visual Studio Code, you can rename the .vscode/launch.example.json file to launch.json so that you can run the app with the debugger attached.

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 ./api/ -testify.m ^RPCSendTransaction$

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

Licence

Mozilla Public License 2.0