Issue with Broadcast: TX signed offline but getting scriptsig-not-pushonly error (fixed my mistake!)

6 replies 293 views
Posts: 2 · Reputation: 88
#1Jul 10, 2019, 04:58 AM
[UPDATE: FIXED, MY FAULT: I mistakenly attempted to broadcast an unsigned TX] So, I created a raw transaction using an older version of Electrum (around 1.7x). It checks out fine on "https://coinb.in/#verify". The transaction has 1 input and 4 outputs, with a good fee and the input/output amounts are not just dust. But I can't seem to broadcast it anywhere. I keep getting errors like these: https://coinb.in/#broadcast > transaction rejected by network rules. scriptsig-not-pushonly https://blockstream.info/tx/push > RPC error https://www.blockchain.com/de/explorer/assets/btc/broadcast-transaction > "Code: -26, Error: scriptsig-not-pushonly" https://www.viabtc.com/tools/broadcast > Raw transaction send failed https://live.blockcypher.com/btc/pushtx/ > Error validating transaction: Rejected script for input 0 referencing ...... https://blockchair.com/broadcast > An error occurred, please check the transaction hash and selected network and try again. https://bitaps.com/broadcast > Mempool accept test failed: scriptsig-not-pushonly I also tried using Electrum on my Android, pasting from the clipboard, but got the same issue (translating the error to English): > The server responded with an error. Try selecting a different server or updating Electrum. scriptsig-not-push-only (I went through about 10 different servers all had the same issue, then I just gave up) Any ideas on how I can get this TX broadcasted?
3 Reply Quote Share
BasedGasHero Member
Posts: 460 · Reputation: 2335
#2Jul 10, 2019, 08:46 AM
I am not an expert but let me try... If nodes are rejecting your TX means the raw TX doesn't follow the Bitcoin consensus enforced by the nodes which probably happened when you created scriptSig data that contains different data other than push operations. Don't edit anything while you export the raw TX before broadcasting. Finally, why not update the electrum to latest version and recreate it again?
6 Reply Quote Share
humbleledgerLegendary
Posts: 1027 · Reputation: 6554
#3Jul 10, 2019, 06:55 PM
I take it you're using a very old version because you're using an offline system. If that's the case, this is what I would do instead of using a very old version of Electrum:
0 Reply Quote Share
hash_bossLegendary
Posts: 1166 · Reputation: 5261
#4Jul 10, 2019, 09:24 PM
Looking at https://bitcoin.stackexchange.com/a/92847, it seems Electrum create non-standard transaction. While it should be valid transaction if it's included on block directly, most node and miner/mining pool would reject it by default. So i would suggest you to follow @LoyceV suggestion to use newer version of Electrum securely, in order to re-create that transaction.
4 Reply Quote Share
Posts: 2 · Reputation: 88
#5Jul 11, 2019, 12:46 AM
Hmm, yes, probably it is something like that. But there is no mention of "electrum" in your link... Thanks a lot for your very good explanation. Makes sense and I am afraid I have to go through these tedious steps... One more question: Is it possible to extract the unsigned TX HEX string from my signed TX HEX string? (ideally by omitting some parts or be using a command line tool or so). If yes, I can save substantial effort by not needing to re-build the entire TX again (esp. because I have many of thoise TXs with 1 input and N (N=many) outputs). Or is the non-standard thing that casues my problem already included in the unsigned TX and not in the signing part? I have to add an additional Info: I now remember that I had created the raw (unsigned) transaction not with Electrum 1.7.x but with "https://coinb.in/#newTransaction" - and also I did not sign with Electrum on my old offline Linux PC (with equally old Linux version) but with "coinb.in" java script offline tool in its older version 1.3. And another update: SOLUTION: MY BAD!!! I made a mistake in my personal book keeping and had confused the signed with the unsigned TX - so the error "scriptsig-not-pushonly" actually happened because I tried to broadcast an unsigned TX So this thread can be considered as "resolved"
5 Reply Quote Share
humbleledgerLegendary
Posts: 1027 · Reputation: 6554
#6Jul 13, 2019, 12:38 AM
Your account is from 2011, which makes me think you may have a decent stash to protect. In that case, those steps aren't that much. Once you're used to it, it shouldn't take so much time (30 to 60 minutes is a small price for peace of mind). You can edit the title by editing the first post.
3 Reply Quote Share
hash_bossLegendary
Posts: 1166 · Reputation: 5261
#7Jul 13, 2019, 05:45 AM
I see you've found the actual problem, which is different case from link i mentioned above. But to be clear, i mentioned that link since it have same error when broadcasting the TX.
1 Reply Quote Share

Related topics