附录E:pycoin库、实用密钥程序ku和交易程序tx

最初由Richard Kiss编写和维护的Python库pycoin是一个基于Python的库,支持对比特币密钥和交易进行操作,甚至支持足够的脚本语言来适当地处理非标准交易。

pycoin库支持Python 2(2.7.x)和Python 3(3.3之后),并附带一些方便的命令行实用程序ku和tx。

1.实用工具(KU)

命令行实用程序ku(“密钥实用程序”)是用于操纵密钥的瑞士军刀。 它支持BIP-32键,WIF和地址(比特币和代币)。 以下是一些例子。

使用GPG和/ dev / random的默认熵源创建一个BIP-32密钥:

$ ku create


input           : create
network         : Bitcoin
wallet key      : xprv9s21ZrQH143K3LU5ctPZTBnb9kTjA5Su9DcWHvXJemiJBsY7VqXUG7hipgdWaU
                    m2nhnzdvxJf5KJo9vjP2nABX65c5sFsWsV8oXcbpehtJi
public version  : xpub661MyMwAqRbcFpYYiuvZpKjKhnJDZYAkWSY76JvvD7FH4fsG3Nqiov2CfxzxY8
                    DGcpfT56AMFeo8M8KPkFMfLUtvwjwb6WPv8rY65L2q8Hz
tree depth      : 0
fingerprint     : 9d9c6092
parent f'print  : 00000000
child index     : 0
chain code      : 80574fb260edaa4905bc86c9a47d30c697c50047ed466c0d4a5167f6821e8f3c
private key     : yes
secret exponent : 112471538590155650688604752840386134637231974546906847202389294096567806844862
 hex            : f8a8a28b28a916e1043cc0aca52033a18a13cab1638d544006469bc171fddfbe
wif             : L5Z54xi6qJusQT42JHA44mfPVZGjyb4XBRWfxAzUWwRiGx1kV4sP
 uncompressed   : 5KhoEavGNNH4GHKoy2Ptu4KfdNp4r56L5B5un8FP6RZnbsz5Nmb
public pair x   : 76460638240546478364843397478278468101877117767873462127021560368290114016034
public pair y   : 59807879657469774102040120298272207730921291736633247737077406753676825777701
 x as hex       : a90b3008792432060fa04365941e09a8e4adf928bdbdb9dad41131274e379322
 y as hex       : 843a0f6ed9c0eb1962c74533795406914fe3f1957c5238951f4fe245a4fcd625
y parity        : odd
key pair as sec : 03a90b3008792432060fa04365941e09a8e4adf928bdbdb9dad41131274e379322
 uncompressed   : 04a90b3008792432060fa04365941e09a8e4adf928bdbdb9dad41131274e379322
                    843a0f6ed9c0eb1962c74533795406914fe3f1957c5238951f4fe245a4fcd625
hash160         : 9d9c609247174ae323acfc96c852753fe3c8819d
 uncompressed   : 8870d869800c9b91ce1eb460f4c60540f87c15d7
Bitcoin address : 1FNNRQ5fSv1wBi5gyfVBs2rkNheMGt86sp
 uncompressed   : 1DSS5isnH4FsVaLVjeVXewVSpfqktdiQAM

从密码短语创建一个BIP-32密钥:

警告 这个例子中的密码很容易猜到。

获取JSON信息:

公共BIP32密钥:

生成子项:

硬化子键:

WIF:

地址:

生成一堆子项:

生成相应的地址:

生成相应的WIF:

通过选择一个BIP32字符串(与子项0/3对应的字符串)来检查它是否工作:

是的,看起来很熟悉

从秘密指数:

莱特币版本:

狗狗币WIF:

从公共对(在Testnet):

从hash160:

作为狗狗币地址:

2.交易实用程序(TX)

命令行实用程序tx将以人类可读的形式显示交易,从pycoin的交易缓存或Web服务获取基础交易(当前支持blockchain.info和biteasy.com),合并交易,添加或删除输入或输出,以及签署交易。

以下是一些例子。

查看着名的“皮萨”交易:

哎呀! 我们没有设置Web服务。 现在我们来做:

这不是自动完成的,所以命令行工具不会泄漏潜在的关于您对第三方网站感兴趣的交易的私人信息。 如果您不在乎,可以将这些行放入.profile。

让我们再试一次:

出现最后一行是为了验证交易的签名,您技术上需要源代码交易。 所以我们来添加-a来增加源信息的交易:

现在,我们来看一下特定地址(UTXO)的未使用输出。 在块#1中,我们看到一个钱币交易到12c6DSiU4Rq3P4ZxziKxzrL5LmMBrzjrJX。 让我们用fetch_unspent来查找这个地址中的所有钱币:

最后更新于

这有帮助吗?