Personal tokens and token rooms
Hold a token to enter its chat room. Your $NAME is a token with its own room. How rooms, tickets and issuers came together, and what we reversed.
The idea
Every token can have a chat room, and holding the token gets you in. To invite someone, you send them the token. Your own $NAME is a token too, so you have a room that people enter by holding some of your token. The room's owner sets the rules: how many tokens to enter, and whether you just hold them or spend them per message, per minute or per day, burned or sent back to the issuer.
A reversal on DMs
On 1 October we went all in: Chat became token rooms only, and we removed direct messages and new-chat-by-handle from the interface. On 2 October we added DMs back, with a merged contact list. People need to message one person without first buying a token. Open rooms came the same day (post 007).
Minting, and another reversal
The Mint sheet briefly had "Mint a chatroom" as the first option. We then removed "Mint a token", on the grounds that a token is a room. The same day we put it back. People do want to mint a token without thinking about chat.
Tickets
We wrote a spec for tickets: tokens that are burned to enter a room, checked at zero confirmations so entry takes seconds, not blocks. The server can verify a ticket burn from the transaction itself before it is mined. For a while the wallet had a Tickets tab. On 3 October we dropped it: tickets are just tokens that get burned on entry, so they appear under Tokens.
Who issued this token?
Anyone can deploy a token with any ticker, so a ticker proves nothing. Since 2 October every mint from the wallet carries a signed issuer statement in the same transaction, in a separate output so 1Sat indexing is not affected. The wallet checks the signature and shows "Issued by $handle". When several tokens share a ticker, it says so.
Only the issuer sets the rules
At first, whoever created a room could edit it. On 5 October we changed this: room settings can be changed only by the token's issuer, proved by signing with the key behind the issuer address. A wallet that holds that key can "Claim admin". Everyone else sees the room rules read-only.
Bounties
Token rooms got a Bounties sheet: work posted in a room, paid in the room's token when it is merged. This is early and lightly used.
What's not done
- Token rooms are hidden in the store build.
- Chat polls the server every few seconds; it is not live yet (see the bChat plan in post 007).
- Numbered accounts and tradeable handles are specified but not built.