The Status module that consumes go-ethereum
https://status.im
58fcf809ea
* Replace mclock with time in peer pools we used mclock as golang before 1.9 did not support monotonic clocks, https://github.com/gavv/monotime, it does now https://golang.org/pkg/time/ so we can fallback on the system implementation, which will return nanoseconds with a resolution that is system dependent. * Handle case where peer have same discovered time In some system the resolution of the clock is not high enough so multiple peers are added on the same nanosecond. This result in the peer just added being immediately removed. This code adds a check making sure we don't assume that a peer is added. Another approach would be to make sure to include the peer in the list, so prevent the peer just being added to be evicted, but it's slightly more complicated and the resolution is generally accurate enough for our purpose so that peers will be fresh enough if they have the same discovered time. It also adds a regression test, I had to use an interface to stub the clock. Fixes: https://github.com/status-im/nim-status-client/issues/522 * bump version to 0.55.3 |
||
---|---|---|
.dependabot | ||
.github | ||
.vscode | ||
_assets | ||
_examples | ||
account | ||
api | ||
appdatabase | ||
bridge | ||
build/bin | ||
cmd | ||
config | ||
contracts | ||
db | ||
discovery | ||
eth-node | ||
exportlogs | ||
extkeys | ||
logutils | ||
mailserver | ||
metrics | ||
mobile | ||
multiaccounts | ||
node | ||
notifier | ||
params | ||
peers | ||
profiling | ||
protocol | ||
rpc | ||
rtt | ||
services | ||
signal | ||
sqlite | ||
static | ||
t | ||
timesource | ||
transactions | ||
vendor | ||
waku | ||
whisper | ||
.codeclimate.yml | ||
.dockerignore | ||
.gitignore | ||
.golangci.yml | ||
.travis.yml | ||
BOOTNODE.md | ||
CONTRIBUTING.md | ||
LICENSE.md | ||
MAILSERVER.md | ||
Makefile | ||
README.md | ||
RELEASING.md | ||
VERSION | ||
WAKU.md | ||
go.mod | ||
go.sum |
README.md
Status bindings for go-ethereum
Docs
- How to Build
- How to Contribute
- How to Release
- How to run a Bootnode
- How to run a Mailserver
- How to run a Waku node
- How to configure status-go