实现chainpoint v2存在性证明方法

blockchain-proofs的Python项目详细描述


生成和验证块链证明/收据(用于证明存在)的实现。目前它只支持chainpoint v2(<;http://www.chainpoint.org/>;),但它可以很容易地扩展。

请注意,它还验证merkleroot是否正确存储在区块链(testnet或mainnet)中。

将来,库可能会合并其他方法,如opentimestamp(<;https://github.com/opentimestamps>;)

安装

$ pip install blockchain-proofs

示例用法

$ python

>>> from blockchain_proofs import ChainPointV2
>>> leafs = ['a', 'b', 'c']
>>> cp = ChainPointV2()
>>> cp.add_leaf(leafs, True)
>>> cp.make_tree()
>>> cp.get_leaf_count()
3
>>> cp.get_merkle_root()
'7075152d03a5cd92104887b476862778ec0c87be5c2fa1c0a90f87c49fad6eff'
>>> cp.get_receipt(0, "e8b4177a30c8af5dd5f33adbc530e8970b593af1001b322c289e60b4ce395e13")
{'type': 'ChainpointSHA256v2', 'targetHash': 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb', 'anchors': [{'type': 'BTCOpReturn', 'sourceId': 'e8b4177a30c8af5dd5f33adbc530e8970b593af1001b322c289e60b4ce395e13'}], 'proof': [{'right': '3e23e8160039594a33894f6564e1b1348bbd7a0088d42c4acb73eeaed59c009d'}, {'right': '2e7d2c03a9507ae265ecf5b5356885a53393a2029d241394997265a1a25aefc6'}], '@context': 'https://w3id.org/chainpoint/v2', 'merkleRoot': '7075152d03a5cd92104887b476862778ec0c87be5c2fa1c0a90f87c49fad6eff'}

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
当通过libs中的JAR访问时,java安卓视图看起来不同   java如何使用Android Studio部署JavaFX项目?   java NoClassDefFoundErrorom/google/api/client/googleapis/batch/json/JsonBatchCallback   eclipse为什么在Java中调用setXmlStandalone()方法时出现异常:abstructmethoderror?   未导入java twitter4J TwitterStream   如何在java selenium中单击style属性的基础   java如何打印字符串中第一个字符的二进制表示   基于密钥的安卓-Java处理Json数组   java如何使手风琴正确显示动态信息   java是在Camel中测试对象的正确方法   每当试图显示通过USB从Arduino传入的数据时,java Android应用程序就会崩溃   编译器错误如何在命令行中设置java buildPath?   Java for loop/jvm坏了?!?循环内的递增运算符在1之后不递增   无法转换类型为“java”的属性值。lang.String“到所需类型”java。util。属性“开始时间”的“日期”   爪哇和C++中迭代器的区别是什么?   java查询生成器不能/不应该   java为什么Maven(在Netbeans下)没有为目标JDK1.6编译?