python-bitcoinlib icon indicating copy to clipboard operation
python-bitcoinlib copied to clipboard

Python3 library providing an easy interface to the Bitcoin data structures and protocol.

Results 53 python-bitcoinlib issues
Sort by recently updated
recently updated
newest added

Bitcoin Core v0.17.0 introduced R-value grinding to ensure that all DER signatures are 71 bytes. In involves looping through nonce values till you produce a smaller sig and deterministically stopping...

Currently, RPC Tests are commented out because bitcoind must be running to test them. I am thinking this should change to check if bitcoind is running. I am unsure of...

I hope the benefits for possibly security-critical library are obvious.

Bitcoin core is now using libsecp256k1 for consensus-critical ECC operations. Therefore it makes sense to convert python-bitcoinlib to using the FFI interface to it: https://github.com/ludbb/secp256k1-py

Hi, I noticed earlier today that the method `getinfo()` doesn't seem to work in the `rpc` module: https://github.com/petertodd/python-bitcoinlib/blob/b5540e8a8a138f2a4872c34ce4223b8f4e6856d9/bitcoin/rpc.py#L513 Should `call('getinfo')` be replaced by `call('getblockchaininfo')`? (https://bitcoincore.org/en/doc/0.20.0/rpc/blockchain/getblockchaininfo/)

I noticed that `OP_TRUE` and `OP_FALSE` aren't in `OPCODES_BY_NAME`. I am not sure if this is intentional. If it is intentional, then a comment should be added; and if it...

Doe to some strange reason the release 0.10.2 does not include segwit_address which was merged before the release and is present in the master branch. So, there is no release...

in `CTransaction.stream_deserialize()`, if it detects that witness is signalled, it just tries to deserialize the witness and does not check if it is null. Core has a check in this...

https://github.com/opentimestamps/opentimestamps-client/issues/108

For example the transaction 858eb08ea0e24b052a5945270475af4e49f5b7158d9d5b6218bff53d1d9d53e9 ``` from bitcoin.core import * from bitcoin.core.script import * raw_txid = '010000000190664219e4eedfc97020d7a7bacddaaf5abbe20e3f0a5e77e9ae85bcdf6a0fd0910000006f0047304402207bf94f0f703364bbc008fe814061a36f421a59153b49131b828e583802cb13670220301095b2cb26623840455155e97ed1831d05a50798128a21ae83e38e8bcd90680125512102494948b6192ca3615e443c10ec058497c2b6785c9c960940de15583930ad97c751aeffffffff01900e4d000000000017a914497d58d263bd82b460bdc9b8c69ca6e25acc99938700000000' ctx = CTransaction().deserialize(bytes.fromhex(raw_txid)) publickey = '512102494948b6192ca3615e443c10ec058497c2b6785c9c960940de15583930ad97c751ae' value = int(0.051*COIN) cs = CScript(bytes.fromhex(publickey)) sighash...