⚠️ WARNING: This is a PoC repo, not meant for production in any way, and requires a lot more work to be considered viable at the moment.
The Uke Protocol is a p2p, completely distributed messaging protocol.
How Uke Messages are transported and stored.
This implementation shows how one can use it to build a realtime chat app using nothing but blockchain technology.
It utilizes local cryptography and a Substrate blockchain instance to verify, send, and receive messages in real time. One can create users, create new conversations with them, and send them messages.
⚠️ At this time, only the web version is deemed totally stable.
It's best to have Ionic installed for this step, which is installable via npm. This is a Capacitor project, meaning it's capable of producing multiple types of builds:
npm install -g @ionic/cli
To build for web, run the following:
# install dependencies
npm install
npm run build
You can then use the www/
directory to deploy wherever.
For Android, ensure you have Android Studio installed on your system:
# install dependencies
npm install
ionic capacitor build android
For iOS, make sure you have Xcode and CocoaPods installed on your system:
# if you don't have CocoaPods:
sudo gem install cocoapods
# install dependencies
npm install
ionic capacitor build ios
Right now, the app is live at https://app.uke.chat - however, keep in mind it's an experimental server that is subject to resets and some instability.
The Substrate node instance is hosted at node.uke.chat.
Testing locally, clone the repo and run the following:
# install dependencies
npm install
npm test
To test with docker, build the included image:
docker build -t uke-test .
To serve the app locally for development purposes, clone it and run the following:
npm install
ionic serve