Ekaterina Broslavskaya d93ac900ae Add benchmarks for create group and add users action (#31)
* 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.
2025-01-20 10:40:49 +07:00
2024-12-25 15:06:31 +07:00
2024-12-25 15:06:31 +07:00
2024-12-25 15:06:31 +07:00
2024-12-25 15:06:31 +07:00
2024-12-25 15:06:31 +07:00
2024-12-25 15:06:31 +07:00
2024-12-25 15:06:31 +07:00
2024-04-15 17:25:49 +05:30
2024-12-25 15:06:31 +07:00

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
No description provided
Readme 2.7 MiB
Languages
Rust 96.9%
CSS 3.1%