From 04ef12ccf36b11c7208aac672dfb7b3d051f49f9 Mon Sep 17 00:00:00 2001 From: Tanya S <120410716+stubbsta@users.noreply.github.com> Date: Fri, 22 May 2026 13:23:58 +0200 Subject: [PATCH] Update and Improve READMEs (#3894) * Update READMEs for new nimble build system * Move recommended nim versions out of prerequisites --- README.md | 42 +++++++++++++++++++++--------------------- waku/README.md | 18 ++++++++---------- 2 files changed, 29 insertions(+), 31 deletions(-) diff --git a/README.md b/README.md index 8833ae131..f227ea483 100644 --- a/README.md +++ b/README.md @@ -5,9 +5,9 @@ This repository implements a set of libp2p protocols aimed to bring private communications. -- Nim implementation of [these specs](https://github.com/vacp2p/rfc-index/tree/main/waku). +- Nim implementation of [these specs](https://github.com/logos-co/logos-lips/tree/master/docs/messaging). - C library that exposes the implemented protocols. -- CLI application that allows you to run an lmn node. +- CLI application that allows you to run a logos-delivery node. - Examples. - Various tests of above. @@ -17,15 +17,20 @@ For more details see the [source code](waku/README.md) These instructions are generic. For more detailed instructions, see the source code above. +Recommended and tested toolchain versions (these are installed when you follow the build instructions below): +- Nim 2.2.4 +- Nimble 0.22.3 + ### Prerequisites -The standard developer tools, including a C compiler, GNU Make, Bash, and Git. More information on these installations can be found [here](https://docs.waku.org/guides/nwaku/build-source#install-dependencies). +The standard developer tools, including a C compiler, GNU Make, Bash, and Git. > In some distributions (Fedora linux for example), you may need to install `which` utility separately. Nimbus build system is relying on it. You'll also need an installation of Rust and its toolchain (specifically `rustc` and `cargo`). The easiest way to install these, is using `rustup`: +Rust: ```bash curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh ``` @@ -33,8 +38,7 @@ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh ### Wakunode ```bash -# The first `make` invocation will update all Git submodules. -# You'll run `make update` after each `git pull` in the future to keep those submodules updated. +# The first `make` invocation will initialize the local dependency state. make wakunode2 # Build with custom compilation flags. Do not use NIM_PARAMS unless you know what you are doing. @@ -48,12 +52,12 @@ make wakunode2 NIMFLAGS="-d:chronicles_colors:none -d:disableMarchNative" ./build/wakunode2 --help ``` To join the network, you need to know the address of at least one bootstrap node. -Please refer to the [Waku README](https://github.com/waku-org/nwaku/blob/master/waku/README.md) for more information. +Please refer to the [Waku README](https://github.com/logos-messaging/logos-delivery/blob/master/waku/README.md) for more information. For more on how to run `wakunode2`, refer to: -- [Run using binaries](https://docs.waku.org/guides/nwaku/build-source) -- [Run using docker](https://docs.waku.org/guides/nwaku/run-docker) -- [Run using docker-compose](https://docs.waku.org/guides/nwaku/run-docker-compose) +- [Run using binaries](https://docs.waku.org/run-node/build-source) +- [Run using docker](https://docs.waku.org/run-node/run-docker) +- [Run using docker-compose](https://docs.waku.org/run-node/run-docker-compose) #### Issues ##### WSL @@ -104,13 +108,9 @@ If `wakunode2.exe` isn't generated: This repository is bundled with a Nim runtime that includes the necessary dependencies for the project. Before you can utilize the runtime you'll need to build the project, as detailed in a previous section. -This will generate a `vendor` directory containing various dependencies, including the `nimbus-build-system` which has the bundled nim runtime. +This will generate a `nimbledeps/pkgs2` directory containing various dependencies. -After successfully building the project, you may bring the bundled runtime into scope by running: -```bash -source env.sh -``` -If everything went well, you should see your prompt suffixed with `[Nimbus env]$`. Now you can run `nim` commands as usual. +If everything went well, you should see your prompt suffixed with `[SuccessX]`. Now you can run `nim` commands as usual. ### Test Suite @@ -144,7 +144,7 @@ make test/tests/common/test_enr_builder.nim ``` ### Testing against `js-waku` -Refer to [js-waku repo](https://github.com/waku-org/js-waku/tree/master/packages/tests) for instructions. +Refer to [logos-delivery-js repo](https://github.com/logos-messaging/logos-delivery-js/tree/master/packages/tests) for instructions. ## Formatting @@ -175,14 +175,14 @@ Different tools and their corresponding how-to guides can be found in the `tools ### Bugs, Questions & Features -For an inquiry, or if you would like to propose new features, feel free to [open a general issue](https://github.com/waku-org/nwaku/issues/new). +For an inquiry, or if you would like to propose new features, feel free to [open a general issue](https://github.com/logos-messaging/logos-delivery/issues/new). -For bug reports, please [tag your issue with the `bug` label](https://github.com/waku-org/nwaku/issues/new). +For bug reports, please [tag your issue with the `bug` label](https://github.com/logos-messaging/logos-delivery/issues/new). -If you believe the reported issue requires critical attention, please [use the `critical` label](https://github.com/waku-org/nwaku/issues/new?labels=critical,bug) to assist with triaging. +If you believe the reported issue requires critical attention, please [use the `critical` label](https://github.com/logos-messaging/logos-delivery/issues/new?labels=critical,bug) to assist with triaging. -To get help, or participate in the conversation, join the [Waku Discord](https://discord.waku.org/) server. +To get help, or participate in the conversation, join the [Logos Discord](https://discord.gg/logosnetwork) server. ### Docs -* [REST API Documentation](https://waku-org.github.io/waku-rest-api/) +* [REST API Documentation](https://logos-messaging.github.io/logos-delivery-rest-api/) \ No newline at end of file diff --git a/waku/README.md b/waku/README.md index ed3887a09..d9f160cb5 100644 --- a/waku/README.md +++ b/waku/README.md @@ -45,15 +45,16 @@ Setting up a `wakunode2` on the smallest [digital ocean](https://docs.digitaloce make test ``` -To run a specific test. +To run a specific test file or test case: ```bash -# Get a shell with the right environment variables set -./env.sh bash -# Run a specific test -nim c -r ./tests/test_waku_filter_legacy.nim +# Run all tests in a specific file +make test tests/waku_filter_v2/test_waku_filter.nim + +# Run a specific test case within a file +make test tests/waku_filter_v2/test_waku_filter.nim "specific test name" ``` -You can also alter compile options. For example, if you want a less verbose output you can do the following. For more, refer to the [compiler flags](https://nim-lang.org/docs/nimc.html#compiler-usage) and [chronicles documentation](https://github.com/status-im/nim-chronicles#compile-time-configuration). +Alternatively, you can invoke the Nim compiler directly. For more on available flags, refer to the [compiler flags](https://nim-lang.org/docs/nimc.html#compiler-usage) and [chronicles documentation](https://github.com/status-im/nim-chronicles#compile-time-configuration). ```bash nim c -r -d:chronicles_log_level=WARN --verbosity=0 --hints=off ./tests/waku_filter_v2/test_waku_filter.nim @@ -231,7 +232,4 @@ However, they can be used for local testing purposes: mkdir -p ./ssl_dir/ openssl req -x509 -newkey rsa:4096 -keyout ./ssl_dir/key.pem -out ./ssl_dir/cert.pem -sha256 -nodes wakunode2 --websocket-secure-support=true --websocket-secure-key-path="./ssl_dir/key.pem" --websocket-secure-cert-path="./ssl_dir/cert.pem" -``` - - - +``` \ No newline at end of file