python加密硬币工具

cryptos的Python项目详细描述


#密码工具,密码硬币签名和交易的python库推动原始交易:

*bitcoin mainnet
*bitcoin testnet
*bitcoin cash mainnet(带重放保护)
*bitcoin cash testnet(带重放保护)
*litecoin mainnet
*litecoin testnet
*dash mainnet
*dash testnet
*dogecoinmainnet

对所有这些事务广播进行了测试。


还支持分段见证事务:
*比特币主网
*比特币测试网
*莱特币主网
*莱特币测试网库:

比特币:https://blockchain.info/tx/9f3bd4fa14e424abd5623ba98877e33cfee3e7bd6f9f71d7a39e402501458c81

litecoin:https://live.blockcypher.com/ltc/tx/b16ad0332ca3114f0dc773fda643c49e41308df4204940539bea5806cfee0989/
https://live.blockcypher.com/ltc/tx/3b936180daf05adcd7e9f04b60e1ba9a4a6db486c0ad91cb795b29ca46313000/

目的是提供一个简单的,基于类的api,使得在不同的硬币和mainnet和testnet之间切换,以及添加新硬币都非常容易。


路线图:
*正确的费用检测算法
*比特币金币支持
*私钥钱包类,Electrum助记符和地址(只读)
*阅读文档页
*电子商务工具(汇率、短期发票)
*基于助记符轻松收集未使用的内容和广播事务
*桌面图形用户界面,易于创建,原始事务的签名和广播以标准格式输入和输出
*具有公共接口的不同硬币的类
*可以取出许多函数并单独使用
*支持二进制,hex和base58
*事务反序列化格式几乎与bitcoinjs兼容
*electrum和bip0032支持###缺点:

*不是一个完整的节点,不知道什么块
*依赖集中的探索者进行区块链操作

除非你真的知道你在做什么,否则在主网上的程序。未包含在输出中的输入值将丢失。
因此,如果总输入值为1 BTC,总输出值为0.5 BTC,则0.5 BTC将作为费用提供给
矿工。自述文件后面列出的更快的方法确保
输入和输出之间的差异作为更改发送回发送方(除了少量费用)。
如果有疑问,在广播事务之前,访问https://live.blockcypher.com/btc/decode tx/并解码原始tx
,确保其看起来正确。如果您不熟悉比特币交易的工作原理,那么在为mainnet开发之前,您应该在testnet上运行
此过程几次-如果您不熟悉segwit,则相同。

其他警告:整个库中比特币mainnet的默认费用太低。
这可能会导致硬币丢失一段时间,直到最终被矿工确认。希望不久能实现某种
的"正确费用"检测算法,但目前建议在进行交易时考虑并设置
适当的费用。有很多不同的交易方式。无论您选择哪种方法,请确保了解如何设置正确的费用。

>;密码导入*
>;c=比特币(testnet=true)
>;priv=sha256('一个大的长智能钱包密码')
>;priv
'89d8d898b95addf569b458bbd25620e9b19c9f730d5d60102abbbcb72678'
>;pub=c.privatopub(priv)
>;pub
'041F76763D81010DB8BAA3026FEF4AC3DC1AD7CCC25431480441C61A29E883EE4499DC724AB2737AFD66E46E4AACDCD0E44444850E4850CD783C13EDB3DBD1750E1BD0CB033764F'
>;addr=c.pubbtoaddr(pub)
>;addr
'mwjuqbdhamWemrsr17oy7Z9UPFH4JTNXM1'
&>>;addr
;addr
'mwjujuqbdhammwbdhamWemWemWemgt;inputs=c.unsent(addr)
>;inputs
[{output':'3be10aaff108766371fd4f4efeabc5b848c61d4aac60db6001464879f07508:0','value':180000000},{outputs':'51ce9804e1a4fd3067416eb5052b9930fed7fdd9857067d935d69f41faa38:0','value':90000000}]
>;outs=[{value':269845600,"地址":"2N8Hwp1WmJRff5QWABN38Y63UYLHnJYYJYTF'},{"值":100000,"地址":"mrvhv6ggk5gfmatujtbkazkttu1N3mydu2'}]
>;tx=c.mktx(输入、输出)
>;tx
{"锁定时间":0,"版本":1,'ins':[{'outpoint':{'hash':'3be10a0aaff108766371fd4f4efeabc5b848c61d4aac60db6001464879f07508','index':0},'amount':180000000,脚本''script':'483045022100fccd16f16f16f16f16f16f619c5f8198f5a0f57f6542afaae10b29927339633963c5b90454544C040404040404042041521e7ab2f4b8856e8554C651664af92f6a5458328c411bC6525a460a9a9a9a6104040404414141c614641c6129314841c6129314841c61293148314841c61293e449999dc724ab27377AFD666e4aCDCD10e40f16e40f4a10e40f16f1650450450450450450450450450450450450450450',"序列":4294967295},{"输出点":{"哈希":"51CE9804E1A4FD3067416EB5052B9930FED7FDD9857067D935D69F41FAA38","索引":0},"数量":90000000,脚本''script':'4830450222100A9F056BE75Be75DA4167C2cae9F037e04e0F6EFD20AF97e055050502406C127D72E7F236C022066666638C10AD6975B4926633E7C40547405DD4E61844FAFD0EC98260369FADB014104030369FADB04041F10404763D81010DBB11010B1808B1026BBA3026FEF4AC3DC112C25431480441C621A2293131484841C6293131313131314841C62931313131313131313131312929293131313131449999DC724AB2737377AFD724AB27377AFD67AF我是说,'序列':4294967295}],'输出':[{'script':'a914a9974100aeee974a20cda9a2f545704a0ab54fdc87','值':269845600},{'script':'76a9147d13547544ecc1f28eda0c0766ef4eb214de104588ac','值':100000}}}
>;tx2=c.sign(tx,0,priv)
>;tx2
{'locktime':0,'版本':1,'输入':[{'outpoint':{'hash':'3be10aaaff108766371fd4f4efeabc5b848c61d4aac60db6001464879f07508','index':0},'amount':180000000,脚本''script':'483045022100fccd16f16f16f16f16f16f619c5f8198f5a0f57f6542afaae10b29927339633963c5b90454544C040404040404042041521e7ab2f4b8856e8554C651664af92f6a5458328c411bC6525a460a9a9a9a6104040404414141c614641c6129314841c6129314841c61293148314841c61293e449999dc724ab27377AFD666e4aCDCD10e40f16e40f4a10e40f16f1650450450450450450450450450450450450450450',"序列":4294967295},{"输出点":{"哈希":"51CE9804E1A4FD3067416EB5052B9930FED7FDD9857067D935D69F41FAA38","索引":0},"数量":90000000,脚本''script':'4830450222100A9F056BE75Be75DA4167C2cae9F037e04e0F6EFD20AF97e055050502406C127D72E7F236C022066666638C10AD6975B4926633E7C40547405DD4E61844FAFD0EC98260369FADB014104030369FADB04041F10404763D81010DBB11010B1808B1026BBA3026FEF4AC3DC112C25431480441C621A2293131484841C6293131313131314841C62931313131313131313131312929293131313131449999DC724AB2737377AFD724AB27377AFD67AF我是说,"序列":4294967295}),"输出":[{script':'a914a9974100aeee974a20cda9a2f545704a0ab54fdc87',"值":269845600},{script':'76a9147d13547544ecc1f28eda0c0766ef4eb214de104588ac',"值":100000}}
>;tx3=c.sign(tx2,1,priv)
>;tx3
{locktime':0,'版本':1,'ins':[{'outpoint':{'hash':'3be10a0aaff108766371fd4f4efeabc5b848c61d4aac60db6001464879f07508','index':0},'amount':180000000,脚本''script':'483045022100fccd16f16f16f16f16f16f619c5f8198f5a0f57f6542afaae10b29927339633963c5b90454544C040404040404042041521e7ab2f4b8856e8554C651664af92f6a5458328c411bC6525a460a9a9a9a6104040404414141c614641c6129314841c6129314841c61293148314841c61293e449999dc724ab27377AFD666e4aCDCD10e40f16e40f4a10e40f16f1650450450450450450450450450450450450450450',"序列":4294967295},{'outpoint':{'hash':'51ce9804e1a4fd3067416eb5052b9930fed7fdd9857067d935d69f41faa38','index':0},'amount':90000000,'script':'483045022100a96 F056 6 Be75da4167 C2 2 Ca9F037E04FF6 6 6 EEE9F037E04FFFFF4444EEEE7F20E05052406 C1C127D27E7C02202020202020202020202020206D4E6184Fa333FaFaFaFaFaD0EC9826026036FaDB0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 B3DBD0750E1BD0CB03764 F',` Sequence':4294967295},"` Outs':[` script':A914A9974100AEE974A20 CDA9A2F545704A0AB54FDC87',` Value':269845600},;TX4=C.Serialize(TX)>。这是公开文章"0 0 0 0 0 0000000200875F0794948460D60AC4AAA4DDD648 B8BB8BB44D4B4D4D4D4D4D4D4D44D44D44DFF0A1113B0000000000010FC111F619C5F5F557F44AFAE10B29923939393939393C5B4B44F4B44B4444B4444B4444444C444444C654444C4444444444444444444C44444444444444444444444444ODB8BA3026FEF4AC3DC1AD7CCC2543148041C61A29E883E449DC7 4AB277244AB2727744444444444F48550CD78333333333333333edBB333BBBBBB3BBB33B3B3B3B3B3B3B3B3B3B3BB4B4B4B4B4B4B4B4B4D4E104981900 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3E7C40547405DD4E6184FA3AFD0EC98260369FADB0D0141041F7因此,一个比比比比比比比比比比比比比比比比比比比比比比比比比比比比比比比比比比比比比比比比比比比比比比比比比比比比比比比比比比比比比比比比比比比比比比比比比比比比比比比比比比比比比比比比比比比比比比比比比比比比比比比比比比比比比比比比比比比比比更更更更更更更更更更更更更更更更更更更更更更更更更更更更更更更更更更更更更更更更更更更更更更更更更更更更更更重要的、、更更更更更更更更更更更更更更更更更更更更更D1045888AC00000'
GT;C.Pushtx(TX4)
Status:` Success'、` Data':` Network':` BCTEST',"TXID"电话:'00af7B797B794355AA4EA5851A792727139334B5252B820CF7F20E2A0E01AB61910B5299'}}
>B35;>B3535;BR/>
>>>B9BB9BBB9B9BBB9BB9BBB9BB9BB9BB9BBB9BB9BB9BB9BB9BB9BB9BB9BB9BBB9BB9BBB9BB9BBB9BBB9B9BBB9BBB9B9BB9BBB9B9BBBTo address YD8Q7MWTDE9YDEMX1YSYSS4WDXQ2HDQTG,随着对变革的反馈,回到了最新的情况如下:

>;从CRYptos进口
>;DASH=DASH(Testnet=True)
>;DASH.SEND(89D8D898B95D569B458FBBBD25620E9C9B19C73B5D6060102AB72678"、"Y8Q7MWD9DD9DDDDDD1DeXXXXXYYYYYYYYYYYYYYYYYYYYYYD1DDD1DMSSSSSSSSSSS1 1 1,从其本身本身本身本身本身本身本身本身本身本身本身本身本身本身{\ fnYouYuan \ fs14 \ bord1 \ 3aH82}(d)数据:<>>>BR/><>BR/>或如果你更愿意核查TX(例如,与BloccyPher一起),你可以将其转变为两个步骤<<<GT>从最重要的进口到最重要的工作,从最重要的进口到最重要的工作,从最重要的进口到最重要的两个步骤,从最重要的工作组到最重要的工作组,从最重要的进口到最重要的工作组,从最重要的我不知道,我不知道。=Dash.Preparesignetx(Priv,"XHCMZS5WKECBIWWWWSETZ8WONNGUH5POAZ",9800000-20000,FEE=20000)
GT;您所选择语言的"0 0 0 0 0 0000000194F2F9556 57 D549 F213A70D65DDDDDDD250C0B14A444D4BB4BB4B4B44B4B4B4B4BB125B1F48C145 193F70B915B0074539D74C2E75494969F067,ACAC3902025 A0011A354A444D4444EF234B4B4B5D5D5D2020B4B4B444B4B444B444B44B44B444B444B444B4B4B44B4444444B4B4B4B4B444B46380AD9F3A6B7F64274B3497CE42518F8DB39BFEDEA248 897 7A5D8DD1DD41C04F55700ED8D8D1D1D1D1C04F5E5D8D8D8D8D8D1D1D1D4F5E5D1D1D4F5570ED8D8D8D8D8D8D8A5D8DD8A00000000'
因为` Status'所以所以所以{\{\{\{\{\{\ Status'Status}}{\{\{\{\{\{\{\{\{\{\{\{\{\{\{\{\{\{\{\ 3cH202020}}Status'Status'Status}}}}{\{\{\{\{\{\{\{\{\{\{\{\{\{\{\{\{\{\{\{\{\ 3cH202020}}}}}}}}8FD30CDC6567EB5887765 E911FDDD1FB0AAC870D3125FFDE76',"网络":"DASH":
Another example with Bitcoin Cash Testnet:

GT;from Cryptos Import*
GT;Crypto=Bitcoincash(Testnet=True)
GT;TX=Crypto.Prepareginedtx(<89D8D898B95Addf569B45FBBD25629E9B730092B729B72B601B72B72B72B720B39B72B72B72B72B601B39B72B72B72B70B70B70B70B70B70B70B70B70B70B70B70B70B70"Mgroews2 cececeeuqmnfjjnpx8yvtpacx",967916800)
GT;您所选择语言的"0 0 0 0 0 0000000144EA7B41DF09CE54C43F817D11FD4D4D88C9B721B44B4B4BB4BB4B4F4F6F6B000000000000000000008B4830210EA819D89D89F4B4DDB4DDB4DDB0AAA9A7EB605D0325F4777E1867B802B76D76D220E928F4765B5D694E4A4A4A4A4A4A4A4A4A4A4A4A4A4AA4A4A4A4AAA4A4A4A4AAAAAA4A4A4A4A4AAAA4F763 D81010DB8BA3026FEF4AC3DC1AD7CCC2543148041C61A29E883E449DC7 4AB27724AB277AB27277AFD66E4AACDC0E44F48550CD78333333C133a73edB3D3DDD0750E1BD0CB03764ffffffffffF0203D3D3D3D0000000000044A68884DFF4D070FDFD21a8244D4E47F8D8D8D8D8D8D8D8D8D8D8D8D000000000000000000DDDD8D8D8DD8D8D8D8D8DD000000000000000000000000DD4DDDDDDDD4DDD4DDDD4DDD4DDD4D4D4DD4D{\ 1cHADEAEA}(现状:「成功」、「数据」:{'txid':'d8b13010183824d0001d3bc669b31e798e2654868a7fda74aaf35d757d89db0eb','network':'tbcc'}

一个付费见证脚本哈希(p2wpkh)
地址并用segwit=true标记所有segwit utxos。

>;来自cryptos import*
>;c=litecoin(testnet=true)
>;priv=sha256("一个大而长的智能钱包密码")
>;priv
'89d8d898b95addf569b458bbd25620e9c9b19c9f730d5d6012abbbcb72678'
>;addr=c.privtop2w(priv)
>;addr
'2mtj1r5qsfgowjkjf7cyuffnk5brayzh'
>;inputs=c.unsent(addr)
>;输入
[{output':'63189d6354b1e7d3a5a16076b0722f84b80b94d5f4958c3697191503cccbe88a:0','value':100000000}]
>;输入[0]['segwit']=true
>;输入
[{output':'63189d6354b1e7d3a16076b0722f84b80b94d5f4958c3697191503cccbe88a:0','value':100000000,"segwit":true}
>;outs=[{'value':79956800,'地址':'mxycacpjwammkxu7s9sm8npicfwehpycwx'},{'value':19989200,'地址':'2mtj1r5qsfgowjkjf7cyuffnk5bryayzh'}]
>;tx=c.mktx(输入,输出)
>;tx
{'locktime':0,'版本':1,'ins':[{'script':',"序列":4294967295,"输出点":{"哈希":63189d6354b1e7d3a5a16076b072f84b80b94d5f4958c36977191503cccbe88a,"索引":0},"金额":100000000,"段号":true}],"输出":[{"脚本":76a914baca296897786ba311edcfc04d9ad95d393679488ac,"值":79956800},{'script':'a9141039471d8d44f369334d1b9d69fd957799cf3087','value':19989200},'marker':0,'flag':1,'witness':[]}
>;tx2=c.sign(tx,0,priv)
>;tx2
{'locktime':0,'version':1,'ins':[{'script':'160014804aff26594cc36c0ac89e95895ab9bdd0c540ef',"序列":4294967295,"输出点":{"哈希":63189d6354b1e7d3a5a16076b072f84b80b94d5f4958c36977191503cccbe88a,"索引":0},"金额":100000000,"段号":true}],"输出":[{"脚本":76a914baca296897786ba311edcfc04d9ad95d393679488ac,"值":79956800},{'script':'a9141039471d8d44f3693cd34d1b9d69fd957799cf3087','value':19989200},'marker':0,'flag':1,'witness':[{'number':2,"脚本代码":"47304402201632CB84aAED4934DF83FBC3CD2682F920EEF37F76AA64D47702DD59633C900220198CFE15C28B26247C8E49974B4FDA825AE16441112F13E754322964A9F24EC8012101F763D81010DB8BA3026FEF4AC3DC1AD7CCC2543148041C6129E883EE4499DC'}
>;TX3=序列化(TX)
>;TX3
'010000000001018AE8CBCC03151997368C95F4D5940BB8842F72B07660A1A5D3E7B154639D18630000000017160014804AFF16594CC36C0AC89E95895AB9BDD0C540EFFFFFF02400BC404000000001976A914BACA299689786BA311EDCFC40D9AD95D393679488ACD00231010000000017A9141039471D44F3693CD34D1B9FD957799CF30870247304200232CB84a0AED4934DF83FBC3CD2682F920EEF37F76AA64D4777702DD59633C900220198CFE15C28B26247C8E49974B4FDA825AE16441112F13E754322964A9F24EC8012103F1763D81010DB8BA3026FEF4AC3DC1AD7CCC2543148041C61A29E883EE4499DC00000000'
>;C.pushTX(TX3)
{'状态':'成功','数据':{'网络':'长期测试',"txid":"51d5be05d0a35ef5a8ff5f43855ea59e8361874aff1039d6cf5d9a1f93ae1042'}



只需将一个输入标记为segwit
即可创建segwit事务。


\
返回lchams51xfymks3fjlayuseysbiyblud的更改:

>;来自密码导入*
>;l=litecoin()
l.send("<;privkey>;","lnm9hpc6efd7sskkkpu6atljndxsnndndqs",23486583,费用=20000,更改地址:"lchams51xfymks3fjlayuseysbiyblud",segwit=true)
{状态':'成功','数据':{网络':'ltc','txid':'3b936180daf05adcd7e9f04b60e1ba9a4a6db486c0ad91cb795b29ca46313000'}

除了私钥之外,还可以提供发送地址,在这种情况下,segwit将被
自动检测,因此无需事先知道地址是否为segwit:

>;来自Cryptos Import*
>;c=bitcoin()
>;c.send('<;privkey>;','1cbffnotcvcwg26wdhfnoddvzqzubxkdb',88036480,addr="3age5ckw5ckfagkpqe82vswkejoxfdxmxq")
{状态':'成功','数据':{网络':'ltc',"txid":"b16ad0332ca3114f0dc773fda643c49e41308df4204940539bea5806cfee0989"}


公钥=['02E5C473C051DAE3103C335266d0EF89C1DAAB2F34D885CC7706B267F3269C609','0391ED6BF1e084297938EA2706480A7085BBB253268FD12EA83A68509602B6e0',,'0415991434E628402EBCBAA3261864309D2C6FD10C850462B9EF0258832D35AA26E62E629D2337E3716784CA6C727C73E9600436DED7417D957318DC7A41EB']
>;脚本,地址=coin.mk_multsig_address(公钥,2)
>;脚本
522102E5C473051DAE3103C335266d0ef89c1daab2f34d885cc7706b267f3269c6092103916bf1e0842997938ea2706480a7085bbb253268fd12ea83a6809602b6e0404415991434e62402ebcbaa3261864309d2c6fd10c850462b9ef025883282d35aa26e62e29d237e3716784ca6c73e9600436ded7417d957318dc7a41eb53ae'
>;地址
'2nd6ptw19yafemba5ltedzjkc2rssyyuvqa'
>;tx=硬币。为范围(0,len(tx['ins'])中的i准备x(地址,"mylktrrh3dkkk3gnshnj5tzsig6j1oaajw",1100000,50000)
>;:
sig1=硬币。多重签名(tx,i,script,"cudnkzomacp2631fa5q4yhv2fadc8ueymr5nusjjvm13igcvjk")
sig3=硬币。多重签名(tx,i,script,"cmrziexc6imv8vvaml8qx9hgdp8znhcskbds9bkra1b4mhkv6f")
tx=应用多重签名(tx,i,script,sig1,sig3)
>;TX
2010年1月1日,2010年1月2日,2010年1月6日,2010年1月1日,2010年1月1日,2010年1月1日,2010年1月1日,2010年6 FBCF5093363FBCF5093363FBD499141A641A641A661A6B5B5B5B5B5B47BA90915BBB47912FB84680A3680A3A3B2B2B1212022022BBB2B2212022022BBD62626262626246626262626246495B5B151355EB5EB5EB5EC4928BBBB0B8BBB8BBB07680B2B2B2B2B2B20202020202020202020202020202020202020202022424242424245个2894E28FA5C9022007FF3F90BCECE19036625806D4D1951A 03C256627163F1AC4E76A6EE8EAE0872014C89522102E5C473051DAE3103C335266D2EF89C1DAAB2F34D885C7706B267F3269C609210391ED6BF1E0842997938EA2706480A7085BBB253268FD12EA83A68509602BE0411934E62840BECBAA3261864309D2C6FD10C850462B9EF025883282d35AA26E62e629d2337e3716784ca6c727c73e9600436ded7417d957318dc7a41eb53aeffffffff02e0c81000000000001976a914c384950342cb6f8df55175b485803130fad88ac3012240000000017a914d9cbe7c2c5070c306f4872cfb4fe51b621998700000000'
>;硬币。pushtx(tx)
{状态:'成功','数据':{'txid':'b64e19311e3aa197063e03657679e2974e04c02c5b651c4e8d55f428490ab75f','网络':'btctest'}




\priv=sha256('a big long brainwallet password')
>;b=bitcoin()
>;B.PrivatoAddr(私有)
‘1Gnx7yy7IMKWPZKPOHYQBJ4WAXG6M6M6N6CDSG’
>;B=比特币(testnet=true)
>;B.PrivatoAddr(私有)
‘MWJUQBDhamWeMRSR17OY7Z9UpFH4JTNXM1’
>;L=litcocoin()
>;L.PrivatoAddr(私有)
‘LB1UnkrykyRQKTFZ5xTGPT61Mautduq7ij1’
‘B.PrivatoAddr(私有)
‘L.PrivatoDDR(私有)
‘LB1Unbr/>>;升=litecoin(testnet=true)
>;l.privToAddr(priv)
'mwjuqbdhamwemrsr17oy7z9upfh4jtnxm1'
>;c=bitcoincash()
>;c.privToAddr(priv)
'1gnx7yyyyimkwpzpohyqbj4waxg6mn2cdsg'
>;c=bitcoincash(testnet=true)
>;c.私有地址(priv)
'mwjuqbdhamwemrsr17oy7z9upfh4jtnxm1'
>;d=dash()
>;d.私有地址(priv)
'xrumwoccjtizz9gzp9s9p9bdnbg3Mvab1f'
>;d=dash(testnet=true)
>;d.privToAddr(priv)
'yc6xxkh4b1p4vruvihudbd3j4taqpy4fzn'
d=doge()
d.privToAddr(priv)
'dlvceovn5aqgxkaq28q9q7bqppeffrp4e'

rt os
>;来自Cryptos Import*
>;words=熵到单词(os.urandom(16))
>;words
'浮裙路提醒消防古董供应商选择高级拉丁语small glide'
>;seed=助记符到单词(words)
>;种子
b'\xb7z\x9b\x9b\x9c\x1bq\x81\x1b\xdc\x98\x1c\xbc\xb8\xbb\x130\xea、\xda\x14\xeb\x9bf\xafu\x88\xc2\xf9\xfc\x7f\xd0\xb0?\ x9d\xf3\xa7$0tx\xd3\xb7\x82\x87u\xe7\xcc\xdd\x16\xdd\xbf't\t\xdc r!x\t'
>;驻极体私钥(seed,0)
'5a378112b3057e44636c6e07023e16a8669e12a4365dfabbc376ed272081d522'
>;驻极体私钥(seed,300,0)
'04cf414f200cd090239f216d90608ae34ae21103ca9eef7bd9579e48bed'
>;驻极体私钥(seed,0,1)更改地址
'9ca3631f813a6f81b70fbfc4384122bfe6159e6f7aea2811fe968c2a39d42a'

会被偷的。相反,存储主公钥并根据它生成地址。钱包文字可用于将硬币花在单独的冷库机器上。

>;从密码导入操作系统
>;
>;文字=熵到单词(os.urandom(16))
>;
‘盾行业剂量代代币网络定义慢下忽略恐龙负担得起’的盾行业剂量代币网络定义慢下忽略恐龙负担得起’的盾行业剂量代币网络定义慢下忽略恐龙负担得起’
>;seed=助记记记记记记记记记记记记记记记记记记记记记记记记记记记记记记记记记记记记记记记记记记记记记记记记记记记记记记记记记记记记记记记记记记记记记记记记记记记记记记记记记(单词)
>;seed
>;b
b'\x1\xa2r\xa2r\xa2r\xd2\xdx\xdv\xdv\xd安培\ X14\x908\xDC\x10U\x09\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x09\x07\x09\x09\x09\x07\x08\x08\x08\x08\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x8B24CE1'

#安全地将mpk存储在web服务器上,并根据需要生成地址:
>;来自加密导入*
>;coin=bitcoin()
>;主公密钥='9EA7E2F83BBF1C3ECEB12B120DDC3F142117C6F142117C6C17C69D82D1B18AD0F54A91F34B938C587CB3EDF7D54EBA1EC205B38990296FD58EC1B11552012015151C1529A1288B28B28B24B24CE1'
>;addr=coin.electrum地址(主公密钥,0,0)
>;addr
>'1Gehjopn3F5EgZobu6FYP4A6cqmavytz'
>;是的change_addr=coin.electrum_address(master_public_key,0,1)
>;更改地址
'1af6a7yd6fjnfuhx3mcmghs4mn9afjp7x'

words='屏蔽行业剂量代币网络定义"忽略城堡恐龙负担"下的"慢"
>;seed=mnemonic_to_seed(words)
>;priv=electrum_privkey(seed,0,0)
>;priv
'1120fb42302e05fbdd55fefb7bc307ae075ce77ae9328672ee46b1f4af1d68189'
>;change_priv=electrum_privkey(seed,0,1)
>;change_priv
'29a6f2d3de33f79bb6e39753ce2a366ff7e6034f62c2809cfe501f3bb2580fe5'
>;assert privtoaddr(priv)='1gehjopn3f5egzozebu6fyp4a6cqmavytz'
>;assert privToaddr(change_priv)="1af6a7yd6fjnfuhx3mcmgehs4mn9afjp7x"



\x3mcmgehs4mn9afjp7x;密码工具命令行接口:

484ccb566edb66c65dd0fd2e4d90ef65


cryptool electrum_privkey 484ccb566edb66c65dd0fd2e4d90ef65 0<0
5932402205E7B7B5D7C13393B7C13393B7C9553497854B75C7470B7B7AEA50CD4A894D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D7D

密码工具bip32.U Master加密工具bip32.U密钥21456t243rhgtucyadh3wgyrcubwwwwwwwwgrydfbng
>xprv9s21zrqh143k28gwmoja8gwmoja89kqj4nqqqqqqqqwwwywhp9z8jvcgzued4iqvcy2d7rfpnbc9nxosf7cavh9anxf7cav9ansvepuaeqbspj4rbt


>密码工具bip32加密工具bip32.U ckdxprv9s21zrqh121212zrqh143k28k28gwwwwwwwwwwwwwwwww8gw使用单位dv4ihcyoed7rfpnbc9nxosf7cavh9ansvepuaeqbspjz4rbt 0
xprv9vfzyrpwo7qhfdtrcvssctrbesfp1g7nrvayy1qkefuekpdklfqvhjgyph5w3navwpjtqunkyywnklkybius95khfhczjxffkledwrepbw

xprv9s21zrqh143k2napkeoht48gwmoja89kcqj4nqlfdgybywhp9z8jvcgzuedv4ihcyoed7rfpnbc9nxosf7cavh9ansvepuaeqbspj4rbt
xpub661MyMwaqrbcfgfhrglhpc5r4odnyasazdeffdkhbcwarjch6szzbukwuhnp142zfdkdakdajsutsaigdyjvm7bclma8dzqksyjjbymcgryf

-s选项允许您从命令中读取参数行

cryptotool sha256"一些大而长的智能钱包密码"pybtctool-s privtoaddr pybtctool-s history
[{输出:u'97f7c7d8ac85e40c255f8a763b6cd9a68f3a94d2e93e8bfa08f977b92e55465e:0',值:50000,'地址:u'1qld3bhw4ezaurhbkcwm5yzbuqfa4rey6'},{'输出':u'4cc806bb04f730c445c60b3e0f4f44b54769a1c196ca37d8d4002135e4abd171:1,'值':50000,"地址":u'1qld3bhw4ezaurhbkcwm5yzbuqfa4rey6'}
密码工具random_electrum_seed pybtctool-s electrum_privkey 0
593240c2205e7b7b5d7c13393b7c9553497854b75c7470b76aeca50cd4a894d7

b选项允许将二进制数据作为参数读取


| pybtctool-s changebase 16 256;pybtctool-b changebase 256 16
a665a45920422f9d417e4867efdc4fb8a14a1f3fff1fa07e998e86f7a27ae30a

1FFXKFJQLJ秋秋秋JJJTW6QMXGT6Of43ZH959NS8CQ Pybtctool-J选择2000万1 Pybtctool-J mksend 1EXOdUJJZUKZ4UHEEF77Z6A5S4P:20000 1FXKJJQLJJJQLJTW6QMXGT6Of43ZH959NS8CZZZZZ4UKJJJJJJJJJJJJZ4UHEF77Z6A5S4S44S4S4P:20000 1FKFJJJJJJJJQQQQLJTJJJJJJJJJJJJJJJJJW6W66W是的010000000300300300300300300300300300300300300300300300300300300300300300300030008084904040404040404040404040404040404040404040404040404040404040404040404040408080808040404040459DC6122437767E2CA78555535824E2EBBBBBBBBBBBBBFFFF9B2B2B2141414141414E2E217E217645773C08D974250404045204040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404B15D型01B0060606A6B825121A0D2C546C277ACB60F000BD3203B501B8D67D6B8D6B7D7D7DBA7D7F7F7FFFFFFFF1529D655DFF6A0F6F6F6C9815EE835312FB3CA4F622F21B6B9097666E92840909700008040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040448EF80F型6BBD6BBB6767407A6929C2929C289DE48ADB549BB9689A5040BBBBB150B10B10B10B10B10B10B10B10B10B10B10B10B10B10B1006A6B825121A10D2C546C246C277ACB60BD3203BD3203BD5D7C7DBB7D7D7D7F7FFFFFFFFFFD5F5F5CF0A8C233B35443B35B35443C35BBBBB48488383838383836322A34CD4880000004040404040400B484804040404040404040404040404040404040404040B10B10B10B10B10B10B10B10B10B162074A1DF3FA0aea5ef67368d0b1f0eaac520 bee6e417c682d83cd0433045014104048ef80f6bd6b073407a6929c2ba89de48adb59bb9689a5ab040bebbebcbb15d01b006a6b8251a0d2c546c277acb60f0bd3203bd501b8d67c7dba91f27f4ffffffff02204e00000001976a914946cb2e08075bcbaf157eb67b2b2339d2428ac5b3c4411000000001976a914a41d15ae657ad3bfd0846771a34d7584c37d54a288ac00000000

json的趣事:


cryptotool unsent 1exodusjgwvnjzuykxz4uhef77z6a5s4p pybtctool-j多址值pybtctool-j sum
625216206372

cryptotool unsent 1exodusjgwvnjzuykxz4uhef77z6a5s4p pybtctool-jcount
6198


要使用您可以添加的testnet--testnet:


{"输出":"79f38b3e730eea0e44b5a2e645f0979
2d9f8732a823079ba4778110657cbe7b2:0","值":100000000},{"输出":"99d88509d5f0e298bdb6883161c64c7f5444519ce28a0ef3d5942ff4ff7a924:0","值
":82211600},{"output":"80acca12cf4b362b583f1dc7e43fff936e432a7ed4b16ac3cd10024820d027:0","value":192470000},{"output":"3e5a3fa342c767d524b653aec51f3ef122644c57340fbf5f57c75d1911ad35:0","value":10000000}

或--coin选项使用比特币以外的硬币(bch、btc、dash、doge或ltc)

Cryptotool unspent lv3vlesnci3zf26y86kh2fzxfqq2rjra——硬币LTC
[{"output":"42bfe7376410696e260b2198f484df4aa6c744465940f9922ac9f8589670a4:0","value":14282660}]


Cryptotool unspent mylktrh3dkkk3gnshnj5tzsig6j1oaajw——coin ltc——testnet
[{"output":"68f9c66503715a3baf29fe4b07c056bbf6654dbdd9d53f4d6a18225d0ff3:0","value":16333531},{"output":"aa40041a1fcdb952d6a38594a27529f89d17d715fd54b6914cd6709fa94ca67:0","value":100000000},{"output":"3B72BAE956D27AB0AD30980AB76BEAF203109F423E53FD7C40F1201672F598:1","value":164712303}]


在比特币现金测试网上制作和广播交易:


Cryptotool send 89D8D898B95addF569B458FBBD25620E9C9B19C9F730D5D6012ABBBCB72678 mgroews2ceceuqqmnfjnpx8YVTPCMCX9999500--fee 50000--coin bch--testnet
{"status":"成功","data":{"txid":"caae4c059ac07827047237560ff44f97c940600f8f0a1e33922f4bcaf91e38c5c","network":"tbcc"}


参数是发送方的私钥、接收方的地址和费用(默认10000)。更改将返回给发件人。

用privkey创建tx的数字签名并添加到输入i
*signall:(txobj,privkey)->;用privkey为所有输入创建tx的数字签名
*历史记录:(地址)->;地址的发送历史记录和余额
*未使用:(地址)->;地址的未使用输出
*push tx:(hex或bin tx)->;将事务推送到区块链
*获取tx:(txhash)->;从区块链获取tx
*txinputs:(txhash)->;以重新用作未使用项的格式从以前的事务获取输入
*发送:(privkey,to,value,fee=10000,change_addr=none,segwit=false,addr=none)->;创建并推送一个简单的事务,将硬币发送到一个地址,并将更改返回到更改地址或发件人
*sendmittx:(privkey,to:value pairs,fee=10000,change_addr=none,segwit=false,addr=none)->;创建并推送一个事务,将硬币发送到多个地址并将更改返回到更改地址或发件人
*preparetx:(frm,to,value,fee,change_addr=none,segwit=false):->;创建具有更改输出的无符号txobj
*preparemultitx:(frm,to:值对,fee,change_addr=none,segwit=false):->;创建无符号txobj具有多个输出和附加更改输出
*preparesignedtx:(privkey,to,value,fee=10000,change_addr=none,segwit=false,addr=none)->;使用更改输出创建签名的txobj
*preparesignedmultitx:(privkey,*args,change_addr=none,segwit=false,addr=none)->;创建带多个输出和附加更改输出的有符号txobj
*mktx:(输入,输出)->;创建无符号txobj
*mksend:(输入,输出,更改地址,费用,segwit)->;创建无符号txobj
*mk_multisig_address:(pubkeys,m)->;返回m-of-n multsig脚本和地址pubkeys
*pubtop2w:(pub)->;付费见证脚本哈希(segwit address)
*privtop2w:(priv)->;付费见证脚本哈希(segwit address)
*如果addr是有效地址,则返回isu address:(addr)->;true对于此网络,如果addr是此网络的付费脚本哈希,则
*为"p2sh:(addr)->;真
*如果priv addr对表示付费见证脚本哈希,则为"segwit:(priv,addr)->;真"。最新砌块高度
*砌块高度:(txhash)->;含有txhash的砌块高度
*检查:(tx_hex)->;反序列化事务并解码和输入输出
*merkle_prove:(txhash)->;证明事务有效,并返回txhash、merkle兄弟和块头。

key2)->;key1+key2(用于私钥或pubkeys)
*乘法:(pubkey,privkey)->;返回pubkey*privkey

*ecdsa符号:(message,privkey)->;sig
*ecdsa验证:(message,sig,pubkey)->;真/假
*ecdsa_recover:(消息,sig)->;pubkey

*random_key:(->;privkey
*random_electrum_seed:(->);electrum seed

*electrum stretch:(seed)->;secret exponent
*electrum_privkey:(seed或secret exponent,i,键入)->;私钥
*electrum_mpk:(seed或secret exponent)->;主公钥
*electrum_pubkey:(seed或secexp或mpk)->;pubkey

*bip32_master_key:(seed)->;bip32主密钥
*bip32_ckd:(private或public bip32 key,i)->;子键
*bip32-privtopub:(private bip32-key)->;public bip32-key
*bip32-extract-key:(private或public bip32-key)->;privkey或pubkey

*反序列化:(十六进制或二进制事务)->;json tx
*序列化:(json tx)->;十六进制或二进制tx
*多签名:(txobj,i,script,privkey)->;签名
*应用多签名:(txobj,i,script,sigs)->;索引为i、sigs签名的tx
*scriptaddr:(script)->;p2sh地址
*mk\u multisig脚本:(pubkeys,m)->;来自pubkeys的m-of-n multisig脚本
*验证"tx"输入:(tx,i,script,sig,pub)->;true/false
*tx_hash:(hex或bin tx)->;hash

*访问:(json列表/对象,prop)->;该json对象的所需属性
*multiaccess:(json list,prop)->;与access类似,但映射到每个列表元素
*slice:(json list,start,end)->;列表的给定部分
*count:(json list)->;元素数
*sum:(json list)->;所有值之和

*选择:(unspent,value)->;返回足以覆盖值的unspent列表

常规事务,multisig,
segwit或您以前从未使用过的硬币,请先在testnet中试用,或者在mainnet上少量试用。最初的pybitcointools在github中出现了一些问题,人们要么因为不理解自己在做什么,要么因为bug而损失了钱。

这里有一些到testnet的链接水龙头:

https://test net.manu.backend.hamburg/水龙头


http://test.faucet.masternode.io/


https://faucet.thonguyen.net/ltc

http://testnet.litecointools.com/

测试网水龙头,或者愿意发送测试网硬币到地址
nmfnmvsjfyfiv37htbphrblgmpuhqdp以便我可以测试?(测试DogeCoin主网)。

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

推荐PyPI第三方库


热门话题
java MongoOperations Upert/FindModify删除mongo中的所有字段   java括号中的二叉树,而!=空值无效   java com.*.*.**。安全CustomUserDetail无法强制转换为com。***。安全CustomUserDetail   java如何编写多线程算法来发现可用socket   java Spring Boot Solr:子文档的索引列表   java如何向maven shade插件添加外部jar文件   java zebra条形码扫描仪Android studio集成   java为什么一个地方的原始类型会导致其他地方的通用调用站点被视为原始类型?   java将swing控件拆分为相等的部分   java如何在jshell中为spring项目设置类路径   java关于如何从API级别19的时间选择器中删除此白边的提示?   存储二进制字符串所有可能序列的算法,Java   测试JUnitJava。lang.NullPointerException   java Google AppEngine数据库   JavaSpring如何向数据对象注入@Value?   在eclipse java项目中包含mavenant构建库   带有JSP/EL的java省略号(缩写文本)