Testing Bitcoin Core 26.0 Release Candidates (tests)
Host: m3dwards
Notes
- Major versions of Bitcoin Core are released every 6-8 months. See the Life Cycle documentation for full details.
- When all of the PRs for a release have been merged, Release Candidate 1 (rc1) is tagged. The rc is then tested. If any issues are found, fixes are merged into the branch and a new rc is tagged. This continues until no major issues are found in an rc, and that rc is then considered to be the final release version.
-
To ensure that users don’t experience issues with the new software, it’s essential that the rcs are thoroughly tested. This special review club meeting is for people who want to help with that vital review process.
-
This Bitcoin Core Release Candidate Testing Guide provides guidance for testing the release candidate.
-
It is recommended to go through the “Preparation” steps ahead of the meeting, especially if you want to compile from source. Verify and confirm the successful installation of v26rc2.
-
For some of the tests, you might want to have the signet chain fully synced beforehand, so that you can just copy the signet directory into
/tmp/26-rc-test/
every time you run a test in a fresh environment.
-
- The guide is just to get you started on testing, so feel free to read the Release Notes and bring ideas of other things you’d like to test!
Meeting Log
1 | 17:00 | <stickies-v> #startmeeting |
2 | 17:00 | <stickies-v> hi everyone! |
3 | 17:00 | <maxedw> hi |
4 | 17:01 | <lightlike> hi |
5 | 17:02 | <stickies-v> anyone here for the first time? even if you're just lurking, feel free to say hi! |
6 | 17:04 | <stickies-v> not a massive turn out, it seems |
7 | 17:05 | <sipa> hi, lurking |
8 | 17:05 | <d33r_gee> hello |
9 | 17:05 | <stickies-v> ah, more people, yay! |
10 | 17:06 | <stickies-v> we've got a special edition of review club planned for this week, ahead of the (hopefully soon) final release of Bitcoin Core v26 |
11 | 17:07 | <stickies-v> maxedw has prepared a fantastic guide to help test (some of) the new features of this new release: https://bitcoincore.reviews/v26-rc-testing |
12 | 17:07 | <stickies-v> the purpose of this meeting really is just to go through it together |
13 | 17:08 | <stickies-v> given that we're a bit of a smaller group, just polling if everyone's still keen to do that in this meeting, or if people would prefer to just go through it on their own pace? |
14 | 17:08 | <maxedw> thank you stickies-v |
15 | 17:08 | <maxedw> hello everyone, thanks for joining us for today's review club |
16 | 17:08 | <maxedw> we will be taking a look and a run through the Bitcoin Core 26.0 testing guide |
17 | 17:08 | <maxedw> link to the guide: https://github.com/bitcoin-core/bitcoin-devwiki/wiki/26.0-Release-Candidate-Testing-Guide |
18 | 17:09 | <maxedw> what operating systems are people running? |
19 | 17:09 | <d33r_gee> WSL Ubuntu 22.04 |
20 | 17:09 | <lightlike> I will do some testing later this week at my own pace, so I'd be just lurking. |
21 | 17:09 | <maxedw> no problem lightlike |
22 | 17:10 | <maxedw> d33r_gee: great stuff |
23 | 17:10 | <stickies-v> i'm on macos 13.4, m1 chip |
24 | 17:10 | <maxedw> great stickies-v, there is a macos only test that you will be able to help out on |
25 | 17:10 | <maxedw> today we will cover: getprioritisedtransactions rpc, mportmempool rpc, V2 Transport - BIP 324, TapMiniscript and Ancestor Aware Funding |
26 | 17:11 | <maxedw> I will leave the last test, Outbound connection management for you to do in your own time after this meeting |
27 | 17:11 | <maxedw> Did anyone manage to run through the preparation steps? No problem if not. |
28 | 17:11 | <d33r_gee> yep |
29 | 17:12 | <maxedw> fantastic, we won't need to spend much time getting prepped then |
30 | 17:13 | <stickies-v> same here! |
31 | 17:13 | <stickies-v> running compiled binaries |
32 | 17:13 | <maxedw> let's start the getprioritisedtransactions rpc test together |
33 | 17:13 | <stickies-v> well, self compiled |
34 | 17:13 | <maxedw> this should be a relatively easy test to start us off |
35 | 17:15 | <stickies-v> test works fine for me! |
36 | 17:16 | <d33r_gee> test went through no problems |
37 | 17:16 | <stickies-v> well i did find something interesting |
38 | 17:16 | <stickies-v> if i run the prioritisetransaction rpc twice on the same tx, the feerates compound |
39 | 17:17 | <stickies-v> right, okay, that is in line with the documentation of the rpc: "The fee value (in satoshis) to add (or subtract, if negative)" |
40 | 17:18 | <maxedw> great to hear, it also worked on my machine |
41 | 17:18 | <maxedw> interesting stickies-v |
42 | 17:18 | <stickies-v> https://github.com/bitcoin/bitcoin/blob/0aa014d5a34ed6b020b687ec924f8a17351f5aeb/src/rpc/mining.cpp#L455 |
43 | 17:18 | <maxedw> if everyone is ready, let's move onto the second test |
44 | 17:18 | <d33r_gee> ready |
45 | 17:19 | <maxedw> importmempool |
46 | 17:19 | <maxedw> for this test, we can do it on mainnet (preferred) or on regtest. |
47 | 17:19 | <maxedw> does anyone have a mainnet node synced that they can test this RPC with? |
48 | 17:21 | <stickies-v> yup |
49 | 17:21 | <maxedw> great |
50 | 17:22 | <d33r_gee> yup got one that was synced using an utxo snapshot |
51 | 17:22 | <maxedw> that's excellent |
52 | 17:22 | <maxedw> nice to see mainnet being used where possible |
53 | 17:22 | <maxedw> let's have a go at this one |
54 | 17:24 | <maxedw> you may need to pay attention to the environment variables $DATA_DIR to make sure you have it pointing to a bitcoind data directory that's synced |
55 | 17:25 | <d33r_gee> when I first ran importmempool got this error: |
56 | 17:25 | <d33r_gee> error code: -10 |
57 | 17:25 | <d33r_gee> error message: |
58 | 17:25 | <d33r_gee> Can only import the mempool after the block download and sync is done. |
59 | 17:25 | <d33r_gee> However waited a bit then reran and it worked |
60 | 17:27 | <maxedw> hmm, d33r_gee. I might have expected with `connect=0` it never to sync if it thought it was out of sync |
61 | 17:27 | <maxedw> but I think that's still a successful test |
62 | 17:29 | <d33r_gee> maxedw ah great I test it some more, do you think it may be because the chainstate came from a snapshot? |
63 | 17:29 | <maxedw> I'm not sure tbh |
64 | 17:29 | <maxedw> wouldn't have thought so |
65 | 17:29 | <d33r_gee> maxedw np |
66 | 17:30 | <stickies-v> d33r_gee: what do you get when you run `bcli getblockcount`? |
67 | 17:31 | <maxedw> I think I might add a check into the test to make sure we are fully synced before we stop bitcoind |
68 | 17:32 | <d33r_gee> maxedw great idea |
69 | 17:32 | <stickies-v> oh wait you're saying it worked eventually |
70 | 17:32 | <maxedw> at the moment mine says 816730 |
71 | 17:33 | <d33r_gee> stickies-v yet waiting like 2min then reran and it worke |
72 | 17:33 | <stickies-v> my importmempool is still running, seems to take quite a while for a big mempool |
73 | 17:33 | <maxedw> but mine is stuck from my previous test with connect=0 |
74 | 17:34 | <maxedw> stickies-v: for me it didn't take long |
75 | 17:34 | <maxedw> did it take a while for you d33r_gee ? |
76 | 17:35 | <d33r_gee> maxedw yep took longer than the regtest one for sure |
77 | 17:35 | <stickies-v> how big was yours maxedw? I've got ("bytes": 1716322) and I'm on a pretty old machine |
78 | 17:35 | <maxedw> "bytes": 8098791 |
79 | 17:37 | <stickies-v> interesting, looks like it's not really working for me then |
80 | 17:39 | <maxedw> let's pick this up after the call stickies-v |
81 | 17:39 | <maxedw> I just ran mine again and it completed in about 10 seconds |
82 | 17:40 | <stickies-v> according to `top` it seems to be doing something, running with -debug=rpc and -debug=mempool but it doesn't really give me much, there's no intermediate logging |
83 | 17:40 | <stickies-v> i'll just let it run and see what happens |
84 | 17:40 | <maxedw> great idea |
85 | 17:40 | <maxedw> this is exactly why we run these tests! |
86 | 17:41 | <maxedw> let's move on to the next test |
87 | 17:41 | <stickies-v> oh wait |
88 | 17:41 | <stickies-v> i have an interesting idea to test |
89 | 17:41 | <stickies-v> on mainnet |
90 | 17:41 | <maxedw> go ahead stickies-v |
91 | 17:42 | <stickies-v> what happens when you run importmempool, abort, run again, in very short sequence? |
92 | 17:42 | <maxedw> fyi, after my node synced my mempool size was similar to yours |
93 | 17:42 | <stickies-v> (abort the cli request w ctr+c, not kill the daemon) |
94 | 17:42 | <maxedw> great question |
95 | 17:43 | <maxedw> I can give it a go. d33r_gee are you still in a position to try? |
96 | 17:43 | <d33r_gee> maxedw yep |
97 | 17:43 | <stickies-v> my import finally succeeded: "Imported mempool transactions from disk: 40705 succeeded, 0 failed, 0 expired, 0 already there, 0 waiting for initial broadcast" |
98 | 17:46 | <d33r_gee> running importmempool right now |
99 | 17:46 | <maxedw> I reran the test with ctrl+c and then imported again and it worked for me |
100 | 17:46 | <maxedw> appears to anyway |
101 | 17:46 | <d33r_gee> it worked |
102 | 17:46 | <d33r_gee> "size": 48876 |
103 | 17:47 | <maxedw> Imported mempool transactions from disk: 0 succeeded, 0 failed, 0 expired, 2959 already there, 0 waiting for initial broadcast |
104 | 17:47 | <maxedw> that is my second log message |
105 | 17:47 | <maxedw> so ctrl+c didn't appear to stop the import for me |
106 | 17:47 | <maxedw> I was quite quick at hitting it but maybe still too slow |
107 | 17:47 | <maxedw> or perhaps the command is running in another thread that doesn't exit |
108 | 17:48 | <stickies-v> no ctrl+c on the cli doesn't affect the daemon, and we don't recognize remote client disconnects |
109 | 17:48 | <stickies-v> so bitcoind keeps processing all requests even if the client's no longer listening |
110 | 17:48 | <stickies-v> but i was wondering if running simultaneous importmempool tasks would cause issues |
111 | 17:48 | <stickies-v> great, looks like it doesn't |
112 | 17:49 | <maxedw> I was perhaps not quick enough for it to be simultaneous |
113 | 17:49 | <maxedw> I will have another go after this meeting |
114 | 17:49 | <maxedw> shall we move onto the next test? |
115 | 17:49 | <maxedw> V2 transport |
116 | 17:50 | <d33r_gee> sounds good |
117 | 17:50 | <maxedw> which again could be done on different networks but for this guide we are using signet |
118 | 17:51 | <maxedw> I believe bitcoin.achow101.com should support v2 protocol on both signet and mainnet so please feel free to use whichever network you prefer |
119 | 17:52 | <maxedw> I just tried bitcoin.achow101.com on mainnet and got: Error: v2transport requested but not enabled (see -v2transport) |
120 | 17:53 | <maxedw> so I think if you plan to use that node, it's signet only at the moment |
121 | 17:53 | <stickies-v> mmm i think that's an error on your side maxedw |
122 | 17:53 | <maxedw> you are right |
123 | 17:54 | <maxedw> I skipped a step |
124 | 17:54 | <maxedw> (didn't enable it for myself) |
125 | 17:58 | <maxedw> I now have: New manual v2 peer connected: version: 70016, blocks=816906, peer=18 |
126 | 17:59 | <stickies-v> hmmm i wasn't able to connect to achow but i think he just wasn't accepting new inbounds |
127 | 17:59 | <stickies-v> will investigate more |
128 | 17:59 | <maxedw> the peer isn't listed in my peerinfo either |
129 | 17:59 | <maxedw> but I had that message in the logs |
130 | 17:59 | <maxedw> looks like we are out of time to run through the last couple of tests |
131 | 18:00 | <maxedw> #endmeeting |