user17079: I recently became aware that python-bitcoinlib is not a full bitcoin node implementation, but rather a set of tools to work with bitcoin-core cpp. I would like to know whether there are some fundamental issues with implementing a complete bitcoin node using python? Also if it were to be tried as a code-golf exercise (the shortest code to get the full node running) how many lines of code will it amount to in python ??

user85316: There is a project, which is a complete bitcoin implementation in python.
The source code at https://github.com/csunny/py-bitcoin

user85335: Check out Tinychain.
It isn't complete and will never inter-operate with the real Bitcoin network, but it is a "code golf" approach to implementing all the Bitcoin core ideas (validation, POW mining, peer-to-peer architecture, data structures like TxIn/TxOut/Block, etc) in Python.

user120: That strongly depends on your definition of complete. There are a number of implementations that implement parts of the Bitcoin node functionality. For example cdecker/pycoin has a solid network implementation, but does not include wallet management code and validation logic. richardkiss/pycoin on the other hand has some of the wallet logic, but lacks networking. Other libraries include:

vbuterin/pybitcointools
petertodd/python-bitcoinlib

But as far as I know there is no standalone client that includes a wallet as well as the networking code.

user30996: AFAIK, there is no fundamental issues with implementing a complete bitcoin node using python, there is even some cool projects of Bitcoin full node in Python

https://github.com/samrushing/caesure
https://bitcointalk.org/index.php?topic=94645.0


17079: <p>I recently became aware that python-bitcoinlib is not a full bitcoin node implementation, but rather a set of tools to work with bitcoin-core cpp. I would like to know whether there are some fundamental issues with implementing a complete bitcoin node using python? Also if it were to be tried as a code-golf exercise (the shortest code to get the full node running) how many lines of code will it amount to in python ??</p>
 85316: <p>There is a project, which is a complete bitcoin implementation in python.
The source code at <a href="https://github.com/csunny/py-bitcoin" rel="nofollow noreferrer">https://github.com/csunny/py-bitcoin</a></p>
 85335: <p>Check out <a href="https://github.com/jamesob/tinychain/" rel="nofollow noreferrer">Tinychain</a>.</p>

<p>It isn't complete and will never inter-operate with the real Bitcoin network, but it is a "code golf" approach to implementing all the Bitcoin core ideas (validation, POW mining, peer-to-peer architecture, data structures like TxIn/TxOut/Block, etc) in Python.</p>
 120: <p>That strongly depends on your definition of <em>complete</em>. There are a number of implementations that implement parts of the Bitcoin node functionality. For example <a href="https://github.com/cdecker/pycoin" rel="noreferrer">cdecker/pycoin</a> has a solid network implementation, but does not include wallet management code and validation logic. <a href="https://github.com/richardkiss/pycoin" rel="noreferrer">richardkiss/pycoin</a> on the other hand has some of the wallet logic, but lacks networking. Other libraries include:</p>

<ul>
<li><a href="https://github.com/vbuterin/pybitcointools" rel="noreferrer">vbuterin/pybitcointools</a></li>
<li><a href="https://github.com/petertodd/python-bitcoinlib" rel="noreferrer">petertodd/python-bitcoinlib</a></li>
</ul>

<p>But as far as I know there is no standalone client that includes a wallet as well as the networking code.</p>
 30996: <p>AFAIK, there is no fundamental issues with implementing a complete bitcoin node using python, there is even some cool projects of Bitcoin full node in Python</p>

<ul>
<li><a href="https://github.com/samrushing/caesure" rel="nofollow noreferrer">https://github.com/samrushing/caesure</a></li>
<li><a href="https://bitcointalk.org/index.php?topic=94645.0" rel="nofollow noreferrer">https://bitcointalk.org/index.php?topic=94645.0</a></li>
</ul>
