The text is 1.4 MiB large. Bitcoin has maximum block size of 1 MiB currently. It is technically impossible to save such a large file in the block chain as a once chunk. I compressed the text as a zip file and it reduced its size down to 296 KiB which is approximately 15000 output addresses. Whith 2700 satoshis per output address it would cost 0.4 bitcoins just for the outputs, but transaction fee would be added to it.
148 * number_of_inputs + 34 * number_of_outputs + 10
would be
148 * 1 + 34 * 15000 + 10 = 510158 bytes = ~ 500 KiB transaction size
The amount charged per 1000 bytes defaults to 0.0001 XBTSo the miners would require 0,0510158 bitcoins as a transaction fee for such a transaction.
Apparently transactions larger than 100 KiB are non-standard anyway, so we would have to find a miner that is willing to confirm the transaction. Some mining pools accept non-standard transactions and thus we could potentially reduce the cost of a single output down to zero, but the miner will probably require a higher fee.
I say about because the write page became unresponsive when I tried to paste the entire text, so I pasted about 1/10th of the text and got this:
Chars: 75658
Bytes: 143557
Addresses: 7179
Cost: 0.04009188
This calculation is not accurate since the dust threshold has been increased 5 times and paystamper is probably still using the old threshold.
So the whole book should be about 0.4 btc.
Is there something that you can do about the page unresponsive, or maybe an upload button, so I can upload the file?
Also, is there some kind of optimization we can do for the costs?
Can we still send one satoshi dust such as here
https://blockchain.info/tx/e0ce23d299bb1b7decdf86522c023554bbdeab80cebcca6aa09f01a86c65d10eor would this not work anymore?
How many addresses could we fit into one transaction, what dust, and what fees should we use?
Thanks again very much for the quick and thorough response.
I am planning to develop file uploading possibility for cryptograffiti but it will take some time.
So here are the options:
compress the book as a zstream or as a zip file and upload it as a one large transaction
or split the book into multiple parts and upload each of them as plaintext.
Since I am planning to develop zip file and zstream decoding anyway, I would suggest going for the compression and hoping that some miner will accept a 500 KiB transaction