<blockquote>
  <p>For example, bitcoin core 0.10 enables only 40 bytes in OP_RETURN, but I'm not sure if 0.10 is the latest version allowed on the testnet.</p>
</blockquote>

<p>40 bytes in OP_RETURN has always been legal. It was just non-standard, meaning that the standard client wouldn't mine or relay those transactions, but would allow them if they were already in a block.</p>

<p>However, testnet disables all standardness rules.</p>

<blockquote>
  <p>Is the code for the testnet differences within the most recent bitcoin github repo, or is it a separate repo I must download, compile, and point towards the testnet?</p>
</blockquote>

<p>It's the same program with the -testnet switch passed at the command line. (Or in your bitcoin.conf. Either works.)</p>

CC BY-SA 3.0
2015-05-13T17:13:07.620Z
Is there somewhere I can find the differences between testnet and mainnet enumerated or listed in human-readable fashion?
bvpx
CC BY-SA 3.0
2015-05-13T17:17:43.127Z
@bvpx I don't know if it's human readable, but the best resource I know of is https://github.com/bitcoin/bitcoin/blob/00820f921d8fcaa031e561ee641c50e77a909670/src/chainparams.cpp#L30
Nick ODell
CC BY-SA 3.0
2015-05-13T20:37:33.020Z
Thanks. So the major differences are the block generation / difficulty constants (in that file) and the absence of enforcement of `isStandard`.
bvpx
CC BY-SA 3.0
2015-05-13T17:11:46.607Z
2015-05-13T17:11:46.607Z
Nick ODell
<p>I'm a bit confused on how testing stuff for Bitcoin on the testnet currently works.</p>

<p>For example, bitcoin core 0.10 enables only 40 bytes in <code>OP_RETURN</code>, but I'm not sure if 0.10 is the latest version allowed on the testnet.</p>

<p>I know that there are <code>OP_RETURN</code> transactions in the testnet block chain that are up to 64 bytes, as seen in this transaction:</p>

<pre><code>{
  "transaction_hash": "91615716a4d3c42cafc240b594d79782709c2c359bd0d5a1d30fa2ee8294bcd3",
  "hex": "37356365626362356462366363636537383565633837646134353564373332646162653661313462636362623235393338643465663163373539346232303934",
  "text": "75cebcb5db6ccce785ec87da455d732dabe6a14bccbb25938d4ef1c7594b2094",
  "receiver_addresses": [

  ],
  "sender_addresses": [
    "mmHWy49WWGFQgmeZt7wYKvWSh7Szi9XQAm"
  ]
}
</code></pre>

<p><a href="http://explorer.chain.com/transactions/91615716a4d3c42cafc240b594d79782709c2c359bd0d5a1d30fa2ee8294bcd3#!transaction-op-return" rel="nofollow">source</a></p>

<p><strong>Is the code for the testnet differences within the most recent bitcoin github repo, or is it a separate repo I must download, compile, and point towards the testnet?</strong></p>

<p>Some clarification on how this works would be great.</p>

<testnet>
Why was this transaction allowed on testnet?
bvpx
# Why was this transaction allowed on testnet?

(Asked by: username_0 on 2015-05-13)

I'm a bit confused on how testing stuff for Bitcoin on the testnet currently works.

For example, bitcoin core 0.10 enables only 40 bytes in `OP_RETURN`, but I'm not sure if 0.10 is the latest version allowed on the testnet.

I know that there are `OP_RETURN` transactions in the testnet block chain that are up to 64 bytes, as seen in this transaction:

```
{
  "transaction_hash": "91615716a4d3c42cafc240b594d79782709c2c359bd0d5a1d30fa2ee8294bcd3",
  "hex": "37356365626362356462366363636537383565633837646134353564373332646162653661313462636362623235393338643465663163373539346232303934",
  "text": "75cebcb5db6ccce785ec87da455d732dabe6a14bccbb25938d4ef1c7594b2094",
  "receiver_addresses": [

  ],
  "sender_addresses": [
    "mmHWy49WWGFQgmeZt7wYKvWSh7Szi9XQAm"
  ]
}

```

[source](http://explorer.chain.com/transactions/91615716a4d3c42cafc240b594d79782709c2c359bd0d5a1d30fa2ee8294bcd3#!transaction-op-return)

**Is the code for the testnet differences within the most recent bitcoin github repo, or is it a separate repo I must download, compile, and point towards the testnet?**

Some clarification on how this works would be great.

**Tags:** testnet


---

## 1 answers

### Answer by username_1 on 2015-05-13. Score: 3 | Accepted answer

> For example, bitcoin core 0.10 enables only 40 bytes in OP\_RETURN, but I'm not sure if 0.10 is the latest version allowed on the testnet.

40 bytes in OP\_RETURN has always been legal. It was just non-standard, meaning that the standard client wouldn't mine or relay those transactions, but would allow them if they were already in a block.

However, testnet disables all standardness rules.

> Is the code for the testnet differences within the most recent bitcoin github repo, or is it a separate repo I must download, compile, and point towards the testnet?

It's the same program with the -testnet switch passed at the command line. (Or in your bitcoin.conf. Either works.)

> **Comments:**
> **username_0**: Is there somewhere I can find the differences between testnet and mainnet enumerated or listed in human-readable fashion?  
> **username_1**: @username_0 I don't know if it's human readable, but the best resource I know of is https://github.com/bitcoin/bitcoin/blob/00820f921d8fcaa031e561ee641c50e77a909670/src/chainparams.cpp#L30  
> **username_0**: Thanks. So the major differences are the block generation / difficulty constants (in that file) and the absence of enforcement of `isStandard`.  

---

