4

EDIT 1:

It seems that what I really want to learn is how to create software which makes use of a distributed hash table.


ORIGINAL QUESTION:

I want to learn about coding my own blockchain based software using the C# programming language. Do books exist yet which I could buy to learn about blockchain programming?

The blockchain idea/technology is absolutely unbelievably amazing, and I want to learn how to create blockchain based software.

Please understand, that I am not asking about a book which helps me interact with the bitcoin blockchain. I want to know how to create distributed software using blockchain type technology.

Hats off to Satoshi Nakamoto for giving the world the blockchain idea.

Nick ODell
  • 29,184
  • 11
  • 69
  • 129
oshirowanen
  • 175
  • 2
  • 11
  • 36

3 Answers3

8

I just published a book about it. It's called "Blockchain Programming in C#".

If you're looking for tools written in C#, you should try NBitcoin. You can also find the project on GitHub.

I've also written lots of articles about it:

Nick ODell
  • 29,184
  • 11
  • 69
  • 129
Nicolas Dorier
  • 799
  • 4
  • 7
6

A great way to start programming blockchain-based apps in C# is BitcoinLib, which also comes with a test console app that demonstrates how you can build a blockchain app in a few lines of code.

Repo: https://github.com/GeorgeKimionis/BitcoinLib

Some of its features are:

  • Fully compatible and up-to-date with Bitcoin 0.9.3 RPC API.
  • Design-by-contract, service-oriented architecture.
  • Strongly-typed structures for complex RPC requests and responses.
  • Implicit JSON casting for all RPC messages.
  • Extended methods for every-day scenarios where the built-in methods fall short.
  • Exposure of all RPC API's functionality as well as the extended methods through a single interface.
  • Fallback mechanism for timed-out RPC requests.
  • Custom RPC exceptions.
  • Supports all Bitcoin clones.
  • Can operate on unlimited daemons with a single library reference.
  • Litecoin and Dogecoin integrations included.
  • Each coin instance can be fully parametrized at run-time and implement its own constants.
  • Console test client with demo methods implemented in it.
  • Disconnected raw RPC connector included for quick'n'dirty debugging.
  • Testnet ready.
  • MONO compatible.
  • Blockchain.info compatible.
  • Fully configurable.
3

An opensource book about to be released and I am finding very enjoyable is

Mastering bitcoin - Andreas M. Antonopoulos

available at https://github.com/aantonop/bitcoinbook

First two chapters are more introductory, later on he gets into a lot more detail. It will be published in December if you prefer paper.

deskenny
  • 93
  • 4