mirror of
https://github.com/dashpay/dash.git
synced 2024-12-25 12:02:48 +01:00
0a27a2af73
10b7a6d532148f880568c529e61a6d7edc7c91a9 refactor: make txmempool interface use GenTxid (Pieter Wuille) 5c124e17407a5b5824fec062b73a03a1030fa28c refactor: make FindTxForGetData use GenTxid (Pieter Wuille) a2bfac893549e2d62708d8cda7071b4fe9750a2d refactor: use GenTxid in tx request functions (Pieter Wuille) e65d115b725640eefb3bfa09786447816f7ca9cc test: request parents of orphan from wtxid relay peer (Anthony Towns) 900d7f6c075fd78e63503f31d267dbc16b3983d9 p2p: enable fetching of orphans from wtxid peers (Pieter Wuille) 9efd86a908cf09d9ddbadd3195f202635117d505 refactor: add GenTxid (=txid or wtxid) type and use it for tx request logic (Pieter Wuille) d362f19355b36531a4a82094e0259f7f3db500a7 doc: list support for BIP 339 in doc/bips.md (Pieter Wuille) Pull request description: This is based on https://github.com/bitcoin/bitcoin/pull/18044#discussion_r450687076. A new type `GenTxid` is added to protocol.h, which represents a tagged txid-or-wtxid. The tx request logic is updated to use these instead of uint256s, permitting per-announcement distinguishing of txid/wtxid (instead of assuming that everything we want to request from a wtxid peer is wtx). Then the restriction of orphan-parent requesting to non-wtxid peers is lifted. Also document BIP339 in doc/bips.md. ACKs for top commit: jnewbery: Code review ACK 10b7a6d532148f880568c529e61a6d7edc7c91a9 jonatack: ACK 10b7a6d532148f880568c529e61a6d7edc7c91a9 ajtowns: ACK 10b7a6d532148f880568c529e61a6d7edc7c91a9 -- code review. Using gtxid to replace the is_txid_or_wtxid flag for the mempool functions is nice. naumenkogs: utACK 10b7a6d Tree-SHA512: d518d13ffd71f8d2b3c175dc905362a7259689e6022a97a0b4f14f1f9fdd87475cf5af70cb12338d1e5d31b52c12e4faaea436114056a2ae9669cb506240758b
10 KiB
10 KiB
BIPs that are implemented by Bitcoin Core, some of them are relevant for Dash Core, some are just mentioned as a reference. Specified versions, PRs are relevant to Bitcoin's core.
BIP 9
: The changes allowing multiple soft-forks to be deployed in parallel have been implemented since v0.12.1 (PR #7575)BIP 11
: Multisig outputs are standard since v0.6.0 (PR #669).BIP 13
: The address format for P2SH addresses has been implemented since v0.6.0 (PR #669).BIP 14
: The subversion string is being used as User Agent since v0.6.0 (PR #669).BIP 16
: The pay-to-script-hash evaluation rules have been implemented since v0.6.0, and took effect on April 1st 2012 (PR #748).BIP 21
: The URI format for Bitcoin payments has been implemented since v0.6.0 (PR #176).BIP 22
: The 'getblocktemplate' (GBT) RPC protocol for mining has been implemented since v0.7.0 (PR #936).BIP 23
: Some extensions to GBT have been implemented since v0.10.0rc1, including longpolling and block proposals (PR #1816).BIP 30
: The evaluation rules to forbid creating new transactions with the same txid as previous not-fully-spent transactions were implemented since v0.6.0, and the rule took effect on March 15th 2012 (PR #915).BIP 31
: The 'pong' protocol message (and the protocol version bump to 60001) has been implemented since v0.6.1 (PR #1081).BIP 32
: Hierarchical Deterministic Wallets has been implemented since v0.13.0 (PR #8035).BIP 34
: The rule that requires blocks to contain their height (number) in the coinbase input, and the introduction of version 2 blocks has been implemented since v0.7.0. The rule took effect for version 2 blocks as of block 224413 (March 5th 2013), and version 1 blocks are no longer allowed since block 227931 (March 25th 2013) (PR #1526).BIP 35
: The 'mempool' protocol message (and the protocol version bump to 60002) has been implemented since v0.7.0 (PR #1641). As of v0.13.0, this is only available forNODE_BLOOM
(BIP 111) peers.BIP 37
: The bloom filtering for transaction relaying, partial Merkle trees for blocks, and the protocol version bump to 70001 (enabling low-bandwidth SPV clients) has been implemented since v0.8.0 (PR #1795).BIP 42
: The bug that would have caused the subsidy schedule to resume after block 13440000 was fixed in v0.9.2 (PR #3842).BIP 43
: The experimental descriptor wallets introduced in v0.21.0 by default use the Hierarchical Deterministic Wallet derivation proposed by BIP 43. (PR #16528)BIP 44
: The experimental descriptor wallets introduced in v0.21.0 by default use the Hierarchical Deterministic Wallet derivation proposed by BIP 44. (PR #16528)BIP 49
: The experimental descriptor wallets introduced in v0.21.0 by default use the Hierarchical Deterministic Wallet derivation proposed by BIP 49. (PR #16528)BIP 61
: The 'reject' protocol message (and the protocol version bump to 70002) was added in v0.9.0 (PR #3185). Starting v0.16.0, whether to send reject messages can be configured with the-enablebip61
option. Support was removed in v0.20.0 (PR #15437).BIP 65
: The CHECKLOCKTIMEVERIFY softfork was merged in v0.12.0 (PR #6351), and backported to v0.11.2 and v0.10.4. Mempool-only CLTV was added in PR #6124.BIP 66
: The strict DER rules and associated version 3 blocks have been implemented since v0.10.0 (PR #5713).BIP 68
: Sequence locks have been implemented as of v0.12.1 (PR #7184), and have been buried since v0.19.0 (PR #16060).BIP 70
71
72
: Payment Protocol support has been available in Dash Core GUI since v0.9.0 (PR #5216). Support can be optionally disabled at build time since v0.18.0 (PR 14451), and it is disabled by default at build time since v0.19.0 (PR #15584). It has been removed as of v0.20.0 (PR 17165).BIP 84
: The experimental descriptor wallets introduced in v0.21.0 by default use the Hierarchical Deterministic Wallet derivation proposed by BIP 84. (PR #16528)BIP 90
: Trigger mechanism for activation of BIPs 34, 65, and 66 has been simplified to block height checks since v0.14.0 (PR #8391).BIP 111
:NODE_BLOOM
service bit added, and enforced for all peer versions as of v0.13.0 (PR #6579 and PR #6641).BIP 112
: The CHECKSEQUENCEVERIFY opcode has been implemented since v0.12.1 (PR #7524), and has been buried since v0.19.0 (PR #16060).BIP 113
: Median time past lock-time calculations have been implemented since v0.12.1 (PR #6566) and have been activated since block 419328.BIP 125
: Opt-in full replace-by-fee signaling honoured in mempool and mining as of v0.12.0 (PR 6871).BIP 130
: direct headers announcement is negotiated with peer versions>=70012
as of v0.12.0 (PR 6494).BIP 147
: NULLDUMMY softfork as of v0.13.1 (PR 8636 and PR 8937), buried since v0.19.0 (PR #16060).BIP 152
: Compact block transfer and related optimizations are used as of v0.13.0 (PR 8068).BIP 155
: The 'addrv2' and 'sendaddrv2' messages which enable relay of Tor V3 addresses (and other networks) are supported as of v18.0 (PR 19954).
BIP 159
: TheNODE_NETWORK_LIMITED
service bit is signalled as of v0.16.0 (PR 11740), and such nodes are connected to as of v0.17.0 (PR 10387).BIP 174
: RPCs to operate on Partially Signed Bitcoin Transactions (PSBT) are present as of v18.0 (PR 13557).BIP 339
: Relay of transactions by wtxid is supported as of v0.21.0 (PR 18044).