7

I want to play with the implementation to better understand the inner workings of Bitcoin. I'm familiar mostly with python and C# and found no clients in either of the languages. My C skills are rusty because I haven't done any C in last decade.

Murch
  • 71,155
  • 33
  • 180
  • 600
Moonwalker
  • 211
  • 2
  • 5

4 Answers4

6

There isn't yet a complete implementation AFAIK, but there are different libraries that implement bitcoin features (wallets, keys, utilities,

Depends on whether you want an implementation of bitcoin network protocol or wallet or just an overlay on top of the JSON-RPC interface of bitcoind.

Useful code on github:

https://github.com/jgarzik/python-bitcoinrpc - Python interface to bitcoin's JSON-RPC API

https://github.com/etotheipi/BitcoinArmory - Python-Based Bitcoin Software

https://github.com/gavinandresen/bitcointools - Python-based tools for the Bitcoin cryptocurrency system

https://github.com/jgarzik/python-bitcoinlib - Bitcoin library

https://github.com/spesmilo/electrum - Electrum thin-client

https://github.com/spesmilo/electrum-server - Electrum server

https://github.com/spesmilo/sx - Python CLI tools

Sam Weinberg
  • 821
  • 1
  • 6
  • 14
aantonop
  • 89
  • 1
4

NBitcoin is the most complete lib to date, here are links and articles about it.

NBitcoin Github : https://github.com/NicolasDorier/NBitcoin

NBitcoin Nuget : https://www.nuget.org/packages/NBitcoin/

Intro : http://www.codeproject.com/Articles/768412/NBitcoin-The-most-complete-Bitcoin-port-Part-Crypt

Stealth Payment, and BIP38 : http://www.codeproject.com/Articles/775226/NBitcoin-Cryptography-Part

How to build transaction : http://www.codeproject.com/Articles/835098/NBitcoin-Build-Them-All

Using the NBitcoin Indexer : http://www.codeproject.com/Articles/819567/NBitcoin-Indexer-A-scalable-and-fault-tolerant-blo

How to Scan the blockchain : http://www.codeproject.com/Articles/784519/NBitcoin-How-to-scan-the-Blockchain (You can dismissthe ScanState for that, now I concentrate on the indexer)

Nicolas Dorier
  • 799
  • 4
  • 7
3

In addition to aantonop's links, there is also for python:

PyCoin https://github.com/richardkiss/pycoin Utilities for transactions signing and verification, and creation of deterministic wallets according to the BIP0032 standard.

PyWallet https://github.com/jackjack-jj/pywallet bitcoin wallet importer/exporter

jeorgen
  • 201
  • 1
  • 6
0

You might also want to take a look at this C# bitcoin library: https://github.com/GeorgeKimionis/BitcoinLib