Inspiration
I believe one of the unique things about blockchains are their ability to allow us to construct censorship resistant networks so I used MESG to create the bridges between the Ethereum network, to Lightning, and a Satellite API from blockstream.
What it does
You can spend one MESG utility token to get a message broadcasted from the Blockstream Satellite. The API only takes lightning network payments so I wrapped the Open Node API in a MESG service to make it easy to spin up and share. It runs on mobile if you use a Dapp mobile browser.
How I built it
This app is broken up into 4 services, 1 MESG application, 1 front end react app.
ERC20 service - Standard MESG service that just tracks transfers for the MESG ERC20 Contract.
Webhook service - Standard webhook service we use to send the message from the front end to the MESG app. If we could embed the message in the ERC20 transaction that would of been better.
Satellite service - Wrapper for the blockstream satellite api
Lightning service - Wrapper for Opennode's lightning api, a custodial service that allows you to send and receive bitcoin and lightning network transactions.
React Front End - Create react app
MESG app
Challenges I ran into
While developing the app I had to alter the workflow and add state to my Mesg app. It was going to be purely stateless and functional, however I am unable to send meta data with an ERC20 transaction. I was unable to incorporate the Pusher MESG Service. Next steps would be to wire up the messages at the end so its not using fake data.
Accomplishments that I'm proud of
It works!
What I learned
Its super easy to use the Lightning Network through a custodial API. They do offer withdraws anytime and if I was going to use this in production I would withdraw every hour or sooner.
What's next for Spaceforce Messaging Application
Deploy it on Digital Ocean at mesgfrom.space :)
Built With
- javascript
- lightning-network
- mesg
- pwa
- react
Log in or sign up for Devpost to join the conversation.