status-go

module
v0.0.0-...-084c4e9 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 16, 2018 License: MPL-2.0

README

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

Directories

Path Synopsis
Package account is a generated GoMock package.
Package account is a generated GoMock package.
cmd
bootnode
bootnode runs a bootstrap node for the Ethereum Discovery Protocol.
bootnode runs a bootstrap node for the Ethereum Discovery Protocol.
Package jail is a generated GoMock package.
Package jail is a generated GoMock package.
internal
Package ottoext contains some extensions for the otto JavaScript interpreter.
Package ottoext contains some extensions for the otto JavaScript interpreter.
metrics
whisper
Package whisper collects Whisper envelope metrics using expvar.
Package whisper collects Whisper envelope metrics using expvar.
notifications
push/fcm
Package fcm is a generated GoMock package.
Package fcm is a generated GoMock package.
Package rpc - JSON-RPC client with custom routing.
Package rpc - JSON-RPC client with custom routing.
services
status
Package status is a generated GoMock package.
Package status is a generated GoMock package.
Package signal implements event-based signalling interface between status-go and externally linked codebases like status-react or status-desktop.
Package signal implements event-based signalling interface between status-go and externally linked codebases like status-react or status-desktop.
Package static embeds static (JS, HTML) resources right into the binaries
Package static embeds static (JS, HTML) resources right into the binaries
t
Package t and its sub-packages are intended to support the testing of status-go.
Package t and its sub-packages are intended to support the testing of status-go.
e2e
fake
Package fake is a generated GoMock package.
Package fake is a generated GoMock package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL