Replies (16)

Default avatar
ROXTRI 1 month ago
Hey dude... check this: x.com/bankrbot/status/2018824814732189774 This is a great opportunity to showcase the Iris.to project and fund improvements.
SatsAndSports's avatar
SatsAndSports 1 month ago
My guess is that this is a Blossom hash combined with some video-specific metadata
Default avatar
paully 1 month ago
Have you seen the bankr coin they launched for iris lmao. I think its great, wonder if its something you could get behind
SatsAndSports's avatar
SatsAndSports 1 month ago
"Merkle roots can be published to get mutable npub/tree/path addresses" Cool! So a query to that will return a signature of the hash by that npub, perhaps in a header in the response?
Yes, it uses kind 30078 events with tags: d Tree name (replaceable event key) l "hashtree" label for discovery hash Merkle root SHA256 (64 hex chars) key Decryption key (public trees) encryptedKey XOR'd key (link-visible trees) selfEncryptedKey NIP-44 encrypted (private/link-visible)
SatsAndSports's avatar
SatsAndSports 1 month ago
And the merkle root is of a tree of equally-size blobs? I ask because that might make it easy to skip to the relevant part of the video. Do we know the depth of the tree? Although, I guess you have this size (and runtime?) metadata somewhere in the nodes of the tree?
Usually equally sized leaf nodes, but that's not enforced. Actually I made a video-chunker which makes the first chunk 256kb so it starts faster, while the rest are 2MB. Bittorrent v2 compatible 16kb would have been nice, but it's too much overhead for blossom servers.
On (source code in the hashtree repo iris-files package) I have a service worker that handles http range requests to /htree/nhash... and the browser video player can request only the relevant part of the file from the hashtree.
โ†‘