Which BIPs are supported by bitcoinj
Introduction
Bitcoin improvement proposals are the communities way of standardising new extensions and protocols that build on top of Bitcoin. Bitcoinj either implements or provides API’s to help you implement many of these standards; below you can see which BIP’s are supported:
Number | Name | Relevant API |
---|---|---|
BIP 11 | m-of-n multisig transactions | ScriptBuilder |
BIP 14 | Protocol version and user agent | PeerGroup.setUserAgent() |
BIP 16 | Pay to script hash (P2SH) | LegacyAddress |
BIP 21 | Bitcoin URI scheme | BitcoinURI |
BIP 31 | Ping/pong messages | Peer.ping() |
BIP 32 | HD wallets | DeterministicKeyChain |
BIP 35 | mempool message | used automatically |
BIP 37 | Bloom filtering | PeerFilterProvider (used automatically) |
BIP 39 | Mnemonic codes for representing private keys | MnemonicCode |
BIPs 70, 71, 72 | Payment protocol | PaymentSession |
BIP 38 | Encrypted private key serialization | BIP38PrivateKey |
BIP 111 | NODE_BLOOM service bit | VersionMessage.NODE_BLOOM |
BIP 130 | sendheaders message | SendHeadersMessage |
BIP 133 | feefilter message | FeeFilterMessage |
BIP 141 | Segregated Witness (Consensus layer) | TransactionWitness, Transaction |
BIP 143 | Transaction Signature Verification for Version 0 Witness Program | Transaction.hashForWitnessSignature() |
BIP 144 | Segregated Witness (Peer Services) | Peer |
BIP 155 | addrv2 message | AddressV2Message |
BIP 159 | NODE_NETWORK_LIMITED service bit | VersionMessage.NODE_NETWORK_LIMITED |
BIP 173 | Base32 address format for native v0-16 witness outputs | Bech32, SegwitAddress |
BIP 350 | Bech32m format for v1+ witness addresses | Bech32, SegwitAddress |
RFC 6979 | Deterministic usage of ECDSA | ECKey |