Comments (11)
Mmm is this really deterministic? When you do execute the same create_link twice, that's two links that now exist in the DHT, not just one. How is must_get_link going to differentiate between the two actions that created the two links?
from holochain.
Mmm is this really deterministic? When you do execute the same create_link twice, that's two links that now exist in the DHT, not just one. How is must_get_link going to differentiate between the two actions that created the two links?
Yeah that's what I thought as well but @maackle said it wouldn't be a problem? I'm not clear on why. I originally brought it up thinking that we needed to make links entries again for this to be possible.
from holochain.
I was originally thinking this would be analogous to must_get_entry
, which we already have. The idea there is that we just want to ensure an entry was created by some agent, no matter who. However, I'm wondering if that's even a good idea, since entries can be deleted, and I'm not sure what our long term plans are for garbage collection of dead entries.
This must_get_link
concept is actually a little bit different still from must_get_entry
. must_get_entry for a dead entry could still be useful if you need to see the content of an entry at a given hash. You could never know for sure if it's currently "live" or not, but you can ensure that the hash corresponds to some certain content. However with must_get_link, at least in the use case @mattyg was suggesting, you would typically be constructing a link from known content, meaning there's no need to verify that some particular content is at a certain hash, because you would already have the content available already. It seems that the intention of must_get_link is to check that a link is "live" (not deleted), but we can't do this deterministically. The only thing it could possibly check is that a link with that content was ever created, which is maybe not so useful.
The "liveness" of links and entries is not determinable in validation.
from holochain.
thanks for clarifying that
The only thing it could possibly check is that a link with that content was ever created, which is maybe not so useful.
I think that's actually fine for my use case because the links I want to must_get are previous components of a path used as an index. Given the constraint I think it's okay for the index links to not be deletable, while the leafs links can be deleted.
The "liveness" of links and entries is not determinable in validation.
I'm assume with metadata hardening this becomes possible?
from holochain.
Given the constraint I think it's okay for the index links to not be deletable
I see how that works for your case since those links will never be deleted, it comes with a caveat for any delible links though.
I'm assume with metadata hardening this becomes possible?
The liveness right now will never be determinable (since it hasn't had time to harden), but yes liveness at some time in the past can be with hardened metadata if all goes well
from holochain.
This item has been open for 30 days with no activity.
from holochain.
This item has been open for 30 days with no activity.
from holochain.
This item has been open for 30 days with no activity.
from holochain.
This item has been open for 30 days with no activity.
from holochain.
This item has been open for 30 days with no activity.
from holochain.
This item has been inactive for 14 days since being marked as stale.
from holochain.
Related Issues (20)
- Release automation can't handle self deps with a version
- Dry run releases are broken due to a missing label HOT 4
- The release automation produces TOML which is not correctly formatted
- A bad return value from a callback crashes the conductor HOT 2
- [Release automation] Fix toml formatting HOT 1
- Release automation dep `crate-util` requires newer Rust version 1.76
- Simplification of the release process HOT 1
- Review of Key Manager Browser Extension
- Review of Launcher with Key Management
- (Must have) Run the HoloFuel sweettest test
- Atomic Holonix updates HOT 1
- (Must have) Manual testing, using a happ that we know is reasonably reliable
- (Must have) Leave a conductor running for a longer period of time
- (Nice to have) Automated (or at least semi) testing, maybe with HoloFuel?
- (Medium) Wind Tunnel simple baseline
- [BUG] Unable to open Database file on Windows 10
- Holochain dependency, dependencies updates
- [Workflow] Remove integration workflow
- [Integrity] Write helper to collectively return missing dependencies from must_get calls
- [ENHANCEMENT] Move cached wasms to dedicated folder
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from holochain.