In its early days, Bitcoin offered only one wallet and one node implementation. Since then, developer options have expanded rapidly. Before starting your project, consider your optimal setup:
- Programming Language. Bindings between most popular programming languages and at least one node implementation are available. In many cases JSON-RPC can be used.
- Wallet API. Wallet support for third party extensions spans a wide spectrum.
- Operating System. Most wallet and node development can be hosted from Linux, Windows, and OSX.
Node Setup and Maintenance
Many projects will benefit from access to a dedicated node. These articles discuss how to get started:
- Compile Bitcoin Core from Source on Ubuntu
- Installing Bitcoin Core on Ubuntu
- Moving the Bitcoin Core Data Directory
Transactions and Script
An up-front investment in understanding transactions and Script will pay dividends regardless of the specific technologies used by your project.
Several alternatives to Bitcoin Core exist. For many applications a loosly-coupled interfaces through JSON-RPC will suffice. For deeper use of the protocol, consider an implementation written in your preferred language.
Wallets are the main point of contact between end users and the protocol. Most wallets are released under open source licenses. Some even offer developer APIs:
The Bitcoin economy is growing. Most of the activity has focused on the development of alternative networks. More recently, extensions to the protocol such as Layer 2 and sidechains have become practical. Evolution of the protocol itself continues, albeit at a slower pace. Keeping up with these developments puts you in a better position to match your software to new needs.
Bitzuma regularly releases new content for Bitcoin students at all levels. To stay up-to-date, consider joining the newsletter. Unsubscribe at any time.