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 :)

Built With

Share this project: