b2580c79d7
Network disconnect is introduced by removing default gateway, easily reversible condition. On my local machine it takes 30 seconds for peers to reconnect after connectivity is restored. As you guess this is not an accident, and there is 30 seconds timeout for dial expiration. This dial expiration is used in p2p.Server to guarantee that peers are not dialed too often. Additionally I added small script to Makefile to run such tests in docker environment, usage example: ``` make docker-test ARGS="./t/destructive/ -v -network=4" ``` |
||
---|---|---|
.github | ||
_assets | ||
cmd | ||
extkeys | ||
geth | ||
lib | ||
metrics | ||
profiling | ||
static | ||
t | ||
vendor | ||
.dockerignore | ||
.gitignore | ||
.gometalinter.json | ||
.travis.yml | ||
Gopkg.lock | ||
Gopkg.toml | ||
LICENSE.md | ||
Makefile | ||
README.md |
README.md
Status bindings for go-ethereum
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 intobuild/bin/statusd
)make statusgo-android
) (builds .aar filebuild/android-16/aar
)make statusgo-ios
andmake statusgo-ios-simulator
(builds iOS related artifacts inbuild/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.