There are many Blockchain projects that sell themself as "Blockchain for X" (where "X" is something cool!), unfortunatly the Blockchain is basically is an immutable, decentralized and secure data storage so if X if rapresented by data you can use an existing Blockchain, the same way you use Internet, instead of Internet for Gaming or Internet for Finance
TLDR; EOSfilestore is on Github !
Most of non scammy Blockchains have different tradeoffs, EOS has fast and free transactions and you pay the service with inflation.
The EOS cryptocurrency has an actual value, because if You stake it, you can reserve a certain amount of CPU, RAM or NET bandwidth on the EOS Blockchain.
How does it work?
eosfilestore is a very simple to use command-line tool.
$ eosfilestore push myfile.gif ... b5407140a0f7b6365b2dcf1731f6ad50ee0502d052ecdb9da01700ecd398f759 cpu: 8757 net:1272 Done, uploaded myfile.gif in b5407140a0f7b6365b2dcf1731f6ad50ee0502d052ecdb9da01700ecd398f759
It will base64 encode the file and split it in several
action transactions. The hash
b5407140a0f7b6365b2dcf1731f6ad50ee0502d052ecdb9da01700ecd398f759 is the only information you need to rebuild the file back.
$ eosfilestore get b5407140a0f7b6365b2dcf1731f6ad50ee0502d052ecdb9da01700ecd398f759 x.gif ... 0fb2a1ebb57af6ba344ce43a10c88166c8c8b4b413652862266cfab4c0c95900 null Done, saved b5407140a0f7b6365b2dcf1731f6ad50ee0502d052ecdb9da01700ecd398f759 in x.gif
Why would I want to store a file on the Blockchain?
Because you can. Jokes aside, there many benefits to store certain files on the Blockchain:
Time proof: You can demonstrate publically you know, or you have, something to a certain date in the past
Secure and Censorship resistant: Once the file is on the Blockchain you can't alter it, you can't corrupt it and it is nowhere and everywhere at the same time.
- Probably there are also other use cases, the limit is your imagination
EOSfilestore tradeoffs and what I've learnt
It costs 0 EOS to upload a file, but if you don't stake enough EOS for CPU or NET your file upload won't complete successfully, of course.
RAM Cost. To publish my basic smart contract to the EOS mainnet I should pay 50kB RAM =~ 20 EOS =~ $ 200, so I'm using
avataraction for my purposes.. Feel free to donate to
eosfilestoreRAM or EOS to allow me to deploy a dedicated smart contract.
In C++ a string has the max length of 4294967294 chars but in EOS the limit is lower because there is also a limit on transaction size at network level.
Storing a file on a Blockchain is not GDPR compliant.. because you can't delete it. But you encrypt it and then forget the password.
It isn't IPFS or Torrent, probably the EOSfilestore technique isn't suited for very big files. But 187.4kB could be a lot of kinds of documents an it is 25 txs
Finally I've consumed some CPU and NET, for the EOS I'm staking for it
Feedbacks are welcomed, EOSfilestore is Open source and available on Github.