Inspiration

After going through the whitepaper and examples I knew I wanted wanted to build something which utilizes the multichain architecture very well and the requirements of the application should fit in with the the features very well.

Here comes the idea for a P2P chatroom where each chain essentially represents a user instance and all the chats are stored as state of application . Users can send messages (literally) cross chain or in simple terms to other users and those will stored on other chains.

What it does

We've built a peer to peer chat room where users can join with a username, find other users who are online or offline and send messages to them

How we built it

We used linera sdk to for the backend and react js for the web-frontend. Firstly we defined what a state of our application would look like. Then we defined the operations and messages which would update the state accordingly.

Challenges we ran into

Getting to work with (an ever changing version of) linera-protocol-sdk which supports creating new chains on the fly and also receives updates on the fly was the first challenge.

Accomplishments that we're proud of

We know we haven't built a full fledged product but what we have built qualifies for a decent prototype which can be used as a strong base for a full fledged chat application.

What we learned

Building chat systems, even non persisitent, is hard but building chat systems with right tools (linera-sdk) can be easier if done right. (Buidling UI for chat systems is still very hard :P )

What's next for Linchat

  • Better UI
  • Session management with features like login/logout
  • Support for group chat

Built With

Share this project:

Updates