<p>This is for sending transactions directly to Eligius: <a href="http://eligius.st/~wizkid057/newstats/pushtxn.php" rel="nofollow">http://eligius.st/~wizkid057/newstats/pushtxn.php</a></p>

CC BY-SA 3.0
2014-01-05T12:40:13.177Z
In fact this should be a comment to David's answer instead of a new answer. Also, you are not meant to include a footer with a tip address in an answer.
Steven Roose
CC BY-SA 3.0
2014-01-05T06:17:44.010Z
2014-01-05T12:39:15.187Z
2014-01-05T12:39:15.187Z
user9415
<p>The standard client will not relay non-standard transactions. However, if you get them directly to a miner that accepts them, clients will process them correctly and the transaction will work.</p>

<p>You can send your transactions to <a href="https://en.bitcoin.it/wiki/Free_transaction_relay_policy">173.242.112.53</a>. This is a server run by <a href="http://eligius.st/wiki/index.php/Eligius_mining_pool">Eligius</a> that will relay all valid transactions and they will include even non-standard transactions in the blocks they mine. Others who are willing to relay or include free and non-standard transactions also tend to link to this node, so it can get your transaction included in blocks mined by other pools as well.</p>

CC BY-SA 3.0
2012-08-20T08:23:41.377Z
OK, this is interesting. Thanks! What is the reason for this client behaviour?
Karel Bílek
CC BY-SA 3.0
2012-08-20T08:29:05.097Z
It's a way to prevent the network from being flooded with a large number of very small nuisance transactions. Someone could move the same coins back and forth over and over, bloating the block chain and flooding out legitimate transactions. The decision not to relay "non-standard" transactions is kind of mysterious and I'm not sure what the thinking is.
David Schwartz
CC BY-SA 3.0
2012-08-20T08:30:48.120Z
"Someone could move the same coins back and forth over and over" - which is basically exactly what I am doing now :D
Karel Bílek
CC BY-SA 3.0
2012-08-20T08:31:52.083Z
If you're testing, you might want to consider running on a test network rather than the real one.
David Schwartz
CC BY-SA 3.0
2012-08-20T08:34:41.780Z
Hm, I have never heard about "test network", it seems interesting, I am probably going to use that. How do I get "test bitcoins"?
Karel Bílek
CC BY-SA 3.0
2012-08-20T08:41:47.683Z
From the [test faucet](http://testnet.freebitcoins.appspot.com/) of course.
David Schwartz
CC BY-SA 3.0
2012-09-01T00:50:31.963Z
David Schwartz : By the way, for your information: I was never able to send the transaction with the non-standard script, even when I sent it to 173.242.112.53. It doesn't appear, even in transactions confirmed by Eligius. (If I can trust the way blockchain.info is tracking it)
Karel Bílek
CC BY-SA 3.0
2012-08-20T07:46:51.623Z
2012-08-20T07:46:51.623Z
David Schwartz
<p>I am playing with bitcoin transaction a bit now.</p>

<p>I have a question. Normally, the output script looks like</p>

<pre><code>OP_DUP OP_HASH160 (hash) OP_EQUALVERIFY OP_CHECKSIG
</code></pre>

<p>Now that is understandable. However, when I <em>slightly</em> change the script with an outgoing translation to</p>

<pre><code>OP_DUP OP_DROP OP_DUP OP_HASH160 (hash) OP_EQUALVERIFY OP_CHECKSIG
</code></pre>

<p>this transaction is never relayed (as far as I can say) and never reaches any miner, even when it's 100% legal.</p>

<p>What is going on? Why is it not relayed? I even added <em>quite</em> large fee on it.</p>

<p>And a second question - <em>if</em> my suspicion is correct and it is actually never relayed - what would happen if some miner actually accepted it and this transaction ended in the blockchain? Would it be a valid transaction? Would the client be able to "see it" when he is not able to relay it?</p>

CC BY-SA 3.0
2012-08-31T19:22:30.183Z
How did you change the script? I've been trying to figure out how to do that
imichaelmiers
CC BY-SA 3.0
2012-09-01T00:48:40.453Z
with playing with the source code.
Karel Bílek
<transactions><script>
Transaction with slightly changed script is never relayed
Karel Bílek
# Transaction with slightly changed script is never relayed

(Asked by: username_0 on 2012-08-20)

I am playing with bitcoin transaction a bit now.

I have a question. Normally, the output script looks like

```
OP_DUP OP_HASH160 (hash) OP_EQUALVERIFY OP_CHECKSIG

```

Now that is understandable. However, when I *slightly* change the script with an outgoing translation to

```
OP_DUP OP_DROP OP_DUP OP_HASH160 (hash) OP_EQUALVERIFY OP_CHECKSIG

```

this transaction is never relayed (as far as I can say) and never reaches any miner, even when it's 100% legal.

What is going on? Why is it not relayed? I even added *quite* large fee on it.

And a second question - *if* my suspicion is correct and it is actually never relayed - what would happen if some miner actually accepted it and this transaction ended in the blockchain? Would it be a valid transaction? Would the client be able to "see it" when he is not able to relay it?

**Tags:** transactions, script

> **Comments:**
> **username_1**: How did you change the script? I've been trying to figure out how to do that  
> **username_0**: with playing with the source code.  

---

## 2 answers

### Answer by username_4 on 2012-08-20. Score: 16 | Accepted answer

The standard client will not relay non-standard transactions. However, if you get them directly to a miner that accepts them, clients will process them correctly and the transaction will work.

You can send your transactions to [173.242.112.53](https://en.bitcoin.it/wiki/Free_transaction_relay_policy). This is a server run by [Eligius](http://eligius.st/wiki/index.php/Eligius_mining_pool) that will relay all valid transactions and they will include even non-standard transactions in the blocks they mine. Others who are willing to relay or include free and non-standard transactions also tend to link to this node, so it can get your transaction included in blocks mined by other pools as well.

> **Comments:**
> **username_0**: OK, this is interesting. Thanks! What is the reason for this client behaviour?  
> **username_4**: It's a way to prevent the network from being flooded with a large number of very small nuisance transactions. Someone could move the same coins back and forth over and over, bloating the block chain and flooding out legitimate transactions. The decision not to relay "non-standard" transactions is kind of mysterious and I'm not sure what the thinking is.  
> **username_0**: "Someone could move the same coins back and forth over and over" - which is basically exactly what I am doing now :D  
> **username_4**: If you're testing, you might want to consider running on a test network rather than the real one.  
> **username_0**: Hm, I have never heard about "test network", it seems interesting, I am probably going to use that. How do I get "test bitcoins"?  
> **username_4**: From the [test faucet](http://testnet.freebitcoins.appspot.com/) of course.  
> **username_0**: username_4 username_4 : By the way, for your information: I was never able to send the transaction with the non-standard script, even when I sent it to 173.242.112.53. It doesn't appear, even in transactions confirmed by Eligius. (If I can trust the way blockchain.info is tracking it)  

---

### Answer by username_2 on 2014-01-05. Score: 2

This is for sending transactions directly to Eligius: <http://eligius.st/~wizkid057/newstats/pushtxn.php>

> **Comments:**
> **username_3**: In fact this should be a comment to username_4's answer instead of a new answer. Also, you are not meant to include a footer with a tip address in an answer.  

---

