Add ability to ignore SCRIPT_VERIFY_DISCOURAGE_x flags when broadcasting transactions on test networks. #26439

issue benthecarman openend this issue on November 1, 2022
  1. benthecarman commented at 2:04 pm on November 1, 2022: contributor
    After bugs like: https://github.com/btcsuite/btcd/issues/1906 it would be useful to be able to reproduce these bugs in regtest. Currently to do so you would need to manually edit the code and comment out the script flag, then compile your self. It would be beneficial if we could disable these flags to create more reproducible tests.
  2. maflcko commented at 2:44 pm on November 1, 2022: member

    This should be trivial to reproduce on regtest by simply generating a block with the transaction.

    Unrelated to your question, I think it would be beneficial if there was a direct (non-p2p) interface for devs to send nonstandard transactions to a miner on signet. Signet intentionally uses a policy similar to the one on mainnet, however, this also makes it hard to test regtest-y tests on signet.

  3. maflcko added the label Tests on Nov 1, 2022
  4. maflcko added the label Questions and Help on Nov 1, 2022
  5. benthecarman commented at 2:46 pm on November 1, 2022: contributor

    This should be trivial to reproduce on regtest by simply generating a block with the transaction

    My understanding the main way to do this is to is broadcast it, then call generatetoaddress. Is there another way?

  6. maflcko commented at 2:53 pm on November 1, 2022: member
    generateblock
  7. maflcko commented at 6:42 pm on November 1, 2022: member
    cc @ajtowns Any thoughts about my signet question?
  8. ajtowns commented at 9:53 pm on November 1, 2022: contributor

    Unrelated to your question, I think it would be beneficial if there was a direct (non-p2p) interface for devs to send nonstandard transactions to a miner on signet. Signet intentionally uses a policy similar to the one on mainnet, however, this also makes it hard to test regtest-y tests on signet.

    I think for custom signets, contrib/signet/miner should definitely allow specifying transactions manually.

    For the global signet, I’ve seen people say they want it to be reliable for integration testing – so, eg, having it include txs that would break btcd which breaks lnd which then stops them from being able to test the software they’re building on top of lnd until a fix is rolled out would be annoyingly disruptive (albeit not as annoying as it happening on mainnet). Not sure what a good approach is – maybe something like “mine proposed non-standard txs in a secret closed network that includes btcd, rust-bitcoin, etc; if any of those nodes lose sync or crash, raise it as a security issue with those devs; only mine the proposed tx on signet proper if nothing crashes” ? Probably better discussed on the list or somewhere than here though.

  9. maflcko closed this on Nov 2, 2022

  10. bitcoin locked this on Nov 2, 2023

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: 2024-07-01 10:13 UTC

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