I'm working on a "light client" for ION (Identity Overlay Network), and I'd like to see if there is a better method to grab the OP_RETURN data that it needs in order to build state.

Currently I am iterating through every block starting at a specific height and then iterating through each transaction and each transaction output in order to find the OP_RETURN signature that I am looking for.

Is there a better way to accomplish this by requesting all OP_RETURN data only? The bandwidth requirements for downloading all of the block data is a bottleneck for what I'd like to do, but I don't think what I'm looking for is possible with only the Bitcoin Wire protocol.

1 Answer 1


Nah.. just did it. To speed things up you can download the tx index, saving an RPC call. That increases the chain size by around 60GB.

Traversing all blocks (around 450K as Op_return was introduced in March 2014) is going to take 100 days on a 16GB 4-core with SSD.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.