2
I was under the impression that null-data transactions were standard, but whenever I try to broadcast one it takes a while for it to appear in a block.
I tested this by broadcasting 2 transactions with same fees and same priority. The standard one got picked up in the next block, while the null-data one has yet to appear in a block (there's been 3 non-full blocks mined so far).
example tx: https://live.blockcypher.com/btc/tx/c0b0de8662054cadd461b488676a374f8f962c91612070e8e23b95d108d36217/
Am I doing anything wrong to make this transaction non-standard?
Got it, thanks! I was just doing OP_RETURN [data] instead of OP_RETURN [num bytes of data][data]. Tested a new transaction and it got picked up by many more mem pools (not in a block yet).
It does seem that 1. and 2. on your list are also correct, since in some older examples that had standard scripts (I created those with a library instead of manually) also took longer to go into a block.
Additionally, some services like blockchain.info will refuse to broadcast them (They say the script is non standard even though it is) – Mike – 2015-06-09T10:54:37.537