6
2
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.
6
2
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.
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
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
2
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)
0
You might also want to take a look at this C# bitcoin library: https://github.com/GeorgeKimionis/BitcoinLib
1C and C# are completely different. – Piotr Kula – 2013-09-11T14:56:47.707
2@ppumkin: Yes, that's his point. He wants a C# implementation because his C is rusty. – Meni Rosenfeld – 2013-09-11T15:31:32.547
Yes - My point was that is going to be difficult as C is based on 8086 compiler and C# on .NET Libraries. There will be a lot of headaches, especially cryptographic, which BTC is based off. – Piotr Kula – 2013-09-11T15:36:30.167