#dat

/

      • jekrb_ has quit
      • jekrb joined the channel
      • jekrb has quit
      • jhand
      • I can open an issue on that caveat for #19 that we couldn't figure out friday
      • pfrazee: so that bug doesn't seem to happen everytime for me, is that same for you? (try doing dat clone then rm -rf dir and dat clone a few times)
      • pfrazee
        jhand: yeah it's inconsistent
      • taravancil has quit
      • mandric has quit
      • andrenarchy joined the channel
      • notwes joined the channel
      • notwes has quit
      • notwes joined the channel
      • notwes has quit
      • noffle
        hey mafintosh -- hyper{drive,core} questions!
      • (or anyone else)
      • andrenarchy has quit
      • how are private keys stored for archives you created? in the leveldb?
      • does that leveldb act as a repository for ALL archives you create AND download?
      • jhand
        noffle: yep, private key is stored in leveldb right now.
      • noffle: a single leveldb can have lots of archives. but in case of CLI/desktop app we just use one leveldb for each archive.
      • noffle
        jhand: is there any advantage to that? I guess the user can manage archives easier by manipulating the fs
      • jhand
        noffle: yea thats the idea. Then the database can be with the files.
      • Also should note, these answers will be changing with v5 of hypercore (SLEEP) which doesn't require leveldb
      • noffle
        jhand: cool -- makes sense
      • jhand: how do I re-open an existing live hyperdrive for appending? does drive.createArchive(pubkey) do that?
      • jhand
        noffle: exactly. As long as that drive uses the same database, if private key is in there they you can open it with pub key and append more.
      • noffle
        nice
      • thank you so much jhand, this is very helpful
      • jhand
        sure! glad I could help
      • noffle
        jhand: are private keys ever shared via replication or otherwise? or can an archive author assume that they'll be the exclusive appender unless they explicitly share their key?
      • jhand
        noffle: yes they can assume that. they're never shared via the protocol
      • pfrazee
        jhand: any luck with that bug?
      • jhand
        pfrazee: no and I got distracted by another bug.
      • pfrazee
        jhand: ok, I'm going to do some work on dathttpd; after that if I have some time I'll hit my bug
      • jhand
        pfrazee: its getting suck on a block, usually one <20. may have to do with verify replication read failing on the source side but thats the bug I got distracted by
      • maybe related
      • pfrazee
        ok cool, I'll look into it
      • jhand
        pfrazee: any idea why read verification would fail even with verifyReplicationReads set to false
      • I haven't gotten to deep in that yet
      • pfrazee
        jhand: nope that's odd
      • jhand
        pfrazee: ya they may be related. Some reason thats happening and then the download stalls. Im gonna get some food and then keep looking at it. But let me know if you dig in and find anything.
      • pfrazee
        jhand: ok
      • jhand
        noffle: by the way, have you seen https://github.com/watson/npm-to-hypercore. Didn't quite dig into the goals of your peer-npm thing but o/ may be interesting.
      • noffle
        jhand: ooh, thank you
      • not sure how everyone knows about peer-npm -- just pushed quietly last night
      • pfrazee
        there's no readme!
      • jhand
        ya randomly saw someone in my feed star it
      • noffle
        jhand: this is different than what I'm hacking on, but there may be pieces I can pull out of this re how the data is structured here
      • pfrazee: it's still pre-readme mad science!
      • there's a design.md with thinkings though
      • pfrazee
        noffle: ok!
      • yeah Im checking that out
      • that's a clever solution for names
      • noffle
        jhand: what is a 'content key' in hyper{drive,core} parlance?
      • pubkey?
      • pfrazee: yeah, I don't like seeing just a big anonymous hash blob in my dependencies list :(
      • pfrazee
        yeah
      • noffle: hyperdrive archives are actually made up of two hypercore feeds, the meta and the content feed
      • noffle
        or is that the hashed key?
      • pfrazee
        the first entry of the meta feed points to the content feed
      • taravancil joined the channel
      • noffle
        ah. how do I pull out the metadata key and the content key from an 'archive' instance?
      • jhand
        noffle: started to flesh out some definitions here on these things but probably still some missing https://docs.datproject.org/terms#technical-terms
      • noffle: metadata key is the archive key
      • noffle
        jhand: thanks
      • jhand
        the content key you can read in the feed using hyperdrive-protocol (I think) but its a bit tricky (it can be last or first), let me find example.
      • pfrazee
        noffle: are you using hyperdrive?
      • noffle
        jhand: I'm trying to re-open an existing archive to add to it
      • pfrazee: yes
      • there's a brief note on this in the hyperdrive readme
      • but it doesn't mention how to get the keys
      • notwes joined the channel
      • pfrazee
        noffle: you should be able to load the archive, then call archive.open() to make sure it's loaded, and then archive.content.key
      • jhand
        noffle: do you have the archive key already? If so you can just reopen with that key