mirror of
https://github.com/bitcoin/bips.git
synced 2026-06-15 17:35:29 +00:00
Merge pull request #2197 from ajtowns/202606-434-complete
BIP-434: Add ref impl, mark complete / CI: add version check
This commit is contained in:
@@ -1436,13 +1436,13 @@ users (see also: [https://en.bitcoin.it/wiki/Economic_majority economic majority
|
||||
| Gregory Sanders
|
||||
| Informational
|
||||
| Draft
|
||||
|-
|
||||
|- style="background-color: #ffffcf"
|
||||
| [[bip-0434.md|434]]
|
||||
| Peer Services
|
||||
| Peer Feature Negotiation
|
||||
| Anthony Towns
|
||||
| Specification
|
||||
| Draft
|
||||
| Complete
|
||||
|-
|
||||
| [[bip-0440.mediawiki|440]]
|
||||
| Consensus (soft fork)
|
||||
|
||||
10
bip-0434.md
10
bip-0434.md
@@ -3,13 +3,13 @@
|
||||
Layer: Peer Services
|
||||
Title: Peer Feature Negotiation
|
||||
Authors: Anthony Towns <aj@erisian.com.au>
|
||||
Status: Draft
|
||||
Status: Complete
|
||||
Type: Specification
|
||||
Assigned: 2026-01-14
|
||||
License: BSD-2-Clause
|
||||
Discussion: 2025-12-19: https://gnusha.org/pi/bitcoindev/aUUXLgEUCgGb122o@erisian.com.au/T/#u
|
||||
2020-08-21: https://gnusha.org/pi/bitcoindev/20200821023647.7eat4goqqrtaqnna@erisian.com.au/
|
||||
Version: 0.1.0
|
||||
Version: 1.0.0
|
||||
```
|
||||
|
||||
## Abstract
|
||||
@@ -286,6 +286,11 @@ that prefer to fully validate each message received:
|
||||
* Sending unknown messages after `verack` is explicitly forbidden,
|
||||
in so far as that is possible.
|
||||
|
||||
## Reference implementation
|
||||
|
||||
This feature was implemented in Bitcoin Core [PR#35221][PR#35221],
|
||||
which may be used as a reference implementation.
|
||||
|
||||
## Backward compatibility
|
||||
|
||||
Clients specifying a version number prior to `70017` remain fully
|
||||
@@ -327,6 +332,7 @@ advertised even to peers that do not support the features in question.
|
||||
[PR#20564]: https://github.com/bitcoin/bitcoin/pull/20564
|
||||
[PR#9720]: https://github.com/bitcoin/bitcoin/pull/9720
|
||||
[PR#19723]: https://github.com/bitcoin/bitcoin/pull/19723
|
||||
[PR#35221]: https://github.com/bitcoin/bitcoin/pull/35221
|
||||
[btcd#1812]: https://github.com/btcsuite/btcd/pull/1812
|
||||
[btcd#1661]: https://github.com/btcsuite/btcd/issues/1661
|
||||
[permless-extensible]: https://github.com/bitcoin/bitcoin/pull/20564#issuecomment-738456560
|
||||
|
||||
@@ -136,7 +136,7 @@ while (++$bipnum <= $topbip) {
|
||||
}
|
||||
}
|
||||
my %found;
|
||||
my ($title, $authors, $status, $type, $layer);
|
||||
my ($title, $authors, $status, $version, $type, $layer);
|
||||
my ($field, $val, @field_order, $continuation);
|
||||
while (<$F>) {
|
||||
last if ($is_markdown && m[^```$]);
|
||||
@@ -208,6 +208,7 @@ while (++$bipnum <= $topbip) {
|
||||
$val =~ m/^(\S[^<@>]*\S) \<[^@>]*\@[\w.]+\.\w+\>$/ or die "Malformed $field line in $fn";
|
||||
} elsif (exists $VersionField{$field}) {
|
||||
$val =~ m/^(\d+\.\d+\.\d+)$/ or die "Malformed $field line in $fn";
|
||||
$version = $val;
|
||||
} elsif (not exists $MiscField{$field}) {
|
||||
die "Unknown field $field in $fn";
|
||||
}
|
||||
@@ -228,6 +229,11 @@ while (++$bipnum <= $topbip) {
|
||||
if (defined $ValidStatus{$status}) {
|
||||
print " style=\"" . $ValidStatus{$status} . "\"";
|
||||
}
|
||||
if (defined $version and $version =~ m/^0+[.]/) {
|
||||
if ($status eq "Complete" or $status eq "Deployed") {
|
||||
die "$fn marked as $status despite pre-1.0 version ($version)";
|
||||
}
|
||||
}
|
||||
print "\n";
|
||||
print "| [[${fn}|${bipnum}]]\n";
|
||||
if ($include_layer) {
|
||||
|
||||
Reference in New Issue
Block a user