Skip to content

Latest commit

 

History

History
68 lines (45 loc) · 1.52 KB

README.md

File metadata and controls

68 lines (45 loc) · 1.52 KB

🏗️ CraneChat (demo-chat)

An E2E encrypted chat with token gated group chats built on Oasis Sapphire with ROFL.

!! Disclaimer !!

This is a demo application and should not be used in production.

How It Works

CraneChat is a decentralized chat application that provides:

  1. Token Gated Group Chats: Create groups that require members to hold specific token amounts on supported chains to join
  2. Direct Messaging: Send encrypted messages directly to other users
  3. E2E Encryption: All messages are encrypted using Oasis Sapphire's confidential smart contracts
  4. ROFL Integration: Automated token balance verification using ROFL (Remote Offchain Fault-tolerant Logic)

The application consists of:

  • Smart contracts deployed on Oasis Sapphire
  • ROFL application for off-chain token balance verification
  • Next.js frontend with Wagmi for web3 integration

Directory Structure

  • app: Next.js frontend
  • root: Smart contracts
  • rofl: ROFL application

Setup

  1. Install dependencies:
pnpm install
cd app
pnpm install
  1. Configure environment variables:
cp .env.template .env

Running

  1. Start the frontend development server:
cd app
pnpm dev
  1. For local ROFL development:

Check the (rofl/README.md) for instructions on running the ROFL service.

  1. Deploy contracts:
npx hardhat deploy --network sapphire-localnet
  1. To populate test groups (optional):
npx hardhat populate --network sapphire-localnet --contract <CONTRACT_ADDRESS>