arpload
Arweave sells one thing: you pay once, and the network stores your data for at least two hundred years. The bet behind it is that storage keeps getting cheaper, so a one-off fee paid into an endowment outruns the cost of holding the bytes forever. Whether that holds for two centuries is a question for another post. I wanted to upload a 4K video.
The web wallet #
I started with the Arweave web wallet, which would have worked. The upload sat there for a long time with no visible progress — I hadn’t opened dev tools — so I assumed it had failed, and tried again. It had not failed. I had paid for every one of those transactions.
That lesson isn’t really about Arweave. An upload with no progress indicator, on a network where every attempt costs money, will get retried until the user runs out of money.
ArDrive #
Then ArDrive, because what I actually wanted was a nice interface and a large file safely uploaded, and the web interface genuinely is pleasant.
But ArDrive bundles. Your data goes into a bundle transaction alongside other people’s, which is cheaper and faster and entirely reasonable, and not what I was after. I wanted a standalone transaction: one id that is mine, that resolves to my file and nothing else.
So, build it #
goar, from everFinance, does the heavy lifting, which left the uploader small enough to be worth writing rather than looking for.
The piece worth having is resume. A 4K video is a lot of chunks, and an upload that starts again from zero every time the connection hiccups is an upload that never finishes — which, in a roundabout way, was the same problem I’d started with. arpload tracks how far it got and picks the transaction back up.
Demo #
Tx: TK60GE39cvuTh_DlLK5ZCnhcoOkN42YFQjsJfzwvrk4