Fix up README example
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
Luke Murphy 2020-08-05 08:23:38 +02:00
parent 83b2b2bde6
commit 292ef5464d
No known key found for this signature in database
GPG Key ID: 5E2EF5A63E3718CC

View File

@ -20,19 +20,34 @@ $ pip install merkle-tree-stream
```python ```python
import hashlib import hashlib
from merkle_tree_stream import MerkleTreeGenerator
def _leaf(node, roots=None): def _leaf(node, roots=None):
return hashlib.sha256(node.data).digest() return hashlib.sha256(node.data).digest()
def _parent(first, second): def _parent(first, second):
sha256 = hashlib.sha256() sha256 = hashlib.sha256()
sha256.update(first.data) sha256.update(first.data)
sha256.update(second.data) sha256.update(second.data)
return sha256.digest() return sha256.digest()
merkle = MerkleTreeGenerator(leaf=leaf, parent=parent)
merkle = MerkleTreeGenerator(leaf=_leaf, parent=_parent)
merkle.write(b"a") merkle.write(b"a")
merkle.write(b"b") merkle.write(b"b")
assert len(merkle) == 2 + 1 print(merkle._nodes)
```
Output:
```sh
[
MerkleTreeNode(index=0, parent=1, size=1, data=b'a', hash=b'...'),
MerkleTreeNode(index=2, parent=1, size=1, data=b'b', hash=b'...'),
MerkleTreeNode(index=1, parent=3, size=2, data=b'', hash=b'...')
]
``` ```