In this part of the article series we will look into technical details on how to create Submarine Swaps and extend our `payreq` package by adding functions to create Bitcoin output scripts and deposit addresses for the swaps.
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.
Bit is a Bitcoin library written in Python and was designed from the beginning to feel intuitive, be effortless to use, and have readable source code. It was initially developed by Ofek Lev in 2016. It has since become popular and found new contributors, among which is the excellent Teran McKinney and me. I have been working on adding new features to Bit since 2017.
Notable features include:
Multi-signature, Segwit, transaction batching, and Mark Erhardt’s Branch-and-Bound coin selection.