Skip to content
A communications platform on layer 1 Ethereum - Built at ETHWaterloo 2
JavaScript HTML Other
Branch: master
Clone or download
Latest commit 7115d75 Nov 14, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
Assets Add assets Nov 9, 2019
Contracts Update docs Nov 9, 2019
metamask-snaps-beta-build add metamask builds Nov 9, 2019
.gitignore Merged readme Nov 14, 2019
docker-compose.yml dockerize the project Nov 9, 2019


A layer 1 communication system through MetaMask snaps. Ethereum Name Service is leveraged to allow users to send messages to others using simple domain names instead of having to remember an etherum public key. IPFS is also leveraged to store the sender and recipient addresses, as well as the message. A smart contract is leveraged to push the IPFS hash of the message to the ethereum blockchain. Dfuse is used on the recipient side to listen to for new messages. The message is then accessed by IPFS hash and presented to the recipient.

Build Instructions

Connexion requires two computers to demo. The following steps must be completed for each computer:

Each of these must be set up with the Metamask (beta) extension located in metamask-snaps-beta-build. The following steps must the be completed for each computer:

1. Browserify required components (if they don't exist)

cd snap/decoder
browserify decode.js -s decoder > decodeBundle.js

cd ../send
browserify send.js -s sender > sendBundle.js

2. Build and launch using Docker + Docker Compose

Run the following in the root directory:

docker-compose build && docker-compose up

Connexion should now be running at localhost:8081!

You can’t perform that action at this time.