Soroban smart contract for Gasless Gossip — the on-chain messaging/tipping logic that powers the Gasless Gossip app on Stellar.
This repo contains only the Rust/Soroban contract. The app's other components live in sibling repos:
- Backend (NestJS API) —
whisper-backend - Frontend (Next.js web app) —
whisper-frontend
- Rust with the
wasm32-unknown-unknowntarget:rustup target add wasm32-unknown-unknown
- Stellar CLI (for deploying/invoking)
whspr_stellar/
├── Cargo.toml # Workspace manifest
├── Makefile # build / test / deploy / invoke targets
└── messaging/ # Soroban messaging contract
├── Cargo.toml
└── src/
└── lib.rs
make buildmake test
# or a specific test:
cargo test test_tip_userSet the required environment variables (see .env.example), then:
make deploy-testnet
# or
make deploy-mainnetmake invoke-testnet FN=<function_name> ARGS="--arg value"The messaging contract implements the on-chain logic for Gasless Gossip's chat rooms:
- Rooms: create token-gated or open chat rooms
- Messages: send messages, earning XP
- Tipping: tip users in-room with a platform fee
- XP & Levels: track user experience and levels on-chain
See messaging/src/lib.rs for the full implementation.
- Fork & clone the repo
- Create a feature branch:
git checkout -b feature/your-feature-name - Follow existing Rust formatting:
cargo fmt --all - Write/update tests for contract changes
- Run
make testbefore opening a PR - Use Conventional Commits for commit messages
MIT License - see LICENSE file for details