Status bindings for go-ethereum
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.
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
make statusgo-android(builds .aar file
make statusgo-ios-simulator(builds iOS related artifacts in
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.
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 shell tail -f sdcard/Download/geth.log
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.
To setup accounts passphrase you need to setup an environment variable:
Make sure the dependencies are installed first by running:
make lint-install make mock-install
To test fully statusgo, use:
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$
-testify.m as testify/suite is used to group individual tests.