mirror of
https://github.com/logos-messaging/logos-messaging-nim.git
synced 2026-05-23 18:59:28 +00:00
Update and Improve READMEs (#3894)
* Update READMEs for new nimble build system * Move recommended nim versions out of prerequisites
This commit is contained in:
parent
bdd562ecc6
commit
04ef12ccf3
42
README.md
42
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/)
|
||||
@ -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"
|
||||
```
|
||||
|
||||
|
||||
|
||||
```
|
||||
Loading…
x
Reference in New Issue
Block a user