From 5a9703f35ab234c3f1337ae0eed09df9d5462eaa Mon Sep 17 00:00:00 2001 From: Jakub Date: Thu, 22 Aug 2024 19:27:48 +0200 Subject: [PATCH 1/4] fix: copy libnegentropy.so from nim-build image (#2991) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit We shouldn't assume it exists on the host. Introduced by: https://github.com/waku-org/nwaku/pull/2403 Signed-off-by: Jakub SokoĊ‚owski --- Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index bc18babfc6..f6a1472d48 100644 --- a/Dockerfile +++ b/Dockerfile @@ -7,7 +7,7 @@ ARG NIM_COMMIT ARG LOG_LEVEL=TRACE # Get build tools and required header files -RUN apk add --no-cache bash git build-base pcre-dev linux-headers curl jq +RUN apk add --no-cache bash git build-base openssl-dev pcre-dev linux-headers curl jq WORKDIR /app COPY . . @@ -47,7 +47,7 @@ RUN apk add --no-cache libgcc pcre-dev libpq-dev bind-tools RUN ln -s /usr/lib/libpcre.so /usr/lib/libpcre.so.3 # Fix for 'Error loading shared library libnegentropy.so: No such file or directory' -ADD ./libnegentropy.so ./ +COPY --from=nim-build /app/libnegentropy.so ./ # Copy to separate location to accomodate different MAKE_TARGET values COPY --from=nim-build /app/build/$MAKE_TARGET /usr/local/bin/ From 2048b7064951c5aae437ad76bfcc583bec2dacc4 Mon Sep 17 00:00:00 2001 From: gabrielmer <101006718+gabrielmer@users.noreply.github.com> Date: Sat, 24 Aug 2024 10:00:19 -0600 Subject: [PATCH 2/4] fix: libnegentropy integration (#2996) --- Dockerfile | 2 +- Makefile | 43 +++++++++++++++++++++++++------------------ 2 files changed, 26 insertions(+), 19 deletions(-) diff --git a/Dockerfile b/Dockerfile index f6a1472d48..de62a1810e 100644 --- a/Dockerfile +++ b/Dockerfile @@ -47,7 +47,7 @@ RUN apk add --no-cache libgcc pcre-dev libpq-dev bind-tools RUN ln -s /usr/lib/libpcre.so /usr/lib/libpcre.so.3 # Fix for 'Error loading shared library libnegentropy.so: No such file or directory' -COPY --from=nim-build /app/libnegentropy.so ./ +COPY --from=nim-build /app/libnegentropy.so /usr/lib/ # Copy to separate location to accomodate different MAKE_TARGET values COPY --from=nim-build /app/build/$MAKE_TARGET /usr/local/bin/ diff --git a/Makefile b/Makefile index 5393567f9b..a26b858ef7 100644 --- a/Makefile +++ b/Makefile @@ -166,6 +166,31 @@ clean-librln: # Extend clean target clean: | clean-librln +###################### +### NEGENTROPY ### +###################### +.PHONY: negentropy + +LIBNEGENTROPY_BUILDDIR := $(CURDIR)/vendor/negentropy/cpp +LIBNEGENTROPY_FILE := libnegentropy.so + +deps: | negentropy + +clean: | negentropy-clean + +$(LIBNEGENTROPY_FILE): + $(MAKE) -C $(LIBNEGENTROPY_BUILDDIR) && \ + cp $(LIBNEGENTROPY_BUILDDIR)/${LIBNEGENTROPY_FILE} ${LIBNEGENTROPY_FILE} + +negentropy: | $(LIBNEGENTROPY_FILE) + ## Pass libnegentropy to linker. + $(eval LIBNEGENTROPY_PATH := $(shell if [ -f "$(LIBNEGENTROPY_FILE)" ]; then echo "$(LIBNEGENTROPY_FILE)"; else echo "./$(LIBNEGENTROPY_FILE)"; fi)) + $(eval NIM_PARAMS += --passL:$(LIBNEGENTROPY_PATH)) + +negentropy-clean: + $(MAKE) -C $(LIBNEGENTROPY_BUILDDIR) clean && \ + rm ${LIBNEGENTROPY_FILE} + ################# ## Waku Common ## @@ -441,21 +466,3 @@ release-notes: # I could not get the tool to replace issue ids with links, so using sed for now, # asked here: https://github.com/bvieira/sv4git/discussions/101 -###################### -### NEGENTROPY ### -###################### -.PHONY: negentropy - -## Pass libnegentropy to linker. -NIM_PARAMS := $(NIM_PARAMS) --passL:./libnegentropy.so - -deps: | negentropy - -clean: | negentropy-clean - -negentropy: - $(MAKE) -C vendor/negentropy/cpp && \ - cp vendor/negentropy/cpp/libnegentropy.so ./ -negentropy-clean: - $(MAKE) -C vendor/negentropy/cpp clean && \ - rm libnegentropy.so From 4e6a5bf7fff5b328277a5bf87dfb4bce8aa7b070 Mon Sep 17 00:00:00 2001 From: Simon-Pierre Vivier Date: Wed, 28 Aug 2024 10:26:38 -0400 Subject: [PATCH 3/4] fix waku sync config defaults (#3001) --- waku/factory/external_config.nim | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/waku/factory/external_config.nim b/waku/factory/external_config.nim index 41e66640ae..6e5d99b998 100644 --- a/waku/factory/external_config.nim +++ b/waku/factory/external_config.nim @@ -403,13 +403,13 @@ type WakuNodeConf* = object storeSyncInterval* {. desc: "Interval between store sync attempts. In seconds.", - defaultValue: 3600, # 1 hours + defaultValue: 300, # 5 minutes name: "store-sync-interval" .}: int64 storeSyncRange* {. desc: "Amount of time to sync. In seconds.", - defaultValue: 300, # 5 minutes + defaultValue: 3600, # 1 hours name: "store-sync-range" .}: int64 From 148a48a78c6d51c39f4913729b8674f834043487 Mon Sep 17 00:00:00 2001 From: gabrielmer <101006718+gabrielmer@users.noreply.github.com> Date: Fri, 30 Aug 2024 11:07:12 -0600 Subject: [PATCH 4/4] chore: update changelog for v0.32.0 release (#2993) --- CHANGELOG.md | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 571a66eee0..b7a9469180 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,63 @@ +## v0.32.0 (2024-08-30) + +#### Notes: + +* A new `discv5-only` CLI flag was introduced, which if set to true will perform optimizations for nodes that only run the DiscV5 service +* The `protected-topic` CLI config item has been deprecated in favor of the new `protected-shard` configuration. Protected topics are still supported and will be completely removed in two releases time for `v0.34.0` + +### Release highlights + +* Merged Nwaku Sync protocol for synchronizing store nodes +* Added Store Resume mechanism to retrieve messages sent when the node was offline + +### Features + +- Nwaku Sync ([#2403](https://github.com/waku-org/nwaku/issues/2403)) ([2cc86c51](https://github.com/waku-org/nwaku/commit/2cc86c51)) +- misc. updates for discovery network analysis ([#2930](https://github.com/waku-org/nwaku/issues/2930)) ([4340eb75](https://github.com/waku-org/nwaku/commit/4340eb75)) +- store resume ([#2919](https://github.com/waku-org/nwaku/issues/2919)) ([aed2a113](https://github.com/waku-org/nwaku/commit/aed2a113)) + +### Bug Fixes + +- return on insert error ([#2956](https://github.com/waku-org/nwaku/issues/2956)) ([5f0fbd78](https://github.com/waku-org/nwaku/commit/5f0fbd78)) +- network monitor improvements ([#2939](https://github.com/waku-org/nwaku/issues/2939)) ([80583237](https://github.com/waku-org/nwaku/commit/80583237)) +- add back waku discv5 metrics ([#2927](https://github.com/waku-org/nwaku/issues/2927)) ([e4e01fab](https://github.com/waku-org/nwaku/commit/e4e01fab)) +- update and shift unittest ([#2934](https://github.com/waku-org/nwaku/issues/2934)) ([08973add](https://github.com/waku-org/nwaku/commit/08973add)) +- handle rln-relay-message-limit ([#2867](https://github.com/waku-org/nwaku/issues/2867)) ([8d107b0d](https://github.com/waku-org/nwaku/commit/8d107b0d)) + +### Changes + +- libwaku retrieve my enr and adapt golang example ([#2987](https://github.com/waku-org/nwaku/issues/2987)) ([1ff9f1dd](https://github.com/waku-org/nwaku/commit/1ff9f1dd)) +- run `ANALYZE messages` regularly for better db performance ([#2986](https://github.com/waku-org/nwaku/issues/2986)) ([32f2d85d](https://github.com/waku-org/nwaku/commit/32f2d85d)) +- liteprotocoltester for simulation and for fleets ([#2813](https://github.com/waku-org/nwaku/issues/2813)) ([f4fa73e9](https://github.com/waku-org/nwaku/commit/f4fa73e9)) +- lock in nph version and add pre-commit hook ([#2938](https://github.com/waku-org/nwaku/issues/2938)) ([d63e3430](https://github.com/waku-org/nwaku/commit/d63e3430)) +- logging received message info via onValidated observer ([#2973](https://github.com/waku-org/nwaku/issues/2973)) ([e8bce67d](https://github.com/waku-org/nwaku/commit/e8bce67d)) +- deprecating protected topics in favor of protected shards ([#2983](https://github.com/waku-org/nwaku/issues/2983)) ([e51ffe07](https://github.com/waku-org/nwaku/commit/e51ffe07)) +- rename NsPubsubTopic ([#2974](https://github.com/waku-org/nwaku/issues/2974)) ([67439057](https://github.com/waku-org/nwaku/commit/67439057)) +- install dig ([#2975](https://github.com/waku-org/nwaku/issues/2975)) ([d24b56b9](https://github.com/waku-org/nwaku/commit/d24b56b9)) +- print WakuMessageHash as hex strings ([#2969](https://github.com/waku-org/nwaku/issues/2969)) ([2fd4eb62](https://github.com/waku-org/nwaku/commit/2fd4eb62)) +- updating dependencies for release 0.32.0 ([#2971](https://github.com/waku-org/nwaku/issues/2971)) ([dfd42a7c](https://github.com/waku-org/nwaku/commit/dfd42a7c)) +- bump negentropy to latest master ([#2968](https://github.com/waku-org/nwaku/issues/2968)) ([b36cb075](https://github.com/waku-org/nwaku/commit/b36cb075)) +- keystore: verbose error message when credential is not found ([#2943](https://github.com/waku-org/nwaku/issues/2943)) ([0f11ee14](https://github.com/waku-org/nwaku/commit/0f11ee14)) +- upgrade peer exchange mounting ([#2953](https://github.com/waku-org/nwaku/issues/2953)) ([42f1bed0](https://github.com/waku-org/nwaku/commit/42f1bed0)) +- replace statusim.net instances with status.im ([#2941](https://github.com/waku-org/nwaku/issues/2941)) ([f534549a](https://github.com/waku-org/nwaku/commit/f534549a)) +- updating doc reference to https rpc ([#2937](https://github.com/waku-org/nwaku/issues/2937)) ([bb7bba35](https://github.com/waku-org/nwaku/commit/bb7bba35)) +- Simplification of store legacy code ([#2931](https://github.com/waku-org/nwaku/issues/2931)) ([d4e8a0da](https://github.com/waku-org/nwaku/commit/d4e8a0da)) +- add peer filtering by cluster for waku peer exchange ([#2932](https://github.com/waku-org/nwaku/issues/2932)) ([b4618f98](https://github.com/waku-org/nwaku/commit/b4618f98)) +- return all connected peers from REST API ([#2923](https://github.com/waku-org/nwaku/issues/2923)) ([a29eca77](https://github.com/waku-org/nwaku/commit/a29eca77)) +- adding lint job to the CI ([#2925](https://github.com/waku-org/nwaku/issues/2925)) ([086cc8ed](https://github.com/waku-org/nwaku/commit/086cc8ed)) +- improve sonda dashboard ([#2918](https://github.com/waku-org/nwaku/issues/2918)) ([6d385cef](https://github.com/waku-org/nwaku/commit/6d385cef)) +- Add new custom built and test target to make in order to enable easy build or test single nim modules ([#2913](https://github.com/waku-org/nwaku/issues/2913)) ([ad25f437](https://github.com/waku-org/nwaku/commit/ad25f437)) + +This release supports the following [libp2p protocols](https://docs.libp2p.io/concepts/protocols/): +| Protocol | Spec status | Protocol id | +| ---: | :---: | :--- | +| [`11/WAKU2-RELAY`](https://github.com/vacp2p/rfc-index/blob/main/waku/standards/core/11/relay.md) | `stable` | `/vac/waku/relay/2.0.0` | +| [`12/WAKU2-FILTER`](https://github.com/vacp2p/rfc-index/blob/main/waku/standards/core/12/filter.md) | `draft` | `/vac/waku/filter/2.0.0-beta1`
`/vac/waku/filter-subscribe/2.0.0-beta1`
`/vac/waku/filter-push/2.0.0-beta1` | +| [`13/WAKU2-STORE`](https://github.com/vacp2p/rfc-index/blob/main/waku/standards/core/13/store.md) | `draft` | `/vac/waku/store/2.0.0-beta4` | +| [`19/WAKU2-LIGHTPUSH`](https://github.com/vacp2p/rfc-index/blob/main/waku/standards/core/19/lightpush.md) | `draft` | `/vac/waku/lightpush/2.0.0-beta1` | +| [`66/WAKU2-METADATA`](https://github.com/waku-org/specs/blob/master/standards/core/metadata.md) | `raw` | `/vac/waku/metadata/1.0.0` | +| [`WAKU-SYNC`](https://github.com/waku-org/specs/blob/feat--waku-sync/standards/core/sync.md) | `draft` | `/vac/waku/sync/1.0.0` | + ## v0.31.1 (2024-08-02) ### Changes