比特币实用功能

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第三方库


热门话题
线程“main”com4j中的java异常。执行例外:com4j。ComException:80040154 CoCreateInstance失败:类未注册:。\com4j。cpp   java如何中和HTTP头中的CRLF序列   java从单个对象以及对象集合中提取任何属性值   java如何在找到某个条目名称时转换/修改映射列表中的嵌套映射?   java如何使用RxJava/RxAndroid在OnNext中引发异常   java在查询之间更新SQL数据库?   java什么是将两个类合并为一个类,其中一个类是另一个类的子类?   java Kill应用程序每次进入后台   spring security如何转换web。java melody的java配置的xml代码   java卡夫卡启用。汽车commit false与commitSync()结合使用   Java数组从长数组中获取特定字节   java将子类对象分配给超类引用的逻辑目的或用途   sql Java隐藏从数据库检索的空值   使用mockito或Jmockit的java模拟私有静态最终字段   Java Apache HttpClient EnityUtils块   java HQL查询将使用Hibernate二级缓存   java检查是否选中复选框,是否使用Selenium   java如何在Android上逐个填充/显示语言的字母表