Testing Bitcoin Core 22.0 Release Candidates (tests)

Host: josibake

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 has a tutorial for testing the release candidate.

    • Please note: for this release we will be testing new External Signer features, which will require you to either a) have a hardware wallet or b) setup a hardware wallet emulator.
    • If you plan to use an emulator, it is recommended you set it up before the meeting. You can follow the instructions for setting up the Trezor emulator or the Coldcard emulator.
  • 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

  117:00 <josibake> #startmeeting
  217:00 <emzy> Hi
  317:00 <josibake> hello everyone! welcome to another special edition of the bitcoin pr review club
  417:00 <larryruane> hi!
  517:00 <raj> hello
  617:00 <Talkless> hi
  717:00 <hernanmarino> hi everyone !
  817:00 <janb> hi !
  917:00 <darius27> hi!
 1017:00 <theStack> hi
 1117:00 <jnewbery> hi
 1217:00 <josibake> today we are going to be testing bitcoin's upcoming 22.0 release
 1317:01 <josibake> to help us along, we will be following this guide: https://github.com/bitcoin-core/bitcoin-devwiki/wiki/22.0-Release-Candidate-Testing-Guide
 1417:01 <michaelfolkson> hi
 1517:01 <josibake> not only is this a great way to help out bitcoin development by testing, but its also a great way to get experience compiling bitcoin on your own
 1617:02 <josibake> for starters, is this anyone's first time?
 1717:02 <schmidty> hi
 1817:02 <jarolrod> hi
 1917:02 <naiza> hi
 2017:02 <josibake> (also, give us a hi if you plan to follow along!)
 2117:02 <sriramdvt> hi
 2217:02 <raj> not first time in club, but first time in rc testing..
 2317:02 <shaman> Hello everyone !
 2417:02 <Talkless> hi
 2517:02 <josibake> raj: awesome! thanks for joining
 2617:02 <sugarjig> hi
 2717:02 <Azorcode> Hello Everyone
 2817:03 <chunkblob> hi!
 2917:03 <dulce> Hola mundo!
 3017:04 <svav> Hi
 3117:04 <josibake> for any newcomers (and just as a reminder), its encouraged to just blurt out questions! no need to ask for permission first or worry about if you're interrupting another question
 3217:04 <Talkless> raj: I beleive I've been in clube maybo once.. :/ first RC testing too
 3317:04 <josibake> Talkless: welcome!
 3417:05 <josibake> to begin, you'll need to either compile from source or get a pre-compiled binary. if you've never compiled from source before, you might want to go with the pre-compiled binary
 3517:05 <josibake> setting up dependencies and compiling can take a long time when it's the first time
 3617:07 <josibake> we'll give a few minutes for people to get their release candidate, but no need to wait on everyone else if you'd like to start working through the sections or have questions
 3717:09 <janb> are we testing on signet or also on mainnet ?
 3817:10 <raj> josibake, I was wondering, does such testing guides for RCs are produced for each release? or only this one for the review club?
 3917:10 <babasancheti> will there be a jitsi meet or just IRC?
 4017:11 <michaelfolkson> I never set up command line environment when compiling (or wipe, recreate data dir) :) Testing with no data dir definitely makes sense for some things
 4117:11 <josibake> raj: ideally, we would have a guide for every major release! the guides are produced independent of the pr review club
 4217:11 <josibake> going over the guide in the club is a great way to get more people involved with testing, tho
 4317:12 <josibake> babasancheti: the pr review club is just IRC
 4417:12 <raj> Understood. Ya it is a great place to start learning a lot of non-code stuffs around core..
 4517:13 <svav> I don't run a bitcoin node at the moment, but if I did, what is the best way to test the new release without affecting your existing node?
 4617:13 <babasancheti> josibake Okay, Thanks
 4717:13 <josibake> michaelfolkson: bitcoin core will always setup a data directory, it just uses the default one if you don't specify
 4817:13 <Talkless> svav: I would suggest running virtual machine, like using VirtualBox
 4917:13 <josibake> here we are specifying to make sure we can easily clean up later and that we also don't interfere with your regular bitcoin setup
 5017:14 <sugarjig> svav You could also run the new version inside of a Docker container
 5117:14 <josibake> svav: if you setup the custom data directory, it won't interfere with your existing setup!
 5217:14 <josibake> you can also do a VM, as others are suggesting
 5317:15 <raj> I have ran basic build and tests for rc2. But would have to go through the manual testing of each sections, and thats gonna take some time. Not sure if I can complete it within a session of a review club.
 5417:15 <josibake> does everyone have their release candidate?
 5517:15 <emzy> svav: -datadir=/tmp/22-rc-test is used in the Testing-Guide
 5617:16 <josibake> raj: no worries! the goal is to get people started and help address any issues people might have while working through the guide. unlikely we will get through all of it in one hour
 5717:17 <Talkless> raj: test meaning unit test with make check, or also functional tests?
 5817:17 <janb> josibake: yes got the RC :)
 5917:17 <raj> svav, you can always run a node in regtest/signet mode in your laptop, and that wont take up much disk space. Its better to have a bitcoind in your local work machine, than try it in your dedicated full node.
 6017:17 <darius27> i have the RC too
 6117:17 <josibake> for the upcoming 22.0 release, some of the major highlights are no more Tor v2, new I2P connections, and more support for external signers! these are the main sections in the guide
 6217:17 <Talkless> yes, I am currenlty on the step with hw wallet.
 6317:18 <josibake> there is also a section at the end about the new guix build system! that has it's own guide (linked in the testing guide)
 6417:18 <raj> I need to setup an emulator, can anyone suggest which one (trezor/coldcard) is easier?
 6517:19 <josibake> raj: coldcard emulator is macOnly. i setup the trezor emulator on linux and got it working
 6617:19 <hernanmarino> raj: coldcard emulator works only on Mac, afaik
 6717:19 <Talkless> raj: just did trezor, ColdCard is for macos only?
 6817:19 <raj> josibake, Oh. I missed that..
 6917:20 <emzy> I'm doing a fresh guix build right now.
 7017:20 <josibake> for the tor and i2p sections, does anyone have ideas on other ways we could have tested this? or other features we could have tested?
 7117:22 <janb> josibake: just by selfdiscovery ?
 7217:22 <michaelfolkson> Testing I2P nodes behave the same as clearnet nodes and Tor nodes?
 7317:23 <michaelfolkson> Whether a I2P node can be a block relay node etc, whether the I2P seeds work etc
 7417:23 <josibake> janb: correct! we could have not provided any manual peers
 7517:23 <josibake> michaelfolkson: absolutely. I2P seeds is another great thing to test
 7617:24 <emzy> just for info. My I2P seed has 7 incoming I2P connections.
 7717:25 <Talkless> "IP2 seeds" ?
 7817:25 <michaelfolkson> There must be some more edge cases to test with low numbers of I2P nodes currently on the network. Though maybe DoS testing would be harsh :)
 7917:25 <josibake> emzy: awesome! if you post your address, maybe others can try to connecting to you using addnode :)
 8017:26 <emzy> that's mine: gehtac45oaghz54ypyopim64mql7oad2bqclla74l6tfeolzmodq.b32.i2p
 8117:26 <janb> emzy: mainnet or signet ?
 8217:26 <josibake> Talkless: i2p seeds, referring to the hardcoded dnsseeds servers
 8317:26 <Talkless> josibake: thanks
 8417:26 <josibake> this is so a brand new node on a network (i2p, tor, ipv4 etc) has at least one trusted peer to start with
 8517:27 <emzy> there is no dnsseed feature for i2p (only). So If you need some hardcodes i2p nodes to bootstrap.
 8617:28 <josibake> emzy: good call-out, i had thought there was (or that it was being worked on)
 8717:28 <emzy> There AFAK is no way, because there is no DNS in I2P
 8817:28 <emzy> btw. the list of hardcodes nodes is here: https://github.com/bitcoin/bitcoin/blob/fd9c22ca69d814815554bfe8acf995cc30afdc2e/contrib/seeds/nodes_main.txt
 8917:29 <janb> emzy: ty !
 9017:29 <michaelfolkson> (at the bottom of emzy's link)
 9117:29 <emzy> ipv4, ipv6 and tor nodes are every time picked new from the dnsseed nodes. I2P is manual added.
 9217:30 <josibake> emzy: i added you using addnode, you should see a connection from bucvabwhehqwt53yhsp6evdcirigjqa6xjljul6wzxors7ccjv7q.b32.i2p
 9317:30 <emzy> josibake: I do \o/
 9417:31 <emzy> in i2p 786 168130 24 52 56 54891 bucvabwhehqwt53yhsp6evdcirigjqa6xjljul6wzxors7ccjv7q.b32.i2p:0 70016/Satoshi:22.0.0/
 9517:31 <michaelfolkson> You're on your temporary release testing node though right josibake? Would be good to get some more persistent connections :)
 9617:32 <josibake> michaelfolkson: correct! just the one for this guide. i am planning to upgrade my raspi to 22.0rc2 this weekend
 9717:32 <josibake> unless someone finds a terrible bug during this review session ;)
 9817:32 <michaelfolkson> Haha. Hard to judge how reckless that is
 9917:32 <josibake> if other people want to try adding emzy or myself, you can use this command:
10017:33 <josibake> bitcoin-cli -datadir=<datadir> addnode bucvabwhehqwt53yhsp6evdcirigjqa6xjljul6wzxors7ccjv7q.b32.i2p add
10117:33 <michaelfolkson> Splitting between persistent full node for testing and persistent full node for verifying real money transactions is a good idea I think. You'd be more conservative with your node verifying real money transactions
10217:33 <josibake> did anyone have any questions/issues with the Tor section?
10317:34 <josibake> michaelfolkson: agreed! having a machine dedicated to running new releases is another great way people can help out with reporting bugs, etc
10417:35 <josibake> emzy: invisible internet pals!
10517:35 <emzy> :)
10617:36 <michaelfolkson> Is it impossible to maintain a connection to a Tor v2 node now?
10717:36 <michaelfolkson> This release ignores them
10817:36 <Talkless> my local: c44qol5cgfost64wch7q5dxsj3sf3urk6qi3mrhvbm6jqzbinlaq.b32.i2p
10917:37 <michaelfolkson> "but we are still able to connect to them for IBD" ah interesting
11017:37 <josibake> michaelfolkson: that's a good question :) any ideas on how we could test that?
11117:37 <michaelfolkson> Try to make a connection to a Tor v2 address :)
11217:37 <Talkless> michaelfolkson: yeah I've thought there was a bug in "-netinfo", got headers but "zero" connections :) . Theyr'e not displayed in -netinfo
11317:39 <josibake> afaik, even using addnode will still ignore a tor v2 (i think i tested this awhile back)
11417:39 <josibake> the problem with testing this is a lot of tor v2 peers are starting to go offlline
11517:40 <michaelfolkson> Obviously if you are running an older version of Core you are still connected to Tor v2 nodes (unless they go offline)
11617:40 <michaelfolkson> But I think Tor is trying to get everyone to upgrade to v3 so yeah makes sense there are fewer and fewer
11717:41 <michaelfolkson> Network partition between Tor v2 nodes and Tor v3 nodes :)
11817:42 <raj> If you can't find a tor peer, you can try connecting to your existing full node's tor address. It could be a v2.
11917:43 <michaelfolkson> raj: Yeah setting up your own node for testing that is always an option
12017:43 <emzy> if you need tor v2 nodes. For now there are these: https://github.com/bisq-network/bisq/blob/04294a4691f437778b472e340301ab8a0813b8f4/core/src/main/java/bisq/core/btc/nodes/BtcNodes.java#L51
12117:43 <emzy> Bisq still needs them. So they will be up.
12217:44 <michaelfolkson> Why does Bisq still need them?
12317:44 <Talkless> I wonder why there's no "i2p" column in "-netinfo" ? It displays i2p local address, ipv4/6/onion/total.
12417:44 <emzy> in short bitcoinj
12517:44 <josibake> emzy: thanks for the list! if someone is able to test manually connecting to a tor v2 node, give a shout in the chat
12617:44 <janb> josibake: is there an IRC channel for bitcoin testing questions (or to find some ppl the coordinate some testing) ?
12717:45 <michaelfolkson> emzy: Impossible to get a merge into bitcoinj?
12817:45 <emzy> Talkless: I think the column is only visable if there is more then 0.
12917:45 <janb> Talkless: there is an I2p colomn
13017:45 <michaelfolkson> I think it is strongly recommended not to use Tor v2 now
13117:46 <michaelfolkson> janb: This IRC channel works for PR review or testing questions
13217:46 <emzy> michaelfolkson: no. Next version will have v3 onions. Already all in bitcoinj. But dev. on bisq is slow.
13317:46 <josibake> janb: not a dedicated irc channel for testing, no
13417:46 <michaelfolkson> emzy: Fair enough
13517:46 <janb> tnx michaelfolkson
13617:46 <janb> josibake: tnx
13717:47 <michaelfolkson> I think at least a couple of the Lightning implementations have upgraded to Tor v3
13817:47 <josibake> Talkless: you can also use -netinfo 4
13917:47 <josibake> you should see i2p listed as one of the "net" options
14017:47 <janb> I2P does some discovery once connected to some I2P nodes :)
14117:49 <josibake> has anyone been able to get to the hardware wallet section?
14217:49 <janb> josibake: no sorry
14317:49 <josibake> even if you haven't been able to the tests yourself, any ideas on other things we could test?
14417:49 <josibake> janb: no worries! the setup is a bit involved :)
14517:50 <michaelfolkson> Talkless: netinfo guidance was added here https://github.com/bitcoin/bitcoin/pull/20829
14617:51 <michaelfolkson> I couldn't decide between using the emulator or using an actual HW wallet and ended up doing neither
14717:51 <michaelfolkson> Decision paralysis
14817:51 <Talkless> michaelfolkson: happens
14917:51 <josibake> michaelfolkson: you still have 9 minutes to decide :)
15017:51 <michaelfolkson> Wladimir said don't use production HW wallet
15117:52 <Talkless> wait, these i2p addresses, these are for signet or..?
15217:52 <Talkless> pasted here
15317:52 <Talkless> previously
15417:53 <emzy> michaelfolkson: what about using a different new passphrase on the production HW wallet?
15517:53 <josibake> Talkless: mainnet , if you were following the guide. the only section of the guide on signet is the HW section
15617:53 <emzy> Talkless: mainnet.
15717:53 <emzy> this is my signet one: xdsvygoyhjnepvryvriukmcsljdin6j4lfuxu4vgk6a2gqtwzzsq.b32.i2p
15817:53 <josibake> emzy: thats possible, but in general if you have any real funds on a hw, its best to keep it as far away from a computer as possible
15917:54 <emzy> yes, best to use a test HW wallet.
16017:54 <josibake> fwiw, i did use an empty coldcard when i was testing and used it on testnet. i think trezor and coldcard both support being used on testnet
16117:55 <Talkless> emzy: thanks, connected!
16217:55 <emzy> Talkless: yes there is a new incoming connetion.
16317:55 <michaelfolkson> I just think keep anything to do with real funds on separate machine/HW wallet to dev/testing. Don't want to do any dumb stuff (or forget whether you are in mainnet VM or testnet/signet VM etc)
16417:56 <hernanmarino> josiblake: i tested with an actual trezor on signet. Had some difficulties when i had to provide a passphrase
16517:57 <hernanmarino> but not a bug, just my ignorance on how to provide a passphrase using hwi
16617:57 <josibake> hernanmarino: gotcha, when i used the emulator i didn't set it up with a passphrase.
16717:58 <Talkless> if were'e speaking about wallet emulators, I get this in bitcoin-qt after clicking "Create a new wallet" while emulator and bridge are running:
16817:58 <Talkless> "'/home/vincas/code/bitcoin/HWI.git/hwi.py' error: Could not open client or get fingerprint information: Unsupported device"
16917:58 <emzy> I think Trezor one is the only HW wallet that get the passphrase from the host.
17017:58 <emzy> Oh maybe also Ledger
17117:58 <Talkless> no, sorry, bridge not running...
17217:59 <josibake> Talkless: did you install the correct udev?
17317:59 <michaelfolkson> Ledger doesn't support testnet/signet right?
17417:59 <Talkless> emzy: Ledger has second pin for passthraze, idk if there's mode to enter passphraze every time after tunring on
17518:00 <josibake> lastly, any thoughts or questions on GUIX builds? (no worries if you didnt get that far)
17618:00 <Talkless> josibake: Trezor desktop app worked without udev, and sudo ./hwi.py.. failed due to missing imports
17718:00 <Talkless> (because .hwi installed in local user while sudo runs as root..?)
17818:00 <emzy> josibake: GUIX build is still runing. And looks good on Debian 11.
17918:01 <Talkless> "sudo ./hwi.py installudevrules" works now :|
18018:01 <josibake> emzy: nice! thanks for running it
18118:01 <Talkless> idk what was wrong
18218:01 <josibake> also, we are at time!
18318:01 <josibake> #stopmeeting
18418:01 <hernanmarino> Also, i couldn't find a way to provide my passphrase through bitcoin core. But I think that situation is expected in the current release, and we must interact through hwi before using core, right ??
18518:01 <janb> josibake: thanks for hosting
18618:01 <josibake> big thanks to everyone for joining and taking time to help test bitcoin core!
18718:01 <jnewbery> thanks josibake!
18818:01 <schmidty> thanks josibake!
18918:01 <emzy> btw. For GUIX builds there is an IRC channel: #bitcoin-core-builds
19018:01 <Talkless> thans josibake :)
19118:02 <Talkless> thanks
19218:02 <josibake> don't forget to update the testing ticket! especially if you found something interesting
19318:02 <theStack> thanks josibake
19418:02 <hernanmarino> thanks josiebake
19518:02 <emzy> thanks josibake!
19618:02 <darius27> thanks for hosting josibake! and the testing guide is great
19718:02 <michaelfolkson> Thanks josibake, awesome release testing notes too. Made me think about what I should be doing in PR testing generally :)
19818:02 <josibake> hernanmarino: this is a pretty new feature, so afaik, hwi is the only hardware wallet interface that exists right now. in theory, anyone can write one tho
19918:03 <hernanmarino> josibake: thanks
20018:03 <josibake> michaelfolkson: thanks! gotta give credit to jarolrod, tho. i mostly copied his 0.21 testing guide