ipfs-rust / ipfs-embed

A small embeddable ipfs implementation
343 stars 47 forks source link

ipns? #115

Open iohzrd opened 1 year ago

iohzrd commented 1 year ago

I looked through the code for the answer before asking, but nothing struck me as "obviously ipns". Is ipns functionality on the roadmap?

dariusc93 commented 1 year ago

I cant speak for the devs but in my opinion, I dont think ipns is high priority right now.

bahner commented 9 months ago

In my view it is :-) It's an integral part in distributed trusted documents. By using IPNS you can create cor DIDs with structured data. Seeing as this is an embedded IPFS implementation it's likely to not have big user databases on top and DID "user accounts" would be of great use. As of now, I have to run 2 IPFS daemons because ipfs-embed has the fantastic notion of aliased pins, but Kubo has IPNS.

It also opens up for the possibilty for "phone home" functionality.

So +1 from me for getting IPNS in there. The issue with IPNS is often "just" the publishing part. The spec isn't that complex IMHO.

PS. I would offer to help, but my Rust skills are virtually 0.

dvc94ch commented 9 months ago

Don't recall the exact details of ipns. But pretty sure like everything PL does it's not worth the paper the spec is printed on. If you want user choosable names for cids that are globally unique you need consensus so some kind blockchain is required. If they're scoped to a peerid, the simplest is just to ask that peer for a list of names and subscribe to updates.

cryptoquick commented 9 months ago

What what I recall, IPNS is a bit of a misnomer, it's still a CID, it's just a multihash of a public key, and that public key can be used to update the IPFS CID that record points to. It's basically a way to introduce mutability by using public keys.

bahner commented 9 months ago

Indeed, but it's also a perfect way to distribute DID's (Distributed Identifiers.) I liked the idea of embedded ipfs with rust, but then I learned the the IPFS backend in Brave Browser does this. I was trying to make it easy for my intended public, and that's just as easy for me.

But. IPNS is a very important part of IPFS. With our you will have to have users chase url's all the time. So it depends what you want of course. You can link from DNS to IPNS, which means you can embed IPFS using rust in a raspberry PI, which collects data and publishes them to an IPNS node, which you can link to from DNS. Then you can give your monitoring devices with embedded rust a way to publish their data for example. It's very neat. But if it just creates new CIDs all the time, there is no way to pick up the data, because you don't know the CID.

I find it a core feature. But Hey! opinions differ :-)

tir. 26. sep. 2023 kl. 16:32 skrev Hunter Beast @.***>:

What what I recall, IPNS is a bit of a misnomer, it's still a CID, it's just a multihash of a public key, and that public key can be used to update the IPFS CID that record points to. It's basically a way to introduce mutability by using public keys.

— Reply to this email directly, view it on GitHub https://github.com/ipfs-rust/ipfs-embed/issues/115#issuecomment-1735669392, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACNLSLYYH6T77Q3FZKWRZM3X4LRQZANCNFSM6AAAAAATXM3VAA . You are receiving this because you commented.Message ID: @.***>

-- Mvh, Lars Bahner