Non-consensus-critical API

Chain selection

class bitcoin.MainParams[source]
BASE58_PREFIXES = {u'SECRET_KEY': 128, u'SCRIPT_ADDR': 5, u'PUBKEY_ADDR': 0}
DEFAULT_PORT = 8333
DNS_SEEDS = ((u'bitcoin.sipa.be', u'seed.bitcoin.sipa.be'), (u'bluematt.me', u'dnsseed.bluematt.me'), (u'dashjr.org', u'dnsseed.bitcoin.dashjr.org'), (u'bitcoinstats.com', u'seed.bitcoinstats.com'), (u'xf2.org', u'bitseed.xf2.org'))
MESSAGE_START = '\xf9\xbe\xb4\xd9'
RPC_PORT = 8332
class bitcoin.RegTestParams[source]
BASE58_PREFIXES = {u'SECRET_KEY': 239, u'SCRIPT_ADDR': 196, u'PUBKEY_ADDR': 111}
DEFAULT_PORT = 18444
DNS_SEEDS = ()
MESSAGE_START = '\xfa\xbf\xb5\xda'
RPC_PORT = 18332
bitcoin.SelectParams(name)[source]

Select the chain parameters to use

name is one of ‘mainnet’, ‘testnet’, or ‘regtest’

Default chain is ‘mainnet’

class bitcoin.TestNetParams[source]
BASE58_PREFIXES = {u'SECRET_KEY': 239, u'SCRIPT_ADDR': 196, u'PUBKEY_ADDR': 111}
DEFAULT_PORT = 18333
DNS_SEEDS = ((u'bitcoin.petertodd.org', u'testnet-seed.bitcoin.petertodd.org'), (u'bluematt.me', u'testnet-seed.bluematt.me'))
MESSAGE_START = '\x0b\x11\t\x07'
RPC_PORT = 18332

Base58 encoding

Base58 encoding and decoding

exception bitcoin.base58.Base58ChecksumError[source]

Raised on Base58 checksum errors

exception bitcoin.base58.Base58Error[source]
class bitcoin.base58.CBase58Data(s)[source]

Base58-encoded data

Includes a version and checksum.

classmethod from_bytes(data, nVersion)[source]

Instantiate from data and nVersion

to_bytes()[source]

Convert to bytes instance

Note that it’s the data represented that is converted; the checkum and nVersion is not included.

exception bitcoin.base58.InvalidBase58Error[source]

Raised on generic invalid base58 data, such as bad characters.

Checksum failures raise Base58ChecksumError specifically.

bitcoin.base58.decode(s)[source]

Decode a base58-encoding string, returning bytes

bitcoin.base58.encode(b)[source]

Encode bytes to a base58-encoded string

Bloom filters

Bloom filter support

class bitcoin.bloom.CBloomFilter(nElements, nFPRate, nTweak, nFlags)[source]
IsRelevantAndUpdate(tx, tx_hash)[source]
IsWithinSizeConstraints()[source]
MAX_BLOOM_FILTER_SIZE = 36000
MAX_HASH_FUNCS = 50
UPDATE_ALL = 1
UPDATE_MASK = 3
UPDATE_NONE = 0
UPDATE_P2PUBKEY_ONLY = 2
bloom_hash(nHashNum, vDataToHash)[source]
contains(elem)[source]

Test if the filter contains an element

elem may be a COutPoint or bytes

insert(elem)[source]

Insert an element in the filter.

elem may be a COutPoint or bytes

classmethod stream_deserialize(f)[source]
stream_serialize(f)[source]
bitcoin.bloom.MurmurHash3(x86_32)[source]

Used for bloom filters. See http://code.google.com/p/smhasher/source/browse/trunk/MurmurHash3.cpp

bitcoin.bloom.ROTL32(x, r)[source]

Network communication

class bitcoin.net.CAddress(protover=60002)[source]
classmethod stream_deserialize(f, without_time=False)[source]
stream_serialize(f, without_time=False)[source]
class bitcoin.net.CAlert[source]
classmethod stream_deserialize(f)[source]
stream_serialize(f)[source]
class bitcoin.net.CBlockLocator(protover=60002)[source]
classmethod stream_deserialize(f)[source]
stream_serialize(f)[source]
class bitcoin.net.CInv[source]
classmethod stream_deserialize(f)[source]
stream_serialize(f)[source]
typemap = {0: u'Error', 1: u'TX', 2: u'Block', 3: u'FilteredBlock'}
class bitcoin.net.CUnsignedAlert[source]
classmethod stream_deserialize(f)[source]
stream_serialize(f)[source]

Network messages

members:
undoc-members:

Bitcoin Core RPC interface

Bitcoin Core RPC support

members:
undoc-members:

Wallet-related code

Wallet-related functionality

Includes things like representing addresses and converting them to/from scriptPubKeys; currently there is no actual wallet support implemented.

members:
undoc-members: