[bisq-network/projects] Message board for multi-protocol project (working title Misq) (#51)

chimp1984 notifications at github.com
Mon Jan 17 01:41:23 CET 2022


I dropped the idea to ship a MVP with the above defined scope but got lot of progress on the Network layer and have a similar MVP with a simple message board where users can post trade intents and a private chat section.
It would require much more work to make that a real user facing product and I consier other work as higher priority (e.g. work on the overall domain).

I share here my current state, but don'e expect a nice UI, its just a prototype which allowed me to test the P2P network use cases with something more real.

The P2P network feature set:
- Support of multiple networks (Clearnet, Tor, I2P)
- Peer management (building and maintaining a gossip network)
- A user can send an encrypted and signed private message to another user
- If the peer is not available the message gets stored in the network as mailbox message. When the receiver goes online they request the data and remove the mailbox message from the network
- Request inventory (the data the other nodes have)
- Add data to the network. There are 4 types of data. 
    - Authenticated data: The data is protected by a signature and a pubKey. Only the data owner can remove it
    - Mailbox data: Similar as above but only receiver can remove data (not sender)
    - Authorized data: Similar as above but the pubKey is known to all users (hard coded). Use case Filter, mediators,...
    - AppendOnly data: Data stored by hash. No other protection. Cannot be removed. 
- Remove data from the network (for the cases where its permitted)

In the UI prototype I have implemented following use cases:
- User can post a trade intent with a text for what the user wants (ask) and what they have (bid). User name is currently derived from the trade intent ID.
- Maker can remove the trade intent 
- Other users can contact the maker. Screen switches then to hangout section with a chat UI
- User names for chat are derived from trade intent ID and role (e.g. Maker at 234dsfs...). User and identity management will require more work.
- If peer is offline the chat message is stored as mailbox message and user loads the message from the network once they go online.
- Trade intents and chat data are persisted

Beside that there is a network overview screen added with basic info about the network. 
- Multiple tabs for the diffferent transport types (Tor, I2P) 
- Connections with some parameters (sent, received, RRT,...)
- Number of peers
- Show own (default) address

Here are some screenshots:
<img width="2192" alt="Screenshot 2022-01-16 at 19 04 11" src="https://user-images.githubusercontent.com/54558767/149684622-a3aab53c-7a57-4595-8d2b-e8d8cf9efc76.png">
<img width="2294" alt="Screenshot 2022-01-16 at 19 16 15" src="https://user-images.githubusercontent.com/54558767/149684625-27b5258c-47cf-45dd-b04c-12f261bcfe34.png">
<img width="1141" alt="Screenshot 2022-01-16 at 19 16 29" src="https://user-images.githubusercontent.com/54558767/149684626-0a5d3873-d7a6-45a1-8478-29fc5ccdf7d0.png">



-- 
Reply to this email directly or view it on GitHub:
https://github.com/bisq-network/projects/issues/51#issuecomment-1013996056
You are receiving this because you are subscribed to this thread.

Message ID: <bisq-network/projects/issues/51/1013996056 at github.com>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.bisq.network/pipermail/bisq-github/attachments/20220116/8054b9b1/attachment.htm>


More information about the bisq-github mailing list