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 changes in it, located under vendor/ dir.
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 intobuild/bin/statusd)make statusgo-android) (builds .aar filebuild/android-16/aar)make statusgo-iosandmake statusgo-ios-simulator(builds iOS related artifacts inbuild/os-9.3/framework)
To setup accounts passphrase you need to setup an environment variable: export ACCOUNT_PASSWORD="secret_pass_phrase".
To test statusgo, use: make ci.
To test statusgo using a giving network by name, use: make ci networkid=rinkeby.
To test statusgo using a giving network by id number, 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.