mirror of
https://github.com/Discreetly/server.git
synced 2026-01-07 19:53:55 -05:00
2.3 KiB
2.3 KiB
ZK-Chat v2
Credential Storage
- Localstorage
- Start with this, its easy, but not super secure
- Cryptkeeper?
- Sismo?
- Zupass?
- Walletconnect/metamask?
Group Creation
- Admin (me) can make groups
- by invite code
- Permission to add 1 identity commitment
- by invite code
- Gated Room Ideas (that you can watch, but can't participate in)
- Steam Games!
- ZK Stamps!
- Events!
- Devconnect
Types of Rooms/Groups
| Type | Read | Write | Encrypted | Centralized | RLN Protected |
|---|---|---|---|---|---|
| Gated | Y | via link/code for specific room | N | Y | Y |
| ------- | ------------- | ------------------------------- | ------------------- | ----------- | ------------- |
| Public? | Y | via link/code for all rooms | N | Y | Y |
| Private | via link/code | via link/code for specific room | N | Y | Y |
| Secure | via link/code | via link/code for specific room | Y (shared password) | Y | Y |
| DM-P2P | via link/code | via link/code for specific room | Y (shared password) | N (p2p) | ? |
- Start with Gated Rooms
Open Questions
- P2P v Centralized?
- Rate Limits?
- Group Membership on contract?
- Staking by tiers with different rate limits?
- Should messages be ephemeral/temporary? (the last day?)
Front End
discreetly.chat will be the front end and backend
Stack
- Nuxtjs
- websockets
Login
- Cryptkeeper
- Metamask
- Walletconnect
- Sismo
- Zupass
Back End
discreetly.chat will be the front end and backend
stakers.chat will be a standalone backend for eth stakers
Stack
- Javascript / Typescript
- Node?
- Libp2p?
- Shorter development cycle
- Dev process is annoying
- One language stack which is nice
- Python
- Library compatibility issues with RLNjs and maybe any other ZK libraries
- I could write it really fast
- I miss python
Database
- Libp2p?
- Waku?
- IPFS?
- Firebase?
- SQLite? <- Leaning this way, keep all config/registration stuff in sqlite, and all messages in RAM/ephemeral