diff --git a/README.md b/README.md index 0bcdf8f..cbdd503 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,33 @@ # iotaFS A simple script to upload / download files into / from the iota tangle for free! (Well, you pay with POW...) + +## main.py + +Fully functional poc, but has horrible performance. + + +## next.py + +Non yet functional and I'm also no longer working on it. +Changes compared to main.py: + - switched to libfuse3 + - switched to a async model + - switched to object-oriented class-structure + - switched to a way more efficient delta & milestone system + - appending data to files without a re-upload possible, if file has not been closed + (and therefore the last block is still unsealed) + - incremental r/w-keypair in directory-structure: mounting point in the fs can be choosen + and a single folder (and all contained files / folders ) can be shared with someone else + simply by giving them the r/w-keypair and last known milestone-pointer (address) for the folder + - sharing a folder in read-only mode by only giving them the r-key and the last known milestone-pointer + - did I mention it has 1000x better performance? + +Development was stopped, because a iota-snapshot will remove the fs (next AND main) from the tangle and require the data +to be bought from a fullnode. +If a transitional grace-period for snaphots gets implemented this could be circumvented by implementing a refresh, which would + - make a forced full milestone of the Genesis + - rewrite all files + + But until such a thing is implemented I dont see the point in continuing the development on what essentially was only + ment to be a poc. diff --git a/next.py b/next.py index 8e8a9f8..abd5c9f 100644 --- a/next.py +++ b/next.py @@ -18,6 +18,7 @@ # Problem: No updateable milestone-index... -> Create share-genesis? # Problem: When sharing a single file, updates are not received... -> new file-blobs reverence old one via rec-address # TODO: ? Switch to salsa20 stream-cipher -> no padding required -> 2187 as blocksize instead of 2176 -> .5% more +# TODO: A write-key alone is pretty stupid: Switch to a rw- and r-key? The r-key would be derived from the rw. from iota import Iota, ProposedTransaction, Address, TryteString, Tag from iota.crypto.addresses import AddressGenerator