mirror of
https://github.com/vacp2p/de-mls.git
synced 2026-01-07 22:33:59 -05:00
8ebeb4d898b7bfcef4736b429bca7caf18bfd854
* Refactor Waku client test to improve node setup and logging * Refactor Waku integration to use new node setup and improve message handling * Refactor Waku node setup and message handling with improved configuration * Refactor main application structure and improve Waku node initialization - Restructured main application to separate server and Waku node initialization - Added more detailed logging for Waku node setup and connection process - Updated Cargo.toml to use underscore naming convention and update Alloy dependency - Modified Dockerfile to simplify build process - Improved error handling and task management in main application flow * Refactor project structure and improve dependency management - Updated package name in Cargo.toml to use hyphen instead of underscore for consistency. - Simplified dependency paths for Waku bindings in Cargo.toml files across the project. - Modified Dockerfile to streamline the build process by removing unnecessary release flags. - Enhanced README with updated environment variable instructions for better clarity. - Improved frontend button structure for better user interaction. - Cleaned up unused code in Waku actor and related tests, enhancing maintainability. * Update Waku node initialization with auto-subscription notes - Added comments to clarify that the Waku node is auto-subscribing to the pubsub topic and that explicit subscription is unnecessary due to this behavior. - Documented the limitation regarding subscription checks in Waku, referencing the related issue for better context. * Remove unused Go setup from CI workflow and clean up Cargo.toml by commenting out the library section. This streamlines the configuration and focuses on Rust dependencies. * Add peer address configuration and benchmark setup - Introduced a new benchmark configuration in Cargo.toml for `group_flow_benchmark`. - Updated docker-compose.yml to include `PEER_ADDRESSES` environment variable. - Enhanced README with instructions for setting `PEER_ADDRESSES` for node connections. - Modified main.rs to parse and utilize peer addresses for Waku node connections, improving network configuration flexibility. * Update Cargo.toml and Dockerfile for library configuration and build process - Added a library section in Cargo.toml to specify bench settings. - Modified Dockerfile to create necessary source files and streamline the build process by removing redundant commands. - Updated main.rs to improve error handling for peer address configuration. * Comment out library and benchmark sections in Cargo.toml, update Dockerfile to streamline build process, and disable CI benchmark jobs in workflow 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
This node is used to easially connect different instances of the app between each other.
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/1
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_PORT=60000
PEER_ADDRESSES=[/ip4/x.x.x.x/tcp/60000/p2p/xxxx...xxxx]
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
Run from the frontend directory
PUBLIC_API_URL=http://0.0.0.0:3000 PUBLIC_WEBSOCKET_URL=ws://localhost:3000 npm run dev
Run from the root directory
RUST_BACKTRACE=full RUST_LOG=info NODE_PORT=60001 PEER_ADDRESSES=/ip4/x.x.x.x/tcp/60000/p2p/xxxx...xxxx,/ip4/y.y.y.y/tcp/60000/p2p/yyyy...yyyy cargo run -- --nocapture
Example of ban user
In chat message block run ban command, note that user wallet address should be in the format without 0x
/ban f39555ce6ab55579cfffb922665825e726880af6
Description
Languages
Rust
96.9%
CSS
3.1%