mirror of
https://github.com/status-im/status-go.git
synced 2025-01-24 21:49:54 +00:00
ed1cdf0418
This change makes invalidation mechanism more aggressive. With a primary goal to invalidate short living nodes faster. In current setup any node that became known in terms of discovery will stay in this state until it will fail to respond to 5 queries. Removing them earlier from a table allows to reduce latency for finding required nodes. The second change, one adds a version for discovery, separates status dht from ethereum dht. After we rolled out discovery it became obvious that our boot nodes became spammed with irrelevant nodes. And this made discovery process very long, for example with separate dht discovery takes ~2s, with mutual dht - it can take 1m-10m and there is still no guarantee to find a max amount of peers, cause status nodes is a very small part of whole ethereum infra. In my understanding, we don't need to be a part of ethereum dht, and lower latency is way more important for us. Closes: #941 Partially closes: #960 (960 requires futher investigations on devices)
24 lines
725 B
Docker
24 lines
725 B
Docker
# Build status-go in a Go builder container
|
|
FROM golang:1.10-alpine as builder
|
|
|
|
ARG build_tags
|
|
|
|
RUN apk add --no-cache make gcc musl-dev linux-headers
|
|
|
|
RUN mkdir -p /go/src/github.com/status-im/status-go
|
|
ADD . /go/src/github.com/status-im/status-go
|
|
RUN cd /go/src/github.com/status-im/status-go && make statusgo BUILD_TAGS="$build_tags"
|
|
|
|
# Copy the binary to the second image
|
|
FROM alpine:latest
|
|
|
|
RUN apk add --no-cache ca-certificates bash
|
|
|
|
COPY --from=builder /go/src/github.com/status-im/status-go/build/bin/statusd /usr/local/bin/
|
|
|
|
RUN mkdir -p /static/keys
|
|
COPY --from=builder /go/src/github.com/status-im/status-go/static/keys/* /static/keys/
|
|
|
|
# 30304 is used for Discovery v5
|
|
EXPOSE 8080 8545 30303 30303/udp 30304/udp
|