aschmahmann changed the topic of #ipfs to: Heads Up: To talk, you need to register your nick! Announcements: go-ipfs 0.7.0 and js-ipfs 0.52.3 are out! Get them from dist.ipfs.io and npm respectively! | Also: #libp2p #ipfs-cluster #filecoin #ipfs-dev | IPFS: https://github.com/ipfs/ipfs | Logs: https://view.matrix.org/room/!yhqiEdqNjyPbxtUjzm:matrix.org/ | Forums: https://discuss.ipfs.io | Code of Conduct: https://git.io/vVBS0
lawid has quit [Read error: Connection reset by peer]
lawid has joined #ipfs
ch1pp3w4 has joined #ipfs
lawid has quit [Quit: lawid]
lawid has joined #ipfs
<fiveseven[m]>
is there a better workflow for updating a dataset that's on ipns besides: `ipfs add <file>` -> `ipfs files cp <file> <path>` -> `ipfs name publish <path CID>` ? this is getting quite tedious and the publish takes quite a while every time.
<fiveseven[m]>
* is there a better workflow for updating a dataset that's on ipns besides: `ipfs add <file>` -> `ipfs files cp <file> <path>` -> `ipfs name publish <path parent folder CID>` ? this is getting quite tedious and the publish takes quite a while every time.
Newami has joined #ipfs
Newami has quit [Remote host closed the connection]
jrt has quit [Killed (beckett.freenode.net (Nickname regained by services))]
jrt has joined #ipfs
arcatech has quit [Quit: Be back later.]
drathir_tor has quit [Ping timeout: 268 seconds]
jcea has quit [Ping timeout: 240 seconds]
drathir_tor has joined #ipfs
cubemonkey has quit [Ping timeout: 240 seconds]
chachasmooth has quit [Ping timeout: 272 seconds]
chachasmooth has joined #ipfs
D_ has quit [Ping timeout: 264 seconds]
bcows has joined #ipfs
dqx_ has quit [Ping timeout: 264 seconds]
bcow has quit [Ping timeout: 260 seconds]
Nact has quit [Quit: Konversation terminated!]
_whitelogger has joined #ipfs
RingtailedFox has quit [Read error: Connection reset by peer]
RingtailedFox has joined #ipfs
bqv has quit [Ping timeout: 264 seconds]
bqv has joined #ipfs
MDude has quit [Quit: Going offline, see ya! (www.adiirc.com)]
rrrap has joined #ipfs
<rrrap>
hi everyone, quick question, i am using the JS api, and I want to sign a DAG node with my private key, how can i do that?
<rrrap>
i've scoured through the docs, and i'm worried that it might not be possible
<vaultec81[m]1>
<rrrap "hi everyone, quick question, i a"> IPFS doesn't have signing functionality for data. You can however sign a IPNS record and essentially prove the public key is pointing to a certain CID
hqdruxn08_ has quit [Read error: Connection reset by peer]
hqdruxn08_ has joined #ipfs
justanotherdude has joined #ipfs
RingtailedFox has quit [Read error: Connection reset by peer]
GvP has quit [Read error: Connection reset by peer]
GvP has joined #ipfs
RingtailedFox has joined #ipfs
justanotherdude has quit [Quit: RAGEQUIT]
mindCrime_ is now known as mindCrime
justanotherdude has joined #ipfs
bqv has quit [Ping timeout: 272 seconds]
}ls{ has joined #ipfs
Caterpillar has joined #ipfs
teashophouse[m] has joined #ipfs
<vaultec81[m]1>
<rrrap "Second thought... (pardon me thi"> You can technically use the key system as identities, or use peerIds are identities
<vaultec81[m]1>
There is also orbitdb which operates ontop of IPFS which I am actually looking into using for a production user application
<vaultec81[m]1>
If you've asking about identification of nodes than the PeerId does more enough to handle that particular aspect
RingtailedFox has quit [Read error: Connection reset by peer]
RingtailedFox has joined #ipfs
<vaultec81[m]1>
Really, user identity and content distribution are two separate things. IPFS is meant for distributing data sets, not an account system per say.
<vaultec81[m]1>
<rrrap "that works for 'short term' sign"> I was doing some research into signing IPLD objects awhile back. It is actually possible to sign an IPLD object and keep a very similar structure to the original copy. One mechanism to do this is take the original CID, then add it to IPFS, then create another IPLD which references the CID and packs a signature around it. This retains the original copy while also creating a signed
<vaultec81[m]1>
verifiable copy. IMO it's a great way to do this and aligns with the spirit of IPLD.
<vaultec81[m]1>
> <@freenode_rrrap:matrix.org> Second thought... (pardon me thinking out loud)... i think i need to write my own IPNS-like app ontop of IPFS
<vaultec81[m]1>
* You can technically use the key system as identities, or use peerIds are identities. It's possible to export the PeerId priv/pub key, and the other IPNS keys stored in the datastore.
daMaestro has quit [Quit: Leaving]
euod[m] has left #ipfs ["User left"]
wuji[m] has joined #ipfs
ennuikend[m] has joined #ipfs
tryte has quit [Ping timeout: 268 seconds]
tryte has joined #ipfs
lknkm[m] has joined #ipfs
dlc-devel[m] has joined #ipfs
dlc-devel[m] has left #ipfs ["User left"]
dlc-devel[m] has joined #ipfs
kfoxxy2[m] has joined #ipfs
b1nch0[m] has quit [Quit: Idle for 30+ days]
LPS[m] has joined #ipfs
eponymous[m] has joined #ipfs
Telmeh has joined #ipfs
Ringtailed-Fox has joined #ipfs
RingtailedFox has quit [Read error: Connection reset by peer]
wallacer has quit [Remote host closed the connection]
wallacer has joined #ipfs
bqv has joined #ipfs
bcows has quit [Ping timeout: 260 seconds]
yazou[m] has joined #ipfs
alexul[m] has joined #ipfs
Ringtailed-Fox has quit [Read error: Connection reset by peer]
<srid>
> Most decentralized platforms (mastodon, **IPFS**, XMPP, Matrix...) have mechanisms to block and defederate unwanted accounts/contents/servers: https://news.ycombinator.com/item?id=25968563
<srid>
How exactly does this "block and defederate" work in IPFS?
<swedneck>
just don't request data you don't like
<swedneck>
the same way it works in torrent, don't start a torrent you don't want
<srid>
I'm considering if that person who wrote that comment is accurate or wrong, in regards to IPFS.
<srid>
* I'm wondering if that person who wrote that comment is accurate or wrong, in regards to IPFS.
<srid>
Like, if I my peer as `cat.jpg` pinned, do other peers have the *capability* block my peer because they don't like cats?
<srid>
* Like, if I my peer has `cat.jpg` pinned, do other peers have the _capability_ block my peer because they (on behalf of some people) don't like cats?
<srid>
* Like, if I my peer has `cat.jpg` pinned, do other peers have the _capability_ to block my peer entirely because they (on behalf of some people) don't like cats?
<swedneck>
<srid "Like, if I my peer as `cat.jpg` "> yes, but why would they?
<srid>
"block" has two-way communication is blocked
<swedneck>
<srid ""block" has two-way communicatio"> again, what would be the benefit of blocking a node?
<srid>
<nimaje "well, there is https://github.co"> This is denying individual CIDs, rather than whole peers, right?
<nimaje>
why two-way? why should the blocked peer need to know that someone has blocked them
<srid>
<swedneck "again, what would be the benefit"> If you rely on a IPFS gateway that hates cats, you can't access `cat.jpg`. You'll be forced to find a gateway that doesn't hate cats.
<fehmitn[m]>
can i create a chat app in ipfs by creating a text file between 2 users when the 2 user can write on the same file when they 'chat'
<swedneck>
<srid "If you rely on a IPFS gateway th"> what does that have to do with blocking *nodes*?
<srid>
(Bear with me folks, I'm not 100% knowledgeable of how IPFS works under hood; just wondering from a social/censorship perspective)
<srid>
* "block" as in, two-way communication is blocked
<srid>
jan Swedneck: If the gateway host (say cloudflare-ipfs) decided to block $peer that hosts `cat.jpg`, because cloudflare hates cats, then users who happens to use cloudflare-ipfs will be blocked from access cat.jpg ... unless they know to try other gateways that do not have it in their denylist, correct?
<swedneck>
<fehmitn[m] "can i create a chat app in ipfs"> no, however you could use pubsub
<srid>
* jan Swedneck: If the gateway host (say cloudflare-ipfs) decided to block $peer that hosts `cat.jpg`, because cloudflare hates cats, then users who happen to use cloudflare-ipfs will be blocked from accessing cat.jpg ... unless they know to try other gateways that do not have it in their denylist, correct?
<swedneck>
<srid "jan Swedneck: If the gateway hos"> anyone can host the file, blocking a single peer is next to pointless
<fehmitn[m]>
i suppose the problem of pubsub is that if you are not conected you miss what was saiyed in past
<srid>
If all of sudden the American government passes a rule that all IPFS peers must block a given list of peers, that would still be pointless? Because users can connect to non-American peers to access the content?
<srid>
* An extreme picture might be helpful. If all of sudden the American government passes a rule that all IPFS peers must block a given list of peers, that would still be pointless? Because users can connect to non-American peers to access the content?
<vaultec81[m]1>
<srid "If all of sudden the American go"> That would assume everyone would comply to enforce the rule in the first place.
<vaultec81[m]1>
Easy for those said peers to rotate and change their peerids
<fehmitn[m]>
i suppose internet provider could block ipfs protocols
<swedneck>
<fehmitn[m] "i suppose the problem of pubsub "> yep, if you want to make a chat app on ipfs i'd suggest looking at how existing ones do it, like orbitchat
<fehmitn[m]>
but they didint do it for torrent
<srid>
Alright, so the Hacker News fellow who wrote "Most decentralized platforms (mastodon, IPFS, XMPP, Matrix...) have mechanisms to block and defederate unwanted accounts/contents/servers:" is wrong in regards to IPFS.
<vaultec81[m]1>
<fehmitn[m] "i suppose internet provider coul"> Also IPFS supports multiple transport and encryptions protocols, so this might be more difficult than it may seem.
<swedneck>
<srid "Alright, so the Hacker News fell"> pretty much yes, it makes no sense to include ipfs there to begin with
<swedneck>
many people have a strange idea that ipfs is a platform, not just a content distribution protocol
<srid>
I don't know how to peer discovery works. I guess even if a bunch of actors decided to utilize a peers.denylist file, one would still be able to transitively discover them via other generous peers (without a denylist)
<fehmitn[m]>
ipfs is just bittorent withour traker
<srid>
* I don't know how peer discovery works. I guess even if a bunch of actors decided to utilize a peers.denylist file, one would still be able to transitively discover them via other generous peers (without a denylist)
<srid>
* I don't know how peer discovery works. I guess even if a bunch of actors decided to utilize a peers.denylist file, one would still be able to transitively discover them via other generous peers (that don't have a peer denylist)
<vaultec81[m]1>
<srid "I don't know how to peer discove"> Also keep in mind that denylist.conf that was sent above was for content CIDs not peerIds
<swedneck>
<srid "I don't know how to peer discove"> basically when starting a node it connects to a list of bootstrap peers and asks them for a list of their peers, and then you continue asking nodes for more and more peers until satisfied
<fehmitn[m]>
can an iot device like esp32 acces to the ipfs network
<swedneck>
you can also manually connect to peers
<srid>
How is the list bootstrap peers decided?
<srid>
* How is the list of bootstrap peers decided?
<swedneck>
<srid "How is the list bootstrap peers "> the default is just a bunch of peers hosted by the ipfs team, but you can modify it however you want without any effort
<swedneck>
it's literally a plaintext list in the config file
<srid>
Gotcha.
<srid>
Of course, peer to peer .. only way to block is at the network/ISP level. Cool.
<swedneck>
oh also you can automatically discover peers on the local network using mdns
<swedneck>
and another important detail is that nodes can forward data, or are supposed to be able to at least
<swedneck>
not certain how well that functions currently
<srid>
"forward"?
<vaultec81[m]1>
Essentially proxy
<vaultec81[m]1>
Act as a relay between two different nodes
<srid>
By the way, when a node asks the peers it knows for the content of a CID - does it fetch from one peer? Or does it fetch the data in parallel (in blocks) from multiple peers that has that CID?
<swedneck>
yes
<swedneck>
urp that wasn't an answer to that last question
lavaplanet[m] has left #ipfs ["User left"]
<srid>
If I'm fetching 1GB video file, it would be faster to fetch it in parallel from multiple peers (each of which might have limited bandwidth)
<swedneck>
pretty sure this is the relevant protocol for exchanging data
<vaultec81[m]1>
A marketplace for blocks of data!
bqv has quit [Ping timeout: 272 seconds]
<swedneck>
ok so yeah it seems you will get data from multiple peers
<srid>
Interesting
<swedneck>
* ok so yeah it seems you will get data from multiple peers at once
<srid>
Is there a way to see these peer communication activity? A version of `ipfs get` that prints the activity in verbose detail
<srid>
`ipfs stats bitswap` gives overall stats, but I'd like to know, for example, how many blocks were fetched from how many peers, when retrieving a CID from IPFS
<swedneck>
probably by using `ipfs log` somehow?
<swedneck>
looking at it rn
arcatech has joined #ipfs
fjkhhj has joined #ipfs
justanotherdude has quit [Quit: RAGEQUIT]
justanotherdude has joined #ipfs
mindCrime has joined #ipfs
arcatech has quit [Quit: Be back later.]
fjkhhj has quit [Remote host closed the connection]
<srid>
Is there a way to pin a folder recursively in the webui? Currently, I have to manually pin each file in it.
<swedneck>
can't you just click the pin button on the folder?
<srid>
I did, a few a days. But when I checked today - while the folder is pinned, the files inside it are not. Maybe it is a UI bug.
<srid>
* I did, a few days ago. But when I checked today - while the folder is pinned, the files inside it are not. Maybe it is a UI bug.
<swedneck>
sounds like a UI bug, i'd suggest opening an issue on github
<srid>
Is there a command line equivalent to pin/unpin?
<swedneck>
enable the commandline tutorial mode in the webui :P
themsay[m] has joined #ipfs
artful_dodger[m] has joined #ipfs
dirkmc has quit [Ping timeout: 268 seconds]
dignifiedquire has quit [Read error: Connection reset by peer]
dirkmc has joined #ipfs
dignifiedquire has joined #ipfs
peleset[m] has joined #ipfs
<srid>
Ya, just a webui bug. on CLI, these CIDs are marked as `indirect`
arcatech has joined #ipfs
jokoon has joined #ipfs
arcatech has quit [Client Quit]
tled has joined #ipfs
LEGITtimeTRAVELE has joined #ipfs
mrqweep[m] has joined #ipfs
Encrypt has joined #ipfs
andyjsbell[m] has joined #ipfs
Jad has quit [Quit: Benefits I derive from freedom are largely the result of the uses of freedom by others, and mostly of those uses of freedom that I could never avail myself of.]
reero[m] has joined #ipfs
tr00evol has joined #ipfs
tr00evol has quit [Client Quit]
mindCrime has quit [Ping timeout: 264 seconds]
mindCrime has joined #ipfs
mfi_ has quit [Quit: Leaving]
arcatech has joined #ipfs
mikitte[m] has joined #ipfs
burritos[m] has joined #ipfs
celsoazevedo[m] has left #ipfs ["User left"]
acexace[m] has joined #ipfs
mooe[m] has joined #ipfs
yassinecc[m] has joined #ipfs
jokoon has quit [Quit: Leaving]
koo5 has joined #ipfs
MDude has quit [Read error: Connection reset by peer]
mooe[m] has left #ipfs ["User left"]
Acacia has quit [Ping timeout: 258 seconds]
Acacia has joined #ipfs
mindCrime has quit [Ping timeout: 264 seconds]
oebhne has joined #ipfs
bqv has joined #ipfs
bcows has quit [Quit: Leaving]
<fiveseven[m]>
I've seen that before as well
<fiveseven[m]>
sometimes they show pinned and other times not
<fiveseven[m]>
really wish there was a way to grab content by its full checksum alone, that would be a game-changer
<fiveseven[m]>
* really wish there was a way to grab content by its full file checksum alone, that would be a game-changer
<fiveseven[m]>
and by 'content-addressable' I always thought that's what was meant... wish it was though
<fiveseven[m]>
like I'm not interested in someone else's metadata or how they chunk up the file
<fiveseven[m]>
all I care about is the data file as a whole
<fiveseven[m]>
and getting that however possible
<fiveseven[m]>
without having to know who has it first or what their hash of it is
LEGITtimeTRAVELE has quit [Quit: Connection closed for inactivity]
MDude has joined #ipfs
jakarjakar[m] has left #ipfs ["User left"]
JrmeCarretero[m] has joined #ipfs
koo5 has quit [Ping timeout: 265 seconds]
dqx_ has quit [Read error: Connection reset by peer]
justanotherdude has quit [Quit: RAGEQUIT]
siddh88[m] has joined #ipfs
}ls{ has quit [Quit: real life interrupt]
Green_Bird has joined #ipfs
sav__ has joined #ipfs
Newami has joined #ipfs
Encrypt has quit [Quit: Quit]
deltab has quit [Ping timeout: 264 seconds]
sav__ has quit [Ping timeout: 240 seconds]
deltab has joined #ipfs
<imthatsteve[m]>
I always thought it worked that way too, with one address for the data itself no matter where on the network it was stored or what path it took to you.
<swedneck>
that is how it works
<swedneck>
however the data is different depending on how it's chunked/hashed, which is necessary for basically everything to work