1
0
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:
Jon Atack
2026-06-11 07:11:18 -07:00
committed by GitHub
3 changed files with 17 additions and 5 deletions

View File

@@ -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)

View File

@@ -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

View File

@@ -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) {