|
|
|
|
|
by westurner
3113 days ago
|
|
Thanks! Simplest explanation I've seen. Here's an nbviewer link (which, like base58, works on/over a phone):
https://nbviewer.jupyter.org/github/julienr/ipynb_playground... Note that Bitcoin does two rounds of SHA256 rather than one round of MD5. There's also a "P2P DHT" (peer-to-peer distributed hash table) for storing and retrieving blocks from the blockchain; instead of traditional database multi-master replication and secured offline backups. > ERROR:root:Invalid transaction signature, trying to spend someone else's money ? This could be more specific. Where would these types of error messages log to? |
|
Regarding the error, they are logged when a verify_block/transaction returns False, just to be a bit more explicit about what failed. In a real implementation, I guess you would throw exceptions instead (or use some Result pattern), but I tried and it cluttered the code quite a bit, so I went back to logging.