Changeset View
Changeset View
Standalone View
Standalone View
doc/release-notes/release-notes-0.10.0.md
Show First 20 Lines • Show All 73 Lines • ▼ Show 20 Lines | |||||
Transaction fee changes | Transaction fee changes | ||||
----------------------- | ----------------------- | ||||
This release automatically estimates how high a transaction fee (or how | This release automatically estimates how high a transaction fee (or how | ||||
high a priority) transactions require to be confirmed quickly. The default | high a priority) transactions require to be confirmed quickly. The default | ||||
settings will create transactions that confirm quickly; see the new | settings will create transactions that confirm quickly; see the new | ||||
'txconfirmtarget' setting to control the tradeoff between fees and | 'txconfirmtarget' setting to control the tradeoff between fees and | ||||
confirmation times. Fees are added by default unless the 'sendfreetransactions' | confirmation times. Fees are added by default unless the 'sendfreetransactions' | ||||
setting is enabled. | setting is enabled. | ||||
Prior releases used hard-coded fees (and priorities), and would | Prior releases used hard-coded fees (and priorities), and would | ||||
sometimes create transactions that took a very long time to confirm. | sometimes create transactions that took a very long time to confirm. | ||||
Statistics used to estimate fees and priorities are saved in the | Statistics used to estimate fees and priorities are saved in the | ||||
data directory in the `fee_estimates.dat` file just before | data directory in the `fee_estimates.dat` file just before | ||||
program shutdown, and are read in at startup. | program shutdown, and are read in at startup. | ||||
New command line options for transaction fee changes: | New command line options for transaction fee changes: | ||||
- `-txconfirmtarget=n` : create transactions that have enough fees (or priority) | - `-txconfirmtarget=n` : create transactions that have enough fees (or priority) | ||||
so they are likely to begin confirmation within n blocks (default: 1). This setting | so they are likely to begin confirmation within n blocks (default: 1). This setting | ||||
is over-ridden by the -paytxfee option. | is over-ridden by the -paytxfee option. | ||||
- `-sendfreetransactions` : Send transactions as zero-fee transactions if possible | - `-sendfreetransactions` : Send transactions as zero-fee transactions if possible | ||||
(default: 0) | (default: 0) | ||||
New RPC commands for fee estimation: | New RPC commands for fee estimation: | ||||
- `estimatefee nblocks` : Returns approximate fee-per-1,000-bytes needed for | - `estimatefee nblocks` : Returns approximate fee-per-1,000-bytes needed for | ||||
a transaction to begin confirmation within nblocks. Returns -1 if not enough | a transaction to begin confirmation within nblocks. Returns -1 if not enough | ||||
transactions have been observed to compute a good estimate. | transactions have been observed to compute a good estimate. | ||||
- `estimatepriority nblocks` : Returns approximate priority needed for | - `estimatepriority nblocks` : Returns approximate priority needed for | ||||
a zero-fee transaction to begin confirmation within nblocks. Returns -1 if not | a zero-fee transaction to begin confirmation within nblocks. Returns -1 if not | ||||
▲ Show 20 Lines • Show All 124 Lines • ▼ Show 20 Lines | |||||
bindings such as [python-bitcoinlib](https://pypi.python.org/pypi/python-bitcoinlib) or | bindings such as [python-bitcoinlib](https://pypi.python.org/pypi/python-bitcoinlib) or | ||||
alternative node implementations. | alternative node implementations. | ||||
This library is called `libbitcoinconsensus.so` (or, `.dll` for Windows). | This library is called `libbitcoinconsensus.so` (or, `.dll` for Windows). | ||||
Its interface is defined in the C header [bitcoinconsensus.h](https://github.com/bitcoin/bitcoin/blob/0.10/src/script/bitcoinconsensus.h). | Its interface is defined in the C header [bitcoinconsensus.h](https://github.com/bitcoin/bitcoin/blob/0.10/src/script/bitcoinconsensus.h). | ||||
In its initial version the API includes two functions: | In its initial version the API includes two functions: | ||||
- `bitcoinconsensus_verify_script` verifies a script. It returns whether the indicated input of the provided serialized transaction | - `bitcoinconsensus_verify_script` verifies a script. It returns whether the indicated input of the provided serialized transaction | ||||
correctly spends the passed scriptPubKey under additional constraints indicated by flags | correctly spends the passed scriptPubKey under additional constraints indicated by flags | ||||
- `bitcoinconsensus_version` returns the API version, currently at an experimental `0` | - `bitcoinconsensus_version` returns the API version, currently at an experimental `0` | ||||
The functionality is planned to be extended to e.g. UTXO management in upcoming releases, but the interface | The functionality is planned to be extended to e.g. UTXO management in upcoming releases, but the interface | ||||
for existing methods should remain stable. | for existing methods should remain stable. | ||||
Standard script rules relaxed for P2SH addresses | Standard script rules relaxed for P2SH addresses | ||||
------------------------------------------------ | ------------------------------------------------ | ||||
▲ Show 20 Lines • Show All 55 Lines • ▼ Show 20 Lines | |||||
hardforks or mining invalid blocks. | hardforks or mining invalid blocks. | ||||
Two new options to control mining policy: | Two new options to control mining policy: | ||||
- `-datacarrier=0/1` : Relay and mine "data carrier" (OP_RETURN) transactions | - `-datacarrier=0/1` : Relay and mine "data carrier" (OP_RETURN) transactions | ||||
if this is 1. | if this is 1. | ||||
- `-datacarriersize=n` : Maximum size, in bytes, we consider acceptable for | - `-datacarriersize=n` : Maximum size, in bytes, we consider acceptable for | ||||
"data carrier" outputs. | "data carrier" outputs. | ||||
The relay policy has changed to more properly implement the desired behavior of not | The relay policy has changed to more properly implement the desired behavior of not | ||||
relaying free (or very low fee) transactions unless they have a priority above the | relaying free (or very low fee) transactions unless they have a priority above the | ||||
AllowFreeThreshold(), in which case they are relayed subject to the rate limiter. | AllowFreeThreshold(), in which case they are relayed subject to the rate limiter. | ||||
BIP 66: strict DER encoding for signatures | BIP 66: strict DER encoding for signatures | ||||
------------------------------------------ | ------------------------------------------ | ||||
Bitcoin Core 0.10 implements BIP 66, which introduces block version 3, and a new | Bitcoin Core 0.10 implements BIP 66, which introduces block version 3, and a new | ||||
consensus rule, which prohibits non-DER signatures. Such transactions have been | consensus rule, which prohibits non-DER signatures. Such transactions have been | ||||
non-standard since Bitcoin v0.8.0 (released in February 2013), but were | non-standard since Bitcoin v0.8.0 (released in February 2013), but were | ||||
▲ Show 20 Lines • Show All 175 Lines • ▼ Show 20 Lines | |||||
- `1dec09b` depends: add shared dependency builder | - `1dec09b` depends: add shared dependency builder | ||||
- `c101c76` build: Add --with-utils (bitcoin-cli and bitcoin-tx, default=yes). Help string consistency tweaks. Target sanity check fix | - `c101c76` build: Add --with-utils (bitcoin-cli and bitcoin-tx, default=yes). Help string consistency tweaks. Target sanity check fix | ||||
- `e432a5f` build: add option for reducing exports (v2) | - `e432a5f` build: add option for reducing exports (v2) | ||||
- `6134b43` Fixing condition 'sabotaging' MSVC build | - `6134b43` Fixing condition 'sabotaging' MSVC build | ||||
- `af0bd5e` osx: fix signing to make Gatekeeper happy (again) | - `af0bd5e` osx: fix signing to make Gatekeeper happy (again) | ||||
- `a7d1f03` build: fix dynamic boost check when --with-boost= is used | - `a7d1f03` build: fix dynamic boost check when --with-boost= is used | ||||
- `d5fd094` build: fix qt test build when libprotobuf is in a non-standard path | - `d5fd094` build: fix qt test build when libprotobuf is in a non-standard path | ||||
- `2cf5f16` Add libbitcoinconsensus library | - `2cf5f16` Add libbitcoinconsensus library | ||||
- `914868a` build: add a deterministic dmg signer | - `914868a` build: add a deterministic dmg signer | ||||
- `2d375fe` depends: bump openssl to 1.0.1k | - `2d375fe` depends: bump openssl to 1.0.1k | ||||
- `b7a4ecc` Build: Only check for boost when building code that requires it | - `b7a4ecc` Build: Only check for boost when building code that requires it | ||||
Wallet: | Wallet: | ||||
- `b33d1f5` Use fee/priority estimates in wallet CreateTransaction | - `b33d1f5` Use fee/priority estimates in wallet CreateTransaction | ||||
- `4b7b1bb` Sanity checks for estimates | - `4b7b1bb` Sanity checks for estimates | ||||
- `c898846` Add support for watch-only addresses | - `c898846` Add support for watch-only addresses | ||||
- `d5087d1` Use script matching rather than destination matching for watch-only | - `d5087d1` Use script matching rather than destination matching for watch-only | ||||
▲ Show 20 Lines • Show All 252 Lines • Show Last 20 Lines |