2 ms·
Am I right to read this as a replicated, optionally encrypted, append-or-kv-set "database"? With a mechanism for adding identities which can control each "prim
by Groxx 3y ago
Am I right to read this as a replicated, optionally encrypted, append-or-kv-set "database"? With a mechanism for adding identities which can control each "primary key" of sorts?
I think I'm not following how the checksums are produced (are you going to serialize and replicate the code too? seems odd if you're going to include Vue in that serialized data...), nor how that does much at all different than an append-only log would achieve (maybe you can compress kv-sets and discard the history after some time?)... but docs are somewhat incomplete so maybe that's just not covered sufficiently yet. Or I skimmed too quickly and missed something.
- gslepak 3y agoShelter Protocol is an append-only log that is stored in a key-value database. I recommend watching the talk if you haven't already, it should answer your questions. Regarding storing Vue (or any other frontend framework), the answer is gonna get a bit technical (sorry, we haven't documented this on the website yet). This is a curiosity for how we happen to be using Shelter Protocol in Group Income (which uses Vue). Vue.js both is and isn't saved to the contract. Each contract manifest has two versions of the contract: one "complete" contract containing all of the code necessary for reproducing the state, and one "slim" version that has any large dependencies passed in to the contract at runtime. Group Income uses the slim version so that the contracts load quickly, but it's also possible for anyone to reproduce the state of a Group Income app independently, without using Group Income, by loading the "full/complete" version of the contract because all necessary dependencies are bundled in.
- Groxx 3y ago>an append-only log that is stored in a key-value database. Yeah, that's definitely not clicking in my brain at the moment. I guess I need to actually watch/listen to that video rather than skimming the slides. For storing code: yeah, I guess a more "storage polite" version of this would be to serialize the "engine" of whatever you're doing, rather than its presentation. That can often be quite small, certainly in comparison. Would it be possible to simply store e.g. a git repo name + sha, and then clients download as needed? Or do storage-providers need to be able to execute any of this (beyond enforcing key permissions)?
- gslepak 3y ago> Would it be possible to simply store e.g. a git repo name + sha, and then clients download as needed? Or do storage-providers need to be able to execute any of this (beyond enforcing key permissions)? The server stores all of the events and all of the contracts in a content-addressable way, in whatever key-value database it is using. It does not execute any of the contract code though, no, that's done locally by clients.