v25.0 testing #27621

issue hebasto opened this issue on May 10, 2023
  1. hebasto commented at 7:23 PM on May 10, 2023: member

    Umbrella issue for 25.0 testing. Please help testing on a wide variety of supported platforms, as well as interaction with different software.

    Let us know which version you tested on which operating system.

    If you find an issue, please search Github for known issues first and then open a new Github issue.

    This meta issue should not be used to report bugs, as a single thread makes it impossible to track more than one topic.

    See 25.0 Draft Release Notes for a list of changes, and testing reports for earlier releases (#26175, #24501, #22634), for an idea what to test.

    https://github.com/bitcoin-core/bitcoin-devwiki/wiki/25.0-Release-Candidate-Testing-Guide

  2. hebasto added this to the milestone 25.0 on May 10, 2023
  3. kroese commented at 9:18 AM on May 15, 2023: none

    I have run into an issue where I cannot verify the signatures for test releases (like v24rc3 or v25rc2). When I execute:

    gpg --verify SHA256SUMS.asc SHA256SUMS

    It returns exitcode 2, while on the final releases it works fine.

    What could be causing this behaviour? Or is it to be expected that test releases are not signed?

  4. achow101 commented at 12:35 PM on May 15, 2023: member

    What could be causing this behaviour?

    There are a few new signers this time so you're probably missing their keys.

  5. kroese commented at 3:01 PM on May 15, 2023: none

    Thanks, when updating the keys I found that keys.txt no longer exists in this repo, so I solved it by doing:

     KEY_URL=https://raw.githubusercontent.com/bitcoin-core/guix.sigs/main/builder-keys
    
     curl -sSL ${KEY_URL}/CoinForensics.gpg | gpg --import - \
     && curl -sSL ${KEY_URL}/Emzy.gpg | gpg --import - \
     && curl -sSL ${KEY_URL}/Sjors.gpg | gpg --import - \
     && curl -sSL ${KEY_URL}/TheCharlatan.gpg | gpg --import - \
     && curl -sSL ${KEY_URL}/achow101.gpg | gpg --import - \
     && curl -sSL ${KEY_URL}/benthecarman.gpg | gpg --import - \
     && curl -sSL ${KEY_URL}/cfields.gpg | gpg --import - \
     && curl -sSL ${KEY_URL}/darosior.gpg | gpg --import - \
     && curl -sSL ${KEY_URL}/dunxen.gpg | gpg --import - \
     && curl -sSL ${KEY_URL}/fanquake.gpg | gpg --import - \
     && curl -sSL ${KEY_URL}/glozow.gpg | gpg --import - \
     && curl -sSL ${KEY_URL}/guggero.gpg | gpg --import - \
     && curl -sSL ${KEY_URL}/hebasto.gpg | gpg --import - \
     && curl -sSL ${KEY_URL}/jackielove4u.gpg | gpg --import - \
     && curl -sSL ${KEY_URL}/josibake.gpg | gpg --import - \
     && curl -sSL ${KEY_URL}/laanwj.gpg | gpg --import - \
     && curl -sSL ${KEY_URL}/satsie.gpg | gpg --import - \
     && curl -sSL ${KEY_URL}/sipa.gpg | gpg --import - \
     && curl -sSL ${KEY_URL}/svanstaa.gpg | gpg --import - \
     && curl -sSL ${KEY_URL}/theStack.gpg | gpg --import - \
     && curl -sSL ${KEY_URL}/vertiond.gpg | gpg --import - \
     && curl -sSL ${KEY_URL}/willyko.gpg | gpg --import -
    

    But as soon as new signers will be added or removed in the future, the script will break again.

    So why is there not a single file that bundles all the current keys so that I dont have to download them all individually?

  6. maflcko commented at 3:05 PM on May 15, 2023: member

    So why is there not a single file that bundles all the current keys so that I dont have to download them all individually?

    No one can know all the current keys, because they can change for every release. However, it is possible to find them for a given release by looking into the folder. For example, you can look into https://github.com/bitcoin-core/guix.sigs/tree/main/25.0rc2 to find all current ones for that tag.

  7. kroese commented at 3:12 PM on May 15, 2023: none

    For a script it will be hard to parse the directory names for a Github folder reliably with only curl calls.

    It was so much easier if there was a text-file containing a list of names, so that I could just download that and loop over that line by line. In any case I made an issue in the guix.sigs repo about this, because this is a bit off-topic here. Thanks.

  8. maflcko commented at 3:16 PM on May 15, 2023: member

    Not sure what your goal is, but if you want to blindly download all keys, you can also use git to clone the whole folder https://github.com/bitcoin-core/guix.sigs/tree/main/builder-keys and then just import all files in the folder into gpg?

  9. kroese commented at 3:37 PM on May 15, 2023: none

    Yes, but I do this from a script and I wanted to avoid having to install git just to quickly verify a binary release.

  10. willcl-ark commented at 8:39 PM on May 16, 2023: member

    You could query the repo with curl?

    $ curl -s "https://api.github.com/repos/bitcoin-core/guix.sigs/contents/25.0rc2" | jq -r '.[] | select(.type=="dir") | .name'
    CoinForensics
    Emzy
    Sjors
    TheCharlatan
    achow101
    benthecarman
    cfields
    darosior
    fanquake
    glozow
    guggero
    hebasto
    jackielove4u
    josibake
    laanwj
    svanstaa
    theStack
    vertiond
    
  11. kroese commented at 8:48 PM on May 16, 2023: none

    @willcl-ark Thank you very much. I had already opened an issue ( https://github.com/bitcoin-core/guix.sigs/issues/696 ) where TheCharlatan came up with a very similar suggestion.

  12. pinheadmz commented at 7:48 PM on May 18, 2023: member

    Question about the guide @ismaelsadeeq

    https://github.com/bitcoin-core/bitcoin-devwiki/wiki/25.0-Release-Candidate-Testing-Guide#test-finalizing-a-psbt-with-inputs-spending-miniscript-compatible-p2wsh-scripts-and-test-spending-the-coin

    Is the explanation of the descriptor correct?

    it looks to me like simplified its or(tprv8Zgx, and(tprv8Zgx, and(tprv8iF7, older(10)))) which IIUC means "either the first key OR all three of the remaining conditions (the two other keys and the timelock)"

    Here is the decoded script after running through the guide:

    02b06d1fe4fb4cfd57a2b2023ab0ae4b043454875322a8870bb44b02c74715c48b OP_CHECKSIG
    OP_IFDUP OP_NOTIF
        034c91ea58dfaad58d11b867be402ef2b72ad0260e3f95640e7d94da0d3a69496c OP_CHECKSIGVERIFY
        03ba41d437924e883d0f8c4a5c764e3cca4edcd7eeaca754518088e5d3945185e5 OP_CHECKSIGVERIFY
        10 OP_CHECKSEQUENCEVERIFY
    OP_ENDIF
    
  13. pinheadmz commented at 8:06 PM on May 18, 2023: member

    Other feedback about the guide:

    • You can add -named and -minconf=100 to listunspent to find the mature coinbase coins more easily

    • If testers download a binary, it may be GUI only (e.g. macOS) which is fine but may require a few extra params for example I ran this: .../Bitcoin-Qt.app/Contents/MacOS/Bitcoin-Qt -server -regtest -printtoconsole=1

  14. ismaelsadeeq commented at 9:29 PM on May 18, 2023: member

    https://github.com/bitcoin-core/bitcoin-devwiki/wiki/25.0-Release-Candidate-Testing-Guide#test-finalizing-a-psbt-with-inputs-spending-miniscript-compatible-p2wsh-scripts-and-test-spending-the-coin

    Is the explanation of the descriptor correct?

    Sure that is the correct explanation, I got the same output from https://bitcoin.sipa.be/miniscript/ Miniscript input or_d(pk(A),and_v(v:pk(B),and_v(v:pk(C),older(10)))) Script output

    <pk(A)> OP_CHECKSIG OP_IFDUP OP_NOTIF
      <pk(B)> OP_CHECKSIGVERIFY <pk(C)> OP_CHECKSIGVERIFY 10 OP_CHECKSEQUENCEVERIFY
    OP_ENDIF
    

    I will update and simplify the explanation, thank you for pointing this out.

  15. chippsmith commented at 4:17 AM on May 23, 2023: none

    I downloaded the binaries on a System76 machine running Pop!OS 22.04 LTS. I ran all the tests in the testing guide(except the last one about verifying binaries) and got expected results. More detailed notes can be found here. https://github.com/chippsmith/bitcoinnotes/tree/main/bitcoin25.0rc.

  16. schjonhaug commented at 8:05 PM on May 23, 2023: none

    Looks like >> is missing after "maxconnections=2" in

    $  cd $DATA_DIR && echo "signet=1" >> bitcoin.conf && echo "maxconnections=2" bitcoin.conf  && cd ~
    

    Also, it’s easier to copy the commands using the (hover) copy icon <img width="46" alt="image" src="https://github.com/bitcoin/bitcoin/assets/84225/ea868344-91f5-4e4b-b82c-5628f05a88bc"> on Github if you remove the $ in front.

  17. schjonhaug commented at 8:46 PM on May 23, 2023: none

    A comment on the following paragraphs:

    To create a non-witness transaction of 64 bytes or so, You can generate an OP_RETURN output with the following dummy data in hexadecimal format: 6a00000000.

    Get a new change address $ bcli -regtest getnewaddress You should create a transaction with two outputs: one that sends Bitcoin to the address you generated, and the other that is an OP_RETURN output with the hex value of 6a00000000

    $ bcli -regtest createrawtransaction '[{"txid":"04b1a84bce28b2c989d53689404db5e3e22a2ca1875678e20286edd74dc11ace","vout":0}]' '{"data":"6a00000000"}' You will get an unsigned transaction hex.

    It’s not clear how the change address should be used in the creation of the raw transaction.

  18. ismaelsadeeq commented at 9:17 AM on May 24, 2023: member

    @chippsmith Thanks for your testing effort. @schjonhaug Thank You for your feedback, I will update the document. For all feedback on the testing guide document please drop it here #27736

  19. D33r-Gee commented at 6:26 PM on May 24, 2023: none

    Tested up to "Finalizing a PSBT..." (no bonus test yet).

    They all executed successfully!

    25.0rc2 compiled from source

    Hardware Info:

    • Memory: 15.5 GiB
    • Processor: Intel® Core™ i7-7700HQ CPU @ 2.80GHz × 8
    • OS: Ubuntu 20.04.5 LTS 64-bit
  20. fanquake commented at 10:17 AM on May 25, 2023: member

    25.0 has been tagged.

  21. fanquake closed this on May 25, 2023

  22. evansmj commented at 9:21 PM on May 25, 2023: none
    • MacOS 13.3.1
    • 25.0rc2 compiled from source
    • tested through the entire guide, including bonus and verifying binaries test.
    • everything worked, documented a test guide comment in the test guide issue as we discussed in irc.
  23. bitcoin locked this on May 24, 2024

github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2026-04-22 00:13 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me