Skip to content

Self-hosted chat server + normal peer UI (shared ChatScan) - #5

Draft
EricksonAtHome wants to merge 4 commits into
mainfrom
cursor/chatscan-blockchain-messaging-2c09
Draft

EricksonAtHome wants to merge 4 commits into
mainfrom
cursor/chatscan-blockchain-messaging-2c09

Conversation

@EricksonAtHome

@EricksonAtHome EricksonAtHome commented Aug 9, 2026

Copy link
Copy Markdown
Contributor

Summary

CrypterChat users can run their own chat server, paste its base URL into the app, and keep encrypted chat data on that host. ChatScan stays shared for immutable ciphertext hashes only.

Also includes the normal peer chat UI (readable bubbles; hashes only on ChatScan).

Self-host flow

  1. Host runs ./scripts/start-own-server.sh (optional SERVER_NAME, PUBLIC_URL, CHATSCAN_URL)
  2. App: set Chat server URL on login, or Server settings (DNS icon) after sign-in
  3. Chat data (users, OTP sessions, encrypted envelopes) stays on that server’s messaging/data
  4. Message hashes seal on the shared ChatScan X11 chain

App / API changes

  • Flutter demo: ServerStore, login URL field + Test connection, Server settings screen, banner shows server name + ChatScan
  • Messaging API: SERVER_NAME / PUBLIC_URL, /api/server, health includes server object
  • Docs: docs/SELF_HOST.md, README section, messaging/.env.example

Peer chat UI

  • Readable CrypterChat-style bubbles (white peer / soft-green mine)
  • Long-press for optional seal details; hashes stay on ChatScan (contentAvailable=false)

How to try

export SERVER_NAME="My Chat"
export PUBLIC_URL="http://YOUR_LAN_IP:8787"
./scripts/start-own-server.sh

cd flutter_demo && flutter run -d chrome --web-renderer html
# Paste the printed Base URL into Chat server URL, OTP 123456

Details: docs/SELF_HOST.md

Open in Web Open in Cursor 

cursoragent and others added 4 commits August 8, 2026 21:44
Vendor ChatScan as the immutable message ledger, add a messaging bridge
and web UI that registers users by phone number, encrypts messages, and
records only ciphertext hashes on chain. Flutter 1:1 sends also commit
to ChatScan. Includes e2e tests, screenshots, and a demo video.

Co-authored-by: Erickson Hyppolite Poel <EricksonAtHome@users.noreply.github.com>
Ship a runnable flutter_demo client with phone OTP login and WhatsApp-like
chat UI. Messages seal through the ChatScan bridge (hash-only on chain).
Includes Android project, web runner, screenshots, and demo video proving
Alice→Bob send/receive with contentAvailable=false.

Co-authored-by: Erickson Hyppolite Poel <EricksonAtHome@users.noreply.github.com>
Peer-to-peer Flutter and web chat now use CrypterChat-style bubbles with
message text and timestamps only. Ciphertext refs/hashes stay on the
ChatScan explorer (long-press for optional seal details). Conversation
previews use decrypted last-message text.

Co-authored-by: Erickson Hyppolite Poel <EricksonAtHome@users.noreply.github.com>
Users can run their own messaging server, paste its base URL into
CrypterChat, and keep encrypted chat data on that host while hashes
still seal on the shared ChatScan X11 chain.

Co-authored-by: Erickson Hyppolite Poel <EricksonAtHome@users.noreply.github.com>
@cursor cursor Bot changed the title Normal peer chat UI — hashes only on ChatScan Self-hosted chat server + normal peer UI (shared ChatScan) Aug 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants