more TODO-changes for sharing-ability
This commit is contained in:
parent
f5ec35fb29
commit
05a3f42e4d
16
next.py
16
next.py
@ -9,11 +9,15 @@
|
|||||||
# TODO: inode_id -> actuall Inode lookup table
|
# TODO: inode_id -> actuall Inode lookup table
|
||||||
# TODO: Add chareable folders:
|
# TODO: Add chareable folders:
|
||||||
# TODO: No more 'tokens' -> write-key for address-gen and read-key for encryption
|
# TODO: No more 'tokens' -> write-key for address-gen and read-key for encryption
|
||||||
# TODO: Change iota receive adress to next adress (encrypted with read-key)
|
# TODO: Change iota receive address to last adress (encrypted using read-key + hashed)
|
||||||
|
# -> relation of different transactions as part of the file/dir-structore stays hidden;
|
||||||
|
# but someone with the read-key of a directory/file is able to traverse the associated blockchain one by one
|
||||||
# TODO: Add share-functionality:
|
# TODO: Add share-functionality:
|
||||||
# 1. publish read-key of the directory
|
# 1. publish read-key of the directory
|
||||||
# 2. publish public adress of current milestone-block
|
# 2. publish public adress of current milestone-block
|
||||||
# Problem: No updateable milestone-index... -> Create share-genesis?
|
# 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
|
||||||
|
|
||||||
from iota import Iota, ProposedTransaction, Address, TryteString, Tag
|
from iota import Iota, ProposedTransaction, Address, TryteString, Tag
|
||||||
from iota.crypto.addresses import AddressGenerator
|
from iota.crypto.addresses import AddressGenerator
|
||||||
@ -27,11 +31,9 @@ import math
|
|||||||
from pprint import pprint
|
from pprint import pprint
|
||||||
import hashlib
|
import hashlib
|
||||||
import sys
|
import sys
|
||||||
import random
|
|
||||||
import time
|
import time
|
||||||
|
|
||||||
import msgpack
|
import msgpack
|
||||||
import copy
|
|
||||||
|
|
||||||
import gzip
|
import gzip
|
||||||
import secrets
|
import secrets
|
||||||
@ -50,7 +52,10 @@ except ImportError:
|
|||||||
else:
|
else:
|
||||||
faulthandler.enable()
|
faulthandler.enable()
|
||||||
|
|
||||||
CHUNKSIZE = 2187
|
# For RAW:
|
||||||
|
#CHUNKSIZE = 2187
|
||||||
|
# For AES:
|
||||||
|
CHUNKSIZE = 2176
|
||||||
SYNCWRITES = True
|
SYNCWRITES = True
|
||||||
|
|
||||||
def log(txt):
|
def log(txt):
|
||||||
@ -257,6 +262,7 @@ class TangleBlob():
|
|||||||
if bundles:
|
if bundles:
|
||||||
sendEmOff(bundles, self.iotaApi)
|
sendEmOff(bundles, self.iotaApi)
|
||||||
|
|
||||||
|
|
||||||
class TangleFileTreeElement(TangleBlob):
|
class TangleFileTreeElement(TangleBlob):
|
||||||
def __init__(self, name: str, lastMilestoneIndex: int, parent, iotaApi: Iota) -> None:
|
def __init__(self, name: str, lastMilestoneIndex: int, parent, iotaApi: Iota) -> None:
|
||||||
if isinstance(parent, bytes):
|
if isinstance(parent, bytes):
|
||||||
@ -444,6 +450,8 @@ class TangleFile():
|
|||||||
self.hash = hashlib.sha256(newData).digest()
|
self.hash = hashlib.sha256(newData).digest()
|
||||||
self.writeKey = hashlib.sha3_384(b'f' + self.parent.writeKey + self.hash).digest()
|
self.writeKey = hashlib.sha3_384(b'f' + self.parent.writeKey + self.hash).digest()
|
||||||
self.readKey = hashlib.sha3_384(b'f' + self.parent.readKey + self.hash).digest()
|
self.readKey = hashlib.sha3_384(b'f' + self.parent.readKey + self.hash).digest()
|
||||||
|
# Maybe this way the gc will remove it quicker?
|
||||||
|
del self.blob
|
||||||
self.blob = TangleBlob(self.writeKey, self.readKey, self.iotaApi)
|
self.blob = TangleBlob(self.writeKey, self.readKey, self.iotaApi)
|
||||||
self.blob.append(newData)
|
self.blob.append(newData)
|
||||||
self.size = self.blob.getSize()
|
self.size = self.blob.getSize()
|
||||||
|
Loading…
Reference in New Issue
Block a user