比特币实用功能

bitcoin-utils的Python项目详细描述


这是一个比特币库,提供与比特币网络交互的工具/实用程序。图书馆的主要目标之一是解释比特币的低级细节。该代码易于阅读,并有适当的文档记录,详细解释了实现的所有棘手方面。它是一个低级的库,假定对比特币的工作原理有一些高级的理解。将来这种情况可能会改变。

这是库的早期版本(v0.4.0),目前,它支持私钥/公钥、所有类型的地址以及创建所有sigash类型的任何事务(包括segwit)。包括所有脚本操作代码。支持TimeLock和非标准事务。目前,存在一个简单的节点代理,可以轻松调用比特币核心节点。额外的功能将不断增加,文件将随着工作的进展而改进。

api文档可以用sphinx构建,但也可以作为pdf提供,以方便使用。人们现在可以使用这个库来试验和学习比特币的内部工作原理。它还不适合生产,部分api可能会更新为新版本。

安装

python版本3是必需的。然后使用以下命令安装:

$pip安装比特币实用程序

示例

键和地址
https://github.com/karask/python-bitcoin-utils/blob/master/examples/keys_addresses.py-创建一个私钥,我们用它派生一个公钥,然后再派生一个地址。我们还使用私钥对消息进行签名,然后使用公钥进行验证。
segwit地址
https://github.com/karask/python-bitcoin-utils/blob/master/examples/keys_segwit_addresses.py-创建p2wpkh、p2sh-p2wpkh、p2wsh和p2sh-p2wsh地址。
创建p2pkh事务
https://github.com/karask/python-bitcoin-utils/blob/master/examples/p2pkh_transaction.py-创建一个具有一个输入和两个输出的简单事务。
创建具有不同sigash的p2pkh事务
https://github.com/karask/python-bitcoin-utils/blob/master/examples/multi_input_sighash_transaction.py-创建具有不同签名类型的2输入2输出事务。
创建一个p2sh地址
https://github.com/karask/python-bitcoin-utils/blob/master/examples/send_to_p2sh_transaction.py-创建一个p2sh地址,该地址对应于p2pk兑换脚本,并向其发送一些资金。
创建(使用)一个p2sh事务
https://github.com/karask/python-bitcoin-utils/blob/master/examples/spend_p2sh_transaction.py-创建花费p2sh输出的事务。
创建非标准tx
https://github.com/karask/python-bitcoin-utils/blob/master/examples/create_non_std_tx.py-将资金发送到具有非标准tx的地址(脚本:op_add op_5 op_equal)
使用非标准tx
https://github.com/karask/python-bitcoin-utils/blob/master/examples/spend_non_std_tx.py-花费脚本op_add op_5 op_equal中的资金
使用相对时间锁创建p2sh地址
https://github.com/karask/python-bitcoin-utils/blob/master/examples/create_p2sh_csv_p2pkh_address.py-创建一个p2sh地址,该地址使用私钥(p2pkh)锁定资金(发送给它),并且将来的相对锁定时间为200个块。
从时间锁定的地址花费
https://github.com/karask/python-bitcoin-utils/blob/master/examples/spend_p2sh_csv_p2pkh.py-从上面创建的p2sh(csv+p2pkh)地址花费。
使用nodeProxy调用比特币节点
https://github.com/karask/python-bitcoin-utils/blob/master/examples/node_proxy.py-以编程方式进行比特币命令行接口调用(nodeproxy包装jsonrpc请求库)

请浏览代码库或API文档(BitCoinUtilities.pdf)以了解支持的功能和其他选项。

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

推荐PyPI第三方库


热门话题
Java while循环布尔求值   java PdfBox版本文件问题   java如何在安卓应用程序中使用onItemClick?   java在执行shell命令时显示progressbar   非属性(内联)文本值的java OpenAPI注释   面向对象Java与分数   java hibernate为mysql连接创建字符串类型的主键   java Regexp:在XML文件中替换版本号   java变量(varname)可能尚未初始化`   java静态int不会触发删除框架或更改面板   java为非标准浏览器显示警告   java订阅按钮单击,无需内联实现   java JNI_CreateJavaVM()堆栈在最近的Ubuntu 16.04中损坏   java JDBC未将根用户传递给DriverManager。获取连接   java我正在尝试查找一个数字是否为素数,并出现一个错误抛出“参数类型int的运算符&&未定义”   用户代理Java Chromium Embedded 3(JCEF3)移动版本仿真   java在For循环内部执行递归   在java中将对象[]强制转换为引用类型数组   java从JSON字符串设计类