Skip to content

wolfposd/TMChat

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TMChat

TMChat is a simple chat-demonstration using the Tendermint-Blockchain as a means to broadcast messages from one user to another.

alt text

How to run

This project is handled by Maven and thus can be build as such. (You will need to have maven installed)

git clone https://github.com/wolfposd/TMChat.git
cd TMChat
mvn package -U

You will then find a runnable JAR in the target-directory, start it as follows:

cd target/
java -c bcprov-jdk15on-1.57.jar -jar tmchat-0.0.2-SNAPSHOT.jar user1 user2 ... userX

Where user1 - userX are the chatwindows you would like to open.

The example screenshot was created using:

java -c bcprov-jdk15on-1.57.jar -jar tmchat-0.0.2-SNAPSHOT.jar Left Middle Right

Introduction

This demo is meant as a simple introduction on how to write applications for tendermint.

architecture

The Components are seperated into two logical parts, each serving a different functionality.

The NodeCommunication class connects to the tendermint-node via the ABCI-Socket Protocol (using jabci) to handle all the Tendermint messages like AppendTX, CheckTx and Commit. It also connects via Websocket to the tendermint-node to broadcast TXs it received from its connected clients. NodeCommunication acts as a proxy between Tendermint and the Frontend.

The Frontend is connected to the NodeCommunication. It can send Messages to it (which will be relayed as TXs to the node) and can register for receiving messages (which are converted from TXs).

About

Tendermint based chat

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages