# Prerequisites

## Skills <a href="#skills" id="skills"></a>

* You need to be comfortable with object oriented as well as functional programming.
* A basic grasp of C# is helpful, but we feel the code will be legible to developers familiar with Java and other C-based languages.
* No mathematical knowledge is required. We will not cover cryptography beyond the bare minimum you need to know to make a secure service.
* You don’t need to have deep knowledge of Bitcoin.

## Tools <a href="#tools" id="tools"></a>

* [Visual Studio Community Edition](https://www.visualstudio.com/) on Windows or [Xamarin Studio](https://store.xamarin.com)/[Visual Studio Code](https://code.visualstudio.com) on Mac and Linux (both free).
* [Bitcoin Core](https://bitcoin.org/en/bitcoin-core/) - Ideally you have it, but you can just proceed without it.

> **Tip:** If disk space is an issue, consider running Bitcoin Core in pruning mode. It is practically the same as a full node (including security), except it throws away some of the old history.
