<story><title>Show HN: An educational blockchain implementation in Python</title><url>https://github.com/julienr/ipynb_playground/blob/master/bitcoin/dumbcoin/dumbcoin.ipynb</url></story><parent_chain></parent_chain><comment><author>magnat</author><text>&amp;gt; It is NOT secure neither a real blockchain and you should NOT use this for anything else than educational purposes.&lt;p&gt;It would be nice if non-secure parts of implementation or design were clearly marked.&lt;p&gt;What&amp;#x27;s the point of education article, if bad examples aren&amp;#x27;t clearly marked as bad? If MD5 usage is the only issue, author could easily replace it with SHA and get rid of the warning at the start. If there are other issues, how can a reader know which parts to trust?&lt;p&gt;Even if fixing bad&amp;#x2F;insecure parts are &amp;quot;left as an exercise for the reader&amp;quot;, learning value of the article would be much greater if those parts would be at least pointed at.</text></comment>
<story><title>Show HN: An educational blockchain implementation in Python</title><url>https://github.com/julienr/ipynb_playground/blob/master/bitcoin/dumbcoin/dumbcoin.ipynb</url></story><parent_chain></parent_chain><comment><author>h4l0</author><text>For the last couple of months, there have been many educational, simple implementations that explains blockchain technology, I guess thanks to crypto bubble. I wish these were around when we were doing our senior design project on blockchains in 2014. Back then, I only could find basiccoin[0], which was purely minified to just fit in 1000 loc.&lt;p&gt;After that, I decided to re-implement everything from scratch. My foremost constraint was to write readable code so that anyone could read the codebase and have an idea of how blockchain works.&lt;p&gt;My current draft of implementation can be found on &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;halilozercan&amp;#x2F;halocoin&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;halilozercan&amp;#x2F;halocoin&lt;/a&gt; , which currently lacks detailed README and documentation. However, you can still experiment with it by using API or CLI. I&amp;#x27;m running a dedicated server to have an always online peer you can connect to.&lt;p&gt;[0]: &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;zack-bitcoin&amp;#x2F;basiccoin&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;zack-bitcoin&amp;#x2F;basiccoin&lt;/a&gt;&lt;p&gt;Edit: a word</text></comment>