Sendrawtransaction doesn't have a way to override certain types of transaction rejections #7241

issue jameshilliard opened this issue on December 21, 2015
  1. jameshilliard commented at 4:14 PM on December 21, 2015: contributor

    I was attempting to add a pool payout directly to my mining pool's mempool using sendrawtransaction, however I had generated the payout with a wallet with a different dust threshold due to the pool running a significantly higher minrelaytxfee(to filter spam) than the cold wallet I use to generate batched payouts from.

    I got this error when I tried to send the transaction using the rpc interface and haven't found a way to override it other than adjusting minrelaytxfee on the pool's node(which isn't really a solution since CNB/GBT performance degrades significantly when the mempool gets too big). I saw there was an override but it only appeared to do anything for high fees checks.

    error: {"code":-26,"message":"64: dust"}

    I think there should be a flag to only run the base validity checks on the transaction when sent through sendrawtransaction and skip the is-standard checks so that nonstandard transactions can be added to the mempool manually, maybe a way to adjust the dust thresholds independently from minrelaytxfee would also be good to have.

  2. MarcoFalke commented at 6:08 PM on December 21, 2015: member

    Related: #6824

  3. laanwj commented at 8:25 AM on December 22, 2015: member

    The basic idea here is not to send transactions that we'd not accept ourselves. Given no other information that's a realistic assumption in a P2P network.

    I wouldn't be against a way to force a transaction into the mempool (given that it validates consensus rules), but it should be made clear that this is only useful if you're a miner.

  4. laanwj added the label Mempool on Dec 22, 2015
  5. jameshilliard commented at 8:33 AM on December 22, 2015: contributor

    @laanwj Yeah, the intention here is that this would mainly for use by pools, the only other use case I can see this being good for would be for situations were a node's local policy is more restrictive due to some other config option than the the rest of the network, which seems to be the case here since the dust limit is tied to minrelaytxfee(I can see the logic in this but I think we should have a way to manually override it). I think the best way to do this would be to also have a flag to set the submitted transaction to maximum priority when being submitted through sendrawtransaction.

  6. pstratem commented at 9:24 PM on December 25, 2015: contributor

    @jameshilliard this can be accomplished by calling proritizetransaction before sendrawtransaction

  7. jameshilliard commented at 9:30 PM on December 25, 2015: contributor

    I tried that and it didn't help.

  8. pstratem commented at 9:38 PM on December 25, 2015: contributor

    @jameshilliard What was the rejection message?

    Possibly the transaction had no fees at all so hit the "free" transaction code before being checked against the fee deltas map.

  9. jameshilliard commented at 9:43 PM on December 25, 2015: contributor

    It was the dust error in the OP. Transaction did have a fee so don't think it was that.

  10. pstratem commented at 9:44 PM on December 25, 2015: contributor

    @jameshilliard oh right... yeah the deltamap doesn't override the dust limit

  11. MarcoFalke commented at 12:58 PM on May 9, 2020: member

    The feature request didn't seem to attract much attention in the past. Also, the issue seems not important enough right now to keep it sitting around idle in the list of open issues.

    Closing due to lack of interest. Pull requests with improvements are always welcome.

  12. MarcoFalke closed this on May 9, 2020

  13. DrahtBot locked this on Feb 15, 2022

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-05-02 12:15 UTC

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