mirror of
https://github.com/btcsuite/btcd.git
synced 2024-11-19 09:50:08 +01:00
c9ee3d9c5e
SFNodeBloom is a new service flag that a node is required to use to indicate that it supports bloom filtering. This includes a protocol version bump to 70011 and a wire version bump to 0.3.0. btcd: The SFNodeBloom flag is set by default. A new configuration option --nopeerbloomfilters has been added to to disable bloom filtering. Any node advertising a version greater than or equal to 70011 that attempts to use bloom filtering will be disconnected if bloom filtering is disabled. This mimics Bitcoin Core commit afb0ccaf9c9e4e8fac7db3564c4e19c9218c6b03
60 lines
1.4 KiB
Go
60 lines
1.4 KiB
Go
// Copyright (c) 2013-2015 The btcsuite developers
|
|
// Use of this source code is governed by an ISC
|
|
// license that can be found in the LICENSE file.
|
|
|
|
package wire_test
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/btcsuite/btcd/wire"
|
|
)
|
|
|
|
// TestServiceFlagStringer tests the stringized output for service flag types.
|
|
func TestServiceFlagStringer(t *testing.T) {
|
|
tests := []struct {
|
|
in wire.ServiceFlag
|
|
want string
|
|
}{
|
|
{0, "0x0"},
|
|
{wire.SFNodeNetwork, "SFNodeNetwork"},
|
|
{wire.SFNodeGetUTXO, "SFNodeGetUTXO"},
|
|
{wire.SFNodeBloom, "SFNodeBloom"},
|
|
{0xffffffff, "SFNodeNetwork|SFNodeGetUTXO|SFNodeBloom|0xfffffff8"},
|
|
}
|
|
|
|
t.Logf("Running %d tests", len(tests))
|
|
for i, test := range tests {
|
|
result := test.in.String()
|
|
if result != test.want {
|
|
t.Errorf("String #%d\n got: %s want: %s", i, result,
|
|
test.want)
|
|
continue
|
|
}
|
|
}
|
|
}
|
|
|
|
// TestBitcoinNetStringer tests the stringized output for bitcoin net types.
|
|
func TestBitcoinNetStringer(t *testing.T) {
|
|
tests := []struct {
|
|
in wire.BitcoinNet
|
|
want string
|
|
}{
|
|
{wire.MainNet, "MainNet"},
|
|
{wire.TestNet, "TestNet"},
|
|
{wire.TestNet3, "TestNet3"},
|
|
{wire.SimNet, "SimNet"},
|
|
{0xffffffff, "Unknown BitcoinNet (4294967295)"},
|
|
}
|
|
|
|
t.Logf("Running %d tests", len(tests))
|
|
for i, test := range tests {
|
|
result := test.in.String()
|
|
if result != test.want {
|
|
t.Errorf("String #%d\n got: %s want: %s", i, result,
|
|
test.want)
|
|
continue
|
|
}
|
|
}
|
|
}
|