I have been reading around trying to find where/how you can attach a SHA256 or MD5 hash (i.e. a small chunk of data) to a Bitcoin transaction, which led to OP_RETURN, but I have yet to see exactly how you make the complete end-to-end connection, from my computer with some JSON, to a transaction created on the bitcoin.org servers (or wherever it is you are supposed to connect to).
I'm wondering if one could outline real quickly how I would go about creating my first transaction with data attached to it. (I have read about Bitcoin over the years and understand how it works and the blockchain and all that, I just don't know how to use it in practice). Do I need to install something? Or can it all be done programmatically with some library and installing nothing other than said library?
Specifically, do I need to install the 200+GB blockchain from bitcoin.org onto my computer, and become a "Full Node", in order to gain the ability to use
bitcoin-core Node.js library to access the bitcoin.org API? And even, where is the API exactly? Is it HTTP, RESTful, TCP, other? Is it connecting to bitcoin.org under the hood, or some other place? Who is in charge of maintaining the API? Basically, where is the API endpoint, what domain or IP address is it at?
I don't have room to install 200+GB of data on my computer, can I install it on an external hard drive? Or better yet, can I avoid that completely and just use the (potentially) HTTP API on bitcoin.org to do a POST to create a transaction, and maybe just pass in my username and password or some token to the HTTP request?
From then I could see how to go a little further and figure out how to attach the
OP_RETURN data and such. But right now I don't see where the API is and how it all connects; how you make your first transaction programmatically on this globally distributed blockchain. Please help.