We have the open source community to thank for the creation of cryptocurrencies. Without the ability to verify the integrity of software, there would be no reason for us to trust the cryptocurrency projects many of us use. The economy of cryptocurrency is founded upon a system where no trust is required. By merely understanding mathematics and a little bit of software engineering, we can be assured that our funds are protected and accounted for by an honest system. The following list consists of great open source projects in crypto for you to utilize, or build upon for yourself and others!
Bitcoin in Go
Bitcoin in Go is a full suite of bitcoin libraries and applications written in Golang. You can use the btcutil library to generate private keys and addresses from them, or even use the full bitcoin wallet or node, implemented in Go.
PyBTC is a Bitcoin library written in Python. Much like btcutil, you can use it to generate Bitcoin private keys as well as addresses. You can also send transactions with this library. I enjoy using pybtc because I know Python well as a language and see how this can be used with other awesome Python libraries, such as qrcode (for generating QR codes), Kivy (for making cross-platform GUIs), or even flask or hug (for making web apps and REST APIs).
PyLTC is just what you would expect. Typically I use Litecoin for transactions more than Bitcoin, due to the faster block times, so naturally, I've also tried out this library that works in much the same manner as pybtc.
Litecoin in Go
There is also a Litecoin implementation in Go! Just the same as Bitcoin in Go, you have a Litecoin node, wallet, and the ltcutil library.
XMR-Stak is the mining software I use for my Monero and Ryo mining rigs. I've had fantastic success with this software in both performance and stability. The developers are also really helpful, and I learned a lot about Linux and even hardware from their help and advice. I haven't tried any other mining software, but considering the generosity of the community around xmr-stak, I've never felt the need to try out any others.
Supporting Open Source Projects
Contributors to these projects are always open to receiving help. Whether you can contribute software, donations, or any support, many of these projects rely on the community to continue development.
If anyone is a little reluctant to digging into open source projects, I wanted to give a little evidence that some of these libraries can be used in pretty neat ways. Tweaking open source projects has been an excellent way for me to learn and make useful software tools for myself. Here is a link to a wallet app that I am developing with the pybtc library (hopefully soon integrating pyltc as well). Even though I can't quite understand all of the pybtc source code, it's great that I can still build something useful with it, and I hope that can serve as an encouragement to any of you interested in making cryptocurrency related software.