Skip to content

feat: Implement Ethereum Wallet-Based User Registration #38

@seemenkina

Description

@seemenkina

For the initial version of de-mls, user registration relied on a mock implementation for online registration. To align with Web3 principles and enhance user authentication, it is now essential to integrate support for Ethereum wallet-based user registration.

This feature will allow users to authenticate and register into group chat directly using their Ethereum wallets (e.g., MetaMask, WalletConnect-compatible wallets) instead of current solution (providing Ethereum private key). This improves security, user experience, and aligns with decentralized identity paradigms.

Scope:

  • Integrate a Rust-compatible library or implement logic for Ethereum signature verification on the backend.
  • Develop the necessary frontend components (e.g., a "Connect Wallet" button, UI for signing messages) to interact with popular Ethereum wallets.
  • Update de-mls's user management system to support user identities based on Ethereum public addresses.
  • Define the API endpoints required for the wallet connection, challenge generation, signature verification, and registration/login flow.
  • Ensure secure handling of messages and signatures to prevent replay attacks and other vulnerabilities.
  • Add comprehensive unit and integration tests for the new authentication flow.

Deliverables:

  • Updated de-mls codebase with Ethereum wallet-based registration and authentication functionality.
  • Clear API documentation for the new wallet integration endpoints.
  • End-to-end tests covering the wallet registration/login flow.
  • User-facing documentation or examples on how to register/login with an Ethereum wallet.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions