mirror of
https://github.com/vacp2p/de-mls.git
synced 2026-01-08 22:57:57 -05:00
d93ac900ae2f4a7560bcd975e7e85ef0e73df246
* Update dependencies, add benchmarking, and enhance Waku integration - Updated `tokio` version from `1.38.0` to `1.43.0` in `Cargo.toml` files for improved performance and compatibility. - Introduced a new benchmarking file `benches/group_flow_benchmark.rs` to measure performance of group-related operations. - Added a new CI job for running benchmarks in the GitHub Actions workflow. - Enhanced Waku event handling in `ds_waku.rs` to utilize `BoundedVecDeque` for managing seen messages, improving memory efficiency. - Refactored message handling in `main.rs` to streamline Waku event processing and user actions. - Added `action_handlers.rs` to separate user action handling logic, improving code organization. - Introduced `user_app_instance.rs` for creating user instances with group management capabilities. - Made `invite_users` method public in `user.rs` to allow external access. - Updated WebSocket connection message structure to include serialization support. * Fix CI for running benchmark * Update CI workflow to run benchmarks on pull requests and enhance caching * Add required filed `branch name` * Update CI workflow to include Go setup and increase timeout for benchmark jobs * Update Cargo.toml to disable benchmarking for the de-mls binary * Update Cargo.toml to add library section and disable benchmarking for the de-mls library * Remove benchmarking configuration for the de-mls binary in Cargo.toml * Update Cargo.toml to change criterion dependency version and enable HTML reports * Disable benchmarking for the de-mls binary in Cargo.toml to streamline build configuration.
de-mls
Decentralized MLS PoC using a smart contract for group coordination
Note: The frontend implementation is based on chatr, a real-time chat application built with Rust and SvelteKit
Run Test Waku Node
docker run -p 8645:8645 -p 60000:60000 wakuorg/nwaku:v0.33.1 --cluster-id=15 --rest --relay --rln-relay=false --pubsub-topic=/waku/2/rs/15/0
Run User Instance
Create a .env file in the .env folder for each client containing the following variables:
NAME=client1
BACKEND_PORT=3000
FRONTEND_PORT=4000
NODE_NAME=<waku-node-ip>
Run docker compose up for the user instance
docker-compose --env-file ./.env/client1.env up --build
For each client, run the following command to start the frontend on the local host with the port specified in the .env file
Description
Languages
Rust
96.9%
CSS
3.1%