<mib_h37d38>
here I create a deliberately long "file"
<mib_h37d38>
that is split into 2 leaves
<mib_h37d38>
yet neither the cli nor the api can "look" at the leaves
cemerick has joined #ipfs
<rodarmor>
What are the current plans regarding publishing more than one item to IPNS per node?
<rodarmor>
Or is the idea that you can publish an object that links to other objects, so you can establish your own namespace under your own IPNS root?
<rodarmor>
Also, if I publish to IPNS and my node is offline, will that IPNS entry still resolve?
cemerick has quit [Ping timeout: 260 seconds]
<whyrusleeping>
mib_h37d38: the raw leaves aren't objects, you can view them with block get
<mib_h37d38>
whyrusleeping: hm... I see
<mib_h37d38>
so in the case of zdvgq4UNFFSrJdbpdnYeJii5ecQukDxQL2FvLzTX9v8Yf1XFW: that unpacks to
<Kubuxu>
whyrusleeping: we should link all timeouts from one package
<Kubuxu>
whyrusleeping: and scale them of some constant
<Kubuxu>
so if someone wants to deploy "interplanetary" link it is easy to change
maxlath has quit [Remote host closed the connection]
maxlath has joined #ipfs
lindybrits has joined #ipfs
wallacoloo_ has quit [Quit: wallacoloo_]
haileris has quit [Quit: WeeChat 1.0.1]
palkeo has quit [Ping timeout: 260 seconds]
<polezaivsani>
to go peeps out there, what's you stance on keeping g everything nonExported by default and only Exporting when necessary? Y/N/I?
robattila256 has quit [Ping timeout: 250 seconds]
alpinparker has joined #ipfs
maxlath has quit [Remote host closed the connection]
maxlath has joined #ipfs
alpinparker has quit [Client Quit]
s_kunk has joined #ipfs
bastianilso___ has quit [Quit: bastianilso___]
<Kubuxu>
can you elaborate?
bastianilso___ has joined #ipfs
maxlath has quit [Ping timeout: 260 seconds]
bastianilso__ has joined #ipfs
frmendes has joined #ipfs
<polezaivsani>
Kubuxu, if me, then - whenever you create a type/function or constant - would you make it non exported if it's nor part of package's public interface?
<polezaivsani>
s/nor/not
<Kubuxu>
yes
<polezaivsani>
ok, just wanted to confirm
maxlath has joined #ipfs
<Kubuxu>
for example go-vet requires you to have docs for all public methods
<Kubuxu>
we don't follow that, which is quite unfortunate
<Kubuxu>
but it would be quite a hassle to get it fixed
bastianilso___ has quit [Ping timeout: 260 seconds]
akksein has joined #ipfs
<polezaivsani>
i got a bit puzzled having met quite some identifiers exported while seemingly not being part of publice interface
frmendes has quit [Ping timeout: 250 seconds]
<polezaivsani>
will fix some as i go
<akksein>
Hi folks! I have the following scenario: I uploaded some files on machine A (link: /ipfs/Qmbk6Y7s8NN5gsB2pMi1EoeWhLk1cUAwiCUyLyWpJ9JjtZ) . I can access the files via browser https://ipfs.io/ipfs/Qmbk6Y7s8NN5gsB2pMi1EoeWhLk1cUAwiCUyLyWpJ9JjtZ. But on my machine B I dont get an answer from CLI when I do the command : "ipfs ls ipfs/Qmbk6Y7s8NN5gsB2pMi1EoeWhLk1cUAwiCUyLyWpJ9JjtZ"... Does anybody know what the problem is here? Or why I dont
<akksein>
Ive run the "ipfs daemon" on machine B of course and I get a LOT of peers when I try "ipfs swarm peers"
<DokterBob>
Elasticsearch, Apache’s Tika, Rabbitmq and a tiny search daemon
<DokterBob>
I am wondering if you’d appreciate if I join the ‘apps on IPFS’ call tonight
gorhgorh_ is now known as gorhgorh
<Kubuxu>
that would be awesome
bastianilso__ has joined #ipfs
maxlath has joined #ipfs
rendar has joined #ipfs
chriscool has joined #ipfs
lindybrits has quit [Quit: Page closed]
lkcl has joined #ipfs
DokterBob has quit [Ping timeout: 244 seconds]
haileris has joined #ipfs
haileris has quit [Client Quit]
domanic has joined #ipfs
<daviddias>
Aye everyone! :)
<daviddias>
dignifiedquire: checking js-ipfs-api CI
<daviddias>
just the run with Sauce Labs fails?
<dignifiedquire>
yeah
<dignifiedquire>
and I think I know why
<dignifiedquire>
no nevermind
<dignifiedquire>
sauce labs no like js-ipfs-api
lkcl has quit [Ping timeout: 260 seconds]
DokterBob has joined #ipfs
kenshyx has joined #ipfs
<victorbjelkholm>
dignifiedquire, no CI likes js-ipfs-api :p Had some troubles getting it to run on BuildKite last time but worked out in the end... What's not working? Any output to look at?
d10r has joined #ipfs
maxlath has quit [Remote host closed the connection]
maxlath has joined #ipfs
<dignifiedquire>
victorbjelkholm: logs are on travis
<victorbjelkholm>
ah, "The command "npm run test" exited with 1." but no actual error in the output. Sweet
<victorbjelkholm>
all tests are passing
arpu has quit [Ping timeout: 250 seconds]
dominic_ has joined #ipfs
domanic has quit [Ping timeout: 250 seconds]
dignifiedquire has quit [Ping timeout: 250 seconds]
domanic has joined #ipfs
Akaibu has quit [Ping timeout: 260 seconds]
dominic_ has quit [Read error: Connection reset by peer]
Akaibu has joined #ipfs
dignifiedquire has joined #ipfs
arpu has joined #ipfs
<DokterBob>
Kubuxu: cool
<DokterBob>
I’ll try to launch the search api in the meanwhile
<victorbjelkholm>
DokterBob, sounds awesome, is it online somewhere or only locally right now? Would be nice to have a demo of it in the call
<DokterBob>
I only need to install the Node.js ES frontend
<dignifiedquire>
daviddias: js-ipfs-bitswap is ready
<ulrichard>
how does the pin bot work? Do I have to register first?
<victorbjelkholm>
ulrichard, you're not gonna able to pin stuff without being friends with pinbot :/
<victorbjelkholm>
yeah, think whyrusleeping is the only one with keys to pinbot
<ulrichard>
How far out is filecoin?
shizy has joined #ipfs
<dignifiedquire>
daviddias: need to fix this, not sure where to open an issue though, interface-ipfs-core, js-ipfs or js-ips-api: https://github.com/ipfs/go-ipfs/pull/3352
<daviddias>
"fix" as in, upgrade to the latest go-ipfs
<daviddias>
it will have to remain in a PR, till go-ipfs is released though
hottuna has quit [Remote host closed the connection]
<victorbjelkholm>
Kubuxu, you seem to have forgot to mute your mic ;)
<Kubuxu>
just did that
herzmeister has quit [Quit: Leaving]
<Kubuxu>
I use mute on the headphones itslef
<Kubuxu>
but it doesn't have clear indicator
<Kubuxu>
:(
herzmeister has joined #ipfs
azdle has joined #ipfs
<dignifiedquire>
Mateon1: but we can't see your face ;)
<Mateon1>
If I ever have anything to say I'll just say it here
<Mateon1>
Also, I don't have a webcam or microphone at all, sorry
<dignifiedquire>
Mateon1: no worries :)
<victorbjelkholm>
flyingzumwalt, I'm pretty sure the concept of a pinning service is written down in multiple places, pincoop/openipfs which I worked on for a while is one of them, which includes a description I'm sure
<dignifiedquire>
I am happy to see everyone (with or without camera)
<jbenet>
diasdavid: https://github.com/multiformats/multicodec/pull/19 -- can you CR + Merge this PR? -- it was blocked on me (sorry) but you're the one proposing/merging/controling the multicodec table
<daviddias>
you bet, giving it a good review again, will complete the final codes and make it as ready for merge as it can be for any last minute review, if needed.
<jbenet>
sounds good lmk if you need me to look at / confirm anything
<jbenet>
i'll be around here for several hours
<jbenet>
(/ tomorrow)
soloojos has quit [Ping timeout: 245 seconds]
chax has joined #ipfs
chax has quit [Remote host closed the connection]
chax has joined #ipfs
bastianilso__ has joined #ipfs
bastianilso__ has quit [Client Quit]
bastianilso__ has joined #ipfs
chax has quit [Remote host closed the connection]
chax has joined #ipfs
rendar has quit [Quit: std::lower_bound + std::less_equal *works* with a vector without duplicates!]
bastianilso__ has quit [Read error: Connection reset by peer]
bastianilso__ has joined #ipfs
bastianilso__ has quit [Client Quit]
chax has quit [Remote host closed the connection]
lothar_m has quit [Quit: WeeChat 1.7-dev]
maxlath has quit [Ping timeout: 246 seconds]
soloojos has joined #ipfs
rgrinberg has quit [Ping timeout: 244 seconds]
chax has joined #ipfs
chax has quit [Ping timeout: 268 seconds]
chax has joined #ipfs
chax has quit [Remote host closed the connection]
chax has joined #ipfs
anonymus_ has quit [Read error: Connection reset by peer]
PseudoNoob has quit [Remote host closed the connection]
wallacoloo_ has quit [Quit: wallacoloo_]
comino has joined #ipfs
cemerick has quit [Ping timeout: 250 seconds]
maxlath has quit [Quit: maxlath]
<zbyte64>
anyone here work on orbit-db? Have en electron app https://github.com/zbyte64/electron-react-boilerplate and it manipulates state but when I restart the app the state does not persist. Do I have to keep track of the last hash and tell it to sync on startup?
jasonkraus has joined #ipfs
jasonkraus is now known as zbyte64_
zbyte64 has quit [Read error: Connection reset by peer]
zbyte64 has joined #ipfs
mildred has quit [Ping timeout: 258 seconds]
gmcquillan has quit [Quit: gmcquillan]
anonymuse has quit [Remote host closed the connection]
zbyte64_ has quit [Ping timeout: 244 seconds]
anonymuse has joined #ipfs
DokterBob has joined #ipfs
anonymuse has quit [Ping timeout: 252 seconds]
DokterBob has quit [Client Quit]
chax has quit [Remote host closed the connection]
chax has joined #ipfs
ashark has joined #ipfs
chax has quit [Ping timeout: 246 seconds]
<rodarmor>
I
<rodarmor>
I've been reading and trying to understand IPLD, and I think I sort of understand what it is, however I'm not sure I understand why it's necessary.
<rodarmor>
What is the advantage of IPLD being something that's part of IPFS, and not leave it up to applications to do it?
<rodarmor>
It seems like the basic "binary blob + outgoing links" is enough to let someone else write something like IPLD on top of IPFS.
dbri has joined #ipfs
dbri1 has quit [Read error: Connection reset by peer]
Pent2 has joined #ipfs
ashark has quit [Ping timeout: 265 seconds]
Pent has quit [Ping timeout: 268 seconds]
Akaibu has joined #ipfs
dbri2 has joined #ipfs
dbri has quit [Read error: Connection reset by peer]
Kozuch has joined #ipfs
<zbyte64>
rodarmor: I'm curious about this as well.
chax has joined #ipfs
dmr has quit [Quit: Leaving]
<lgierth>
you're free to use whatever data format you want, if you're willing to sacrifice the files and object apis, and work with the blocks api instead
<lgierth>
ipld is just one of the formats
herzmeister has quit [Quit: Leaving]
herzmeister has joined #ipfs
_Inf_ has quit [Quit: Leaving]
<rodarmor>
lgierth: But why is IPLD part of IPFS? Couldn't it just be a layer on top of it?
<A124>
IPFS itself is built from many blocks.
<rodarmor>
A124: Of course, but should IPFS be content neutral? Just like HTTP doesn't understand HTML or JSON, it's just a transport mechanism.
<lgierth>
it is content neutral
<lgierth>
IPLD is just something that ships with it, because it's so useful
<flyingzumwalt>
doesn't ipfs also use ipld to represent things like directory structures?
<lgierth>
flyingzumwalt: it doesn't yet, the directories/files data structure is still protobuf on merkledag
<lgierth>
we're undecided if that particular bit is ever gonna use ipld
<flyingzumwalt>
interesting.
<lgierth>
i think
<lgierth>
i might very well be wrong :) it's called unixfs and i don't think making it ipld-based isn't a concrete milestone anywhere
<lgierth>
i haven't paid too close attention to all the ipld discussion
<jbenet>
lgierth flyingzumwalt: the goal WAS to transition unixfs to ipld. but now with CID, protobuf IS CID, so unixfs becomes valid ipld.
A124 has quit [Ping timeout: 252 seconds]
<jbenet>
(idk if that makes sense or confuses more -- the gist is: unixfs does layer over iplfs)
<jbenet>
ipld*
<jbenet>
"iplfs". that's a mouthful.
<lgierth>
it's not ipld in the strict sense, but ipld in the ipld-can-address-and-link-to-anything sense
<lgierth>
(thanks to CID)
A124 has joined #ipfs
<flyingzumwalt>
tying that into answering rodarmor's initial question -- ipld gives us a basic format for expressing anything, which is necessary in order to really make the most of ipfs. It's primarily a format for _users_ to encode their own data that they are writing onto ipfs, but it's also useful internally.
<lgierth>
jbenet: performance update: in the past 18 hours i've added 3 TB to ipfs on nihal :)
<jbenet>
lgierth: mmm. we should align the terminology. this brings up interesting documentation needs. from discussions with daviddias and whyrusleeping, the protobuf merkledag will be a "serialization format" of IPLD. (i.e. IPLD does not have to be CBOR)
<jbenet>
lgierth: :( that's so slow. i mean it's faster, but it's still slow. or is it the disk on nihal?
<lgierth>
not sure -- it's started pretty fast and declined gradually
<lgierth>
i'm happy it's not gonna crash
<lgierth>
that's a huge improvement
<jbenet>
i guess it's 46MBps so "not bad"
<lgierth>
about IPLD, i'm thinking it'll be super confusing to see a canonical ipld example in json with embedded links, and then be told that X is IPLD too
<rodarmor>
I think I'm still confused >_<
<lgierth>
X can be pulled into IPLD is clearer, or something like that
<rodarmor>
I think maybe the thing was confused me was that CIDv1 supports different codecs and formats, and I was conflating that with IPLD support.
<lgierth>
but it's also likely that it's been covered somewhere, i didn't pay super close attention
espadrine has joined #ipfs
<rodarmor>
Is CIDv1 separate from IPLD?
<lgierth>
yes
<lgierth>
CID is just a way of addressing something
<lgierth>
while also carrying information what kind of thing you're addressing
<rodarmor>
lgierth: Things are getting clearer...
<rodarmor>
lgierth: Will the IPFS software have native support for working with IPLD? For example, starting with an root node in IPLD and then pinning everything it points to?
<lgierth>
so the thing that links does have knowledge about whether it's linking old unixfs, or a git commit, or an ipld node, or some ethereum object
<jbenet>
lgierth: how about this type of thing "if it's data that is hash-linked and you have a way to look into it and resolve through it with the standard resolver, it's IPLD"
<lgierth>
rodarmor: yes definitely re: tooling
<lgierth>
jbenet: yeah that sounds good -- human-readable version of the interface spec, hah
<jbenet>
this means that, once you implement {json, cbor, protobuf, ...} support for "tree" and "resolve" (the two operations you need), that format can be used to resolve through.
anonymuse has joined #ipfs
<lgierth>
yep +1 that's very useful to emphasize hard
<rodarmor>
jbenet: Where will the implementations of tree and resolve come from? Will I need to add them to the ipfs command as some kind of plugin?
<jbenet>
i dont want to push into "meta format land" because that's where abstraction astronomy loses us all. so "format" may not be the best way to describe ipld. it may be "standard" or "collection of formats" or something instead.
<jbenet>
rodarmor: ipfs will ship with a bunch, and we are currently exploring how to extend.
<jbenet>
rodarmor: there should be a way to do it "permissionless", but while also not fragmenting data.
<lgierth>
an object could link to code to support the format of the things it's linking
<jbenet>
^^^ that.
<jbenet>
but we need security and ability to lock formats down.
<jbenet>
(for those who want)
<A124>
rodarmor Why did you not ask why protobuf is part of IPFS?
<A124>
That is closer to your example of html and json
<rodarmor>
A124: Because it seems like protobuf is the minimal thing that makes it work, a list of links and a binary blob.
<rodarmor>
A124: If I want to pin some dataset without something like that, I need to do a ton of extra work.
<rodarmor>
A124: Like, have a program which requests the first object, parses it, pins all objects pointed to in outgoing links, etc, until I have it all.
<rodarmor>
A124: With protobuf, I can just ask my node to pin the root and it can take care of the rest.
sketchstick has quit [Remote host closed the connection]
<lgierth>
the program which requests, parses, etc. would be the ipld plugin which implements tree() and resolve()
<A124>
rodarmor Why not msgpack
<rodarmor>
A124: The choice of format is arbitrary. The functionality doesn't seem arbitrary though.
hoboprimate has quit [Quit: hoboprimate]
<A124>
Buy you did talk about specific protocols
<A124>
Now you say it's arbitrary.
<lgierth>
A124: chill
<lgierth>
we're all just trying to figure things out
<rodarmor>
The idea that IPFS should have some native format for storing a blob of data plus outgoing links seems fine to me. Protobuf seems like a valid choice. Msgpack would also be a valid choice. The format doesn't seem super important.
<rodarmor>
Not at all saying that IPLD isn't useful, it seems super useful, but the additional functionality that IPLD provides over blob + links seems like something that will be hard to get right, or that we might not fully understand the requirements for it, so it seems like something that should be left to the application layer.
<rodarmor>
I suspect that there might be things, though, that IPLD would allow that I'm not seeing, since I'm just getting up to speed now with how everything is put together.
<lgierth>
"we might not fully understand the requirements" -- hah exactly, good thinking. we're very careful to have everything swappable, so when we find something is bogus, we can juts switch to the better alternative
<lgierth>
that's what CID is all about
<lgierth>
it gives us a means of distinguishing what we're getting
<lgierth>
the protobuf => ipld switch is one instance of "we found something better"
<lgierth>
eeh merkledag+protobuf => ipld+cbor
<lgierth>
"protocol agility" is also the motivation for all of the multiformats
<rodarmor>
lgierth: Let's say hypothetically that there was no IPLD, just the old merkledag + protobuf.
<rodarmor>
lgierth: Couldn't you implement the same functionality using plugins that performed resolve() and tree() on the binary blobs?
<lgierth>
then we couldn't easily tap into the vast world of linked data that already exists
<lgierth>
and all the tooling around it
<lgierth>
sure
<lgierth>
but then you need a protocol around these plugins
<lgierth>
ion: technically yes -- we haven't ever used any other multihash encoding yet though, so it's safe to check only for "Qm"
<lgierth>
gotta run to the train
<rodarmor>
lgierth: Hmmm, kind of makes sense to me. Just to talk about a concrete example, let's say you want to store the bitcoin blockchain in IPFS. You could use the old protobuf format to store the block as the data blob and put the hash of the next block in the outgoing links.
<rodarmor>
lgierth: What would the advantage of IPLD be here?