Bitcoin Forum
May 25, 2024, 01:20:32 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: How to send non-standard transaction?  (Read 1316 times)
amaclin (OP)
Legendary
*
Offline Offline

Activity: 1260
Merit: 1019


View Profile
March 02, 2014, 02:56:09 PM
 #1

I want to send non-standard transaction (it is valid, but spends existing in blockchain non-standard utxo)

So, the questions are:
1. What is the IP-address of Eligius pool? Bitcoin wiki says -addnode=192.3.11.20 but this address does not work
2. Are there any other miners which accept non-standard transactions? (No?)
3. Is it possible to disable checks in Bitcoin-Qt for non-standard transactions? I want my own client to accept and relay non-standard txs (like in -testnet mode)
4. If the answer to (3) is "no" - is there a simple tool to send raw non-standard transaction? Windows please.
5. Is there a tool to check which transactions are in peer's memory-pool? E.g. - I send my raw transaction to my peer and after this i check his memory pool for it. If my transaction is there - it means everything goes normal
dexX7
Legendary
*
Offline Offline

Activity: 1106
Merit: 1024



View Profile WWW
March 02, 2014, 03:04:34 PM
 #2

You can push raw transactions via http://eligius.st/~wizkid057/newstats/pushtxn.php.

byt411
Hero Member
*****
Offline Offline

Activity: 798
Merit: 1000


View Profile
March 02, 2014, 03:06:51 PM
 #3

I want to send non-standard transaction (it is valid, but spends existing in blockchain non-standard utxo)

So, the questions are:
1. What is the IP-address of Eligius pool? Bitcoin wiki says -addnode=192.3.11.20 but this address does not work
2. Are there any other miners which accept non-standard transactions? (No?)
3. Is it possible to disable checks in Bitcoin-Qt for non-standard transactions? I want my own client to accept and relay non-standard txs (like in -testnet mode)
4. If the answer to (3) is "no" - is there a simple tool to send raw non-standard transaction? Windows please.
5. Is there a tool to check which transactions are in peer's memory-pool? E.g. - I send my raw transaction to my peer and after this i check his memory pool for it. If my transaction is there - it means everything goes normal

What the heck is a non-standard transaction? By your spending an existing transaction in the blockchain, that is double spending.
If you want to broadcast a transaction, you can do so here:
http://eligius.st/~wizkid057/newstats/pushtxn.php
https://blockchain.info/pushtx
https://coinb.in/send-raw-transaction.html

amaclin (OP)
Legendary
*
Offline Offline

Activity: 1260
Merit: 1019


View Profile
March 02, 2014, 03:42:18 PM
 #4

What the heck is a non-standard transaction? By your spending an existing transaction in the blockchain, that is double spending.
What is a reason to post a message without answering even one of five questions?
I want to send valid transaction. It is not doublespending.

OK, here it is.
I know that you can spend it for yourself, because it does not need the private key
I just looking for knowledge how to redeem such outputs

Code:
01000000014649b9f76be2a3ed0c33edb3238388985bced46b5487b2342ecee317cac302850000000003000191ffffffff01301b0f00000000001976a91492b8c3a56fac121ddcdffbc85b02fb9ef681038a88ac00000000

https://blockchain.info/pushtx
https://coinb.in/send-raw-transaction.html
these services would not relay my non-standard transaction

http://eligius.st/~wizkid057/newstats/pushtxn.php
this one (I knew about it) rejects with very generic error -22
kjj
Legendary
*
Offline Offline

Activity: 1302
Merit: 1025



View Profile
March 02, 2014, 03:46:08 PM
 #5

Most nodes enforce rules that aren't in the protocol.  The example getting the most press right now is padded signatures.  The R and S values in a signature should not be padded with null bytes when they are short.  If they are padded, they are considered nonstandard, and most nodes will not relay them.  But, they are perfectly valid in the protocol, and if they make it into a block, no node will reject that block.

The much more common one involves script patterns.  The protocol allows huge discretion on what you can set as your output script, but the network will only accept a few templates as standard.  If I recall correctly, there was an incident a while back where gox was sending malformed payments that could not be redeemed.  Unfortunately, they made their way to a miner that did not enforce standardness, so they were committed to the blockchain and lost forever.

17Np17BSrpnHCZ2pgtiMNnhjnsWJ2TMqq8
I routinely ignore posters with paid advertising in their sigs.  You should too.
amaclin (OP)
Legendary
*
Offline Offline

Activity: 1260
Merit: 1019


View Profile
March 02, 2014, 04:03:17 PM
 #6

OK
Let's compare these two non-standard transactions byte-by-byte:
Code:
01000000016c302373061820327ed3a23c86f412c08e1936c0e965860ca63771d8b6e532d20000000003000191ffffffff019fbb0d00000000001976a9146167e3dec9668e4366fba3c4388900b12869f04c88ac00000000
01000000014649b9f76be2a3ed0c33edb3238388985bced46b5487b2342ecee317cac302850000000003000191ffffffff01301b0f00000000001976a91492b8c3a56fac121ddcdffbc85b02fb9ef681038a88ac00000000

The first one is spent http://webbtc.com/tx/f04a824c0b7d23626e79ca039f1d60c1d73beec2f686ba0d8d0432b020b63040
The second is mine - but I can not relay it to the network
So, somebody was able to redeem such non-standard output. I want be so smart too Smiley
Do not suggest to solo-mine a block and put tx into it Smiley
kjj
Legendary
*
Offline Offline

Activity: 1302
Merit: 1025



View Profile
March 02, 2014, 04:10:24 PM
 #7

3. Is it possible to disable checks in Bitcoin-Qt for non-standard transactions? I want my own client to accept and relay non-standard txs (like in -testnet mode)

Look for IsStandard functions.  Modify them to return without checking.

5. Is there a tool to check which transactions are in peer's memory-pool? E.g. - I send my raw transaction to my peer and after this i check his memory pool for it. If my transaction is there - it means everything goes normal

No there is not.

Your best bet is to organized a group of people interested in running a non-standard relay subnetwork.

17Np17BSrpnHCZ2pgtiMNnhjnsWJ2TMqq8
I routinely ignore posters with paid advertising in their sigs.  You should too.
amaclin (OP)
Legendary
*
Offline Offline

Activity: 1260
Merit: 1019


View Profile
March 02, 2014, 04:23:04 PM
 #8

Quote
Look for IsStandard functions.  Modify them to return without checking.
Thank you. Unfortunately it is too complicated for me to setup all tools and build existing Bitcoin-Qt sources. I have already created my own blocks and transactions parser (it works only offline, it does not connect to a network). This tool creates raw transactions.

Quote
Your best bet is to organized a group of people interested in running a non-standard relay subnetwork.
OK, I am looking for current Luke-Jr's IP-address and his latest "bitcoin-next-test" executables
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!