mirror of https://github.com/waku-org/nwaku.git
ddf93814fe
* adds timestamp to waku message store impl * stores timestamp as int64 * adds untitest * stores timestamp as seq of bytes * minor * re-orders unittest * changes receiver timestamp to float64 * unit test for receiver timestamps * adds comments * reorder a few lines * updates changelog * more updates on changelog * WIP * WIP * adds migration * more debug messages * passes the path to the migration scripts from message store module * adds migration result type * replaces migrationScripts with migrationScriptsResult * adds path calculation to the message store * removes some tests binary file * removes redundant imports * comments out user_version assignment in sqlite init * more descriptive err messages * clean up test file * more info logs * minor code format * removes a todo * minor updates * remove a binary file * unit tests for migration utils * adds split script * integrates split query to handle scripts with multiple commands * updates migration script for v1 * updates the v1 migration script * update user version * updates script * fixes a few bugs on the splitScript * more debug logs * adds float64 parameter support to sqlite3 * change in timestamp type in the script * deletes float64 toBytes utils * enables storage of timestamp as a real number in the sqlite db * bump up script index * comment edits * removes migrate unit test * adds todo and docstring * updates changelog * removes an unused item in .gitignore * minor * updates changelog * organizes imports * cleans up imports * WIP * updates script fixes a few bugs on the splitScript more debug logs adds float64 parameter support to sqlite3 change in timestamp type in the script deletes float64 toBytes utils * edits migration util test * remove an empty test file * includes migration utils tests in * deletes unused codes * tides up imports * adds range based filter to the filterMigrationScripts * renames procs: removes Migration * tides up imports * edits docstring * edits docstring * edits docstring * removes unused imports * more clean up * groups std imports * updates changelog * adds docstring for setUserVersion * adds unittest for the migrate * Update waku/v2/node/storage/message/waku_message_store.nim Co-authored-by: RichΛrd <info@richardramos.me> * Update waku/v2/node/storage/sqlite.nim Co-authored-by: RichΛrd <info@richardramos.me> * Update waku/v2/node/storage/sqlite.nim Co-authored-by: RichΛrd <info@richardramos.me> * removes split scripts * fixes a naming issue * fixes a bug * fixes a typo * adds a log re updated user_version * fixes a proc naming mismatch * fixes naming mismatch * more descriptive var names * adds migration script of the first user version * moves migration to after persistMessages flag is checked * deletes unused comment * fixes a bug * brings back split script * adds unit tests for split scripts * runs scripts one command at a time * deletes a commented line * relocates the migrate proc to sqlite.nim * adds unit test for filter scripts * adds filterScripts unittest testing varying zero-prefixed user versions * minor Co-authored-by: RichΛrd <info@richardramos.me> |
||
---|---|---|
.github/workflows | ||
docs | ||
examples | ||
metrics | ||
tests | ||
vendor | ||
waku | ||
wrappers | ||
.dockerignore | ||
.gitignore | ||
.gitmodules | ||
CHANGELOG.md | ||
Dockerfile | ||
Jenkinsfile | ||
LICENSE-APACHEv2 | ||
LICENSE-MIT | ||
Makefile | ||
README.md | ||
config.nims | ||
env.sh | ||
waku.nimble |
README.md
nim-waku
Introduction
The nim-waku repository implements Waku v1 and v2, and provides tools related to it.
- A Nim implementation of the Waku v1 protocol.
- A Nim implementation of the Waku v2 protocol.
- CLI applications
wakunode
andwakunode2
that allows you to run a Waku v1 or v2 node. - Examples of Waku v1 and v2 usage.
- Various tests of above.
For more details on Waku v1 and v2, see their respective home folders:
How to Build & Run
These instructions are generic and apply to both Waku v1 and v2. For more detailed instructions, see Waku v1 and v2 home above.
Prerequisites
- GNU Make, Bash and the usual POSIX utilities. Git 2.9.4 or newer.
- PCRE
- Rust
More information on the installation of these can be found here.
Wakunode
# 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 up to date.
make wakunode1 wakunode2
# See available command line options
./build/wakunode --help
./build/wakunode2 --help
# Connect the client directly with the Status test fleet
./build/wakunode --log-level:debug --discovery:off --fleet:test --log-metrics
# TODO Equivalent for v2
Waku Protocol Test Suite
# Run all the Waku v1 and v2 tests
make test
Examples
Examples can be found in the examples folder. For Waku v2, there is a fully featured chat example.