☰
Bitcoin for Developers
Bitcoin for Developers documentation
Index
Table Of Contents
Developer Guides
Introduction
Block Chain
Block Chain Overview
Proof Of Work
Block Height And Forking
Transaction Data
Consensus Rule Changes
Detecting Forks
Transactions
P2PKH Script Validation
P2SH Scripts
Standard Transactions
Pay To Public Key Hash (P2PKH)
Pay To Script Hash (P2SH)
Multisig
Pubkey
Null Data
Non-Standard Transactions
Signature Hash Types
Locktime And Sequence Number
Transaction Fees And Change
Avoiding Key Reuse
Transaction Malleability
Contracts
Escrow And Arbitration
Micropayment Channel
CoinJoin
Wallets
Wallet Programs
Full-Service Wallets
Signing-Only Wallets
Distributing-Only Wallets
Wallet Files
Private Key Formats
Public Key Formats
Hierarchical Deterministic Key Creation
Loose-Key Wallets
Payment Processing
Pricing Orders
Requesting Payments
Plain Text
bitcoin: URI
QR Codes
Payment Protocol
Verifying Payment
Issuing Refunds
Disbursing Income (Limiting Forex Risk)
Merge Avoidance
Last In, First Out (LIFO)
First In, First Out (FIFO)
Rebilling Recurring Payments
Operating Modes
Full Node
Simplified Payment Verification (SPV)
Potential SPV Weaknesses
Bloom Filters
Application Of Bloom Filters
Future Proposals
P2P Network
Peer Discovery
Connecting To Peers
Initial Block Download
Blocks-First
Headers-First
Block Broadcasting
Orphan Blocks
Transaction Broadcasting
Memory Pool
Misbehaving Nodes
Alerts
Mining
Solo Mining
Pool Mining
Block Prototypes
getwork RPC
getblocktemplate RPC
Stratum
Reference
Introduction
Not A Specification
Block Chain
Block Headers
Block Versions
Merkle Trees
Target nBits
Serialized Blocks
Transactions
OpCodes
Address Conversion
Raw Transaction Format
TxIn: A Transaction Input (Non-Coinbase)
Outpoint: The Specific Part Of A Specific Output
TxOut: A Transaction Output
Coinbase Input: The Input Of The First Transaction In A Block
Wallets
Deterministic Wallet Formats
Type 1: Single Chain Wallets
Type 2: Hierarchical Deterministic (HD) Wallets
P2P Network
Constants And Defaults
Protocol Versions
Message Headers
Data Messages
Block
GetBlocks
GetData
GetHeaders
Headers
Inv
MemPool
MerkleBlock
CmpctBlock
SendCmpct
GetBlockTxn
BlockTxn
NotFound
Tx
Control Messages
Addr
Alert
FeeFilter
FilterAdd
FilterClear
FilterLoad
GetAddr
Ping
Pong
Reject
SendHeaders
VerAck
Version
RPC API Reference
Blockchain RPCs
getbestblockhash
getblock
getblockchaininfo
getblockcount
getblockhash
getblockheader
getblockstats
getchaintips
getchaintxstats
getdifficulty
getmempoolancestors
getmempooldescendants
getmempoolentry
getmempoolinfo
getrawmempool
gettxout
gettxoutproof
gettxoutsetinfo
preciousblock
pruneblockchain
savemempool
scantxoutset
verifychain
verifytxoutproof
Control RPCs
getmemoryinfo
getrpcinfo
help
logging
stop
uptime
Generating RPCs
generate
generatetoaddress
Mining RPCs
getblocktemplate
getmininginfo
getnetworkhashps
prioritisetransaction
submitblock
submitheader
Network RPCs
addnode
clearbanned
disconnectnode
getaddednodeinfo
getconnectioncount
getnettotals
getnetworkinfo
getnodeaddresses
getpeerinfo
listbanned
ping
setban
setnetworkactive
Rawtransactions RPCs
analyzepsbt
combinepsbt
combinerawtransaction
converttopsbt
createpsbt
createrawtransaction
decodepsbt
decoderawtransaction
decodescript
finalizepsbt
fundrawtransaction
getrawtransaction
joinpsbts
sendrawtransaction
signrawtransactionwithkey
testmempoolaccept
utxoupdatepsbt
Util RPCs
createmultisig
deriveaddresses
estimatesmartfee
getdescriptorinfo
signmessagewithprivkey
validateaddress
verifymessage
Wallet RPCs
abandontransaction
abortrescan
addmultisigaddress
backupwallet
bumpfee
createwallet
dumpprivkey
dumpwallet
encryptwallet
getaddressesbylabel
getaddressinfo
getbalance
getnewaddress
getrawchangeaddress
getreceivedbyaddress
getreceivedbylabel
gettransaction
getunconfirmedbalance
getwalletinfo
importaddress
importmulti
importprivkey
importprunedfunds
importpubkey
importwallet
keypoolrefill
listaddressgroupings
listlabels
listlockunspent
listreceivedbyaddress
listreceivedbylabel
listsinceblock
listtransactions
listunspent
listwalletdir
listwallets
loadwallet
lockunspent
removeprunedfunds
rescanblockchain
sendmany
sendtoaddress
sethdseed
setlabel
settxfee
signmessage
signrawtransactionwithwallet
unloadwallet
walletcreatefundedpsbt
walletlock
walletpassphrase
walletpassphrasechange
walletprocesspsbt
Examples
Introduction
Testing Applications
Testnet
Regtest Mode
Transactions
Transaction Tutorial
Simple Spending
Simple Raw Transaction
Complex Raw Transaction
Offline Signing
P2SH Multisig
Payment Processing
Payment Protocol
PaymentRequest & PaymentDetails
P2P Network
Creating A Bloom Filter
Evaluating A Bloom Filter
Retrieving A MerkleBlock
Parsing A MerkleBlock
Glossary
Index
Symbols
|
A
|
B
|
C
|
D
|
E
|
F
|
G
|
H
|
I
|
L
|
M
|
N
|
O
|
P
|
R
|
S
|
T
|
U
|
W
Symbols
51 percent attack
A
Address
Ancestor mining
Archival node
B
Bare multisig
Base58check
Best block chain
Best header chain
Bitcoins
Block
Block 0
Block chain
Block header
Block height
Block reward
Blocks-first sync
Bloom filter
C
Chain code
Change address
Change output
Child key
Child pays for parent
Child private key
Child public key
Coinbase
Coinbase transaction
CompactSize
Compressed public key
Confirmation score
Confirmations
Confirmed transaction
Consensus
Consensus rules
CPFP
D
Data carrier transaction
Data-pushing opcode
Denomination
Difficulty
DNS seed
Double spend
E
Escrow contract
Extended key
F
Fork
Free transaction
Full node
G
Generation transaction
Genesis block
H
Hard fork
Hardened extended key
HD protocol
HD wallet
HD wallet seed
Header
Header chain
Headers-first sync
Height
High-priority transaction
I
IBD
Initial block download
Input
Internal byte order
Inventory
L
Lightweight client
Locktime
M
Mainnet
Majority attack
MASF
Master chain code
Master private key
Maximum Block Size
Merkle block
Merkle root
Merkle tree
Message header
Miner
Miner-activated soft fork
Miners fee
Minimum relay fee
Mining
Multisig
N
nBits
Network difficulty
Network magic
nLockTime
Node
Non-data-pushing opcode
Null data transaction
O
OP_RETURN transaction
Opcode
Opt-in replace by fee
Orphan block
Outpoint
Output
P
P2PKH address
P2PKH output
P2SH address
P2SH multisig
P2SH output
Parent key
Parent private key
Parent public key
Payment protocol
Payment request
Peer
POW
Private extended key
Private key
Proof of work
Pruned node
Pubkey script
Public extended key
Public key
R
Raw transaction
RBF
Redeem script
RedeemScript
Regression test mode
Regtest
Relay fee
Replace by fee
Root seed
RPC byte order
S
Satoshis
ScriptPubKey
ScriptSig
Sequence number
Serialized block
Serialized transaction
Sighash
SIGHASH_ALL
SIGHASH_ANYONECANPAY
SIGHASH_NONE
SIGHASH_SINGLE
Signature
Signature hash
Signature script
Simplified Payment Verification
Soft fork
SPV
Stale block
Standard Transaction
Start string
T
Target
Testnet
Thin client
Token
Transaction fee
Transaction malleability
Transaction mutability
Txid
TxIn
TxOut
U
UASF
Unconfirmed transaction
User-activated soft fork
UTXO
W
Wallet
Wallet Import Format
Watch-only address
WIF