In this part of the article series we will get our hands dirty working with Lightning invoices. We will look at how they are encoded and make a helper package to decode invoices into its many parts they are made up of.
In this part we will look at how the web application for the Submarine Swaps broker platform is structured and programmed in Golang. This will hopefully demonstrate how numerous parts of the codebase link together and will allow for a better understanding of the different ways the external Bitcoin and the Lightning Network libraries will be interacting with each other.
SubSwap.dev is the demonstration site for a broker platform for Submarine Swaps using the Lightning Network, which was documented in an article series on my blog.
The purpose was to show how to integrate Bitcoin and the Lightning Network using Go. It acts as a starting point to experiment with and learn more about it in a fun environment. Forking the repository on GitHub and adding new features to the broker platform is encouraged.
This is the beginning of a series of articles about how I created a broker platform for Submarine Swaps written in Golang using the btcutil library and both the lnd and btcd projects. It is NOT meant to be a platform used in production. There may be bugs 🐞, mistakes and things left to optimize. The project’s sole purpose was for me to learn more about Golang and find out how to integrate Bitcoin and the Lightning Network in a learning-by-doing approach.