identical to the title
NOT REQUIRED ANYMORE
7 replies 78 views
For non-standard (but valid) transaction, you can contact one of mining pool. Although these days, you could just use MARA Slipstream[1] service which is more convenient where you just need to enter HEX your raw TX while meeting their fee rate requirement.
[1] https://slipstream.mara.com/
Other than that error message, what makes you think the transaction is non-standard?
That error message, although is emitted by standardness checks, does not necessarily mean that the transaction is non-standard. It is often also seen when the transaction is signed incorrectly.
gr3g.0rbitHero Member
Posts: 1025 · Reputation: 2646
#4Sep 12, 2017, 03:30 AM
Unfortunately, that is your only option aside from mining it yourself.
You could make changes to your node's standard rules to accept it to your mempool but that'll be it, it wont propagate to the network to reach a miner.
Have you tested this already in RegTest?
Perhaps if you demonstrate a working reproducible example, you'll get a response from those mining pools.
I'm not so much of an expert in Bitcoin script code. Well, if you have too many items left on the stack then your "unlock" script is wrong, isn't it? Not sure what you can post of it to check.
OP's topic is from yesterday and he already wrote yesterday that none of the pools responded. It seems to me there wasn't much time for them to respond and it's not that pools are waiting for email conversations.
gr3g.0rbitHero Member
Posts: 1025 · Reputation: 2646
#6Sep 14, 2017, 05:58 AM
Sometimes, it's a matter of convincing them that the transaction wont invalidate their block.
Because some mining pools, even though are willing to accept such transaction, don't want to risk the full block reward for the bounty of including a non-standard transaction.
I would assume that they validate a transaction before they include it to their candidate block. I would also assume that this is some sort of automated process as humans are prone to make errors and an invalid block would indeed be a costly error.
It depends on the output script type you are spending.
For SegWit outputs the stack must have only 1 item left in it that equals (CastToBool method) True.
For Legacy outputs the stack must have at least 1 item left in it and the top one that equals True.
Final stack being like this
is valid for Legacy but invalid for SegWit.