lgierth changed the topic of #ipfs to: go-ipfs 0.4.13 is out! Please try out: https://dist.ipfs.io/go-ipfs/v0.4.13 | Also: #libp2p #filecoin #ipfs-dev | IPFS, the InterPlanetary FileSystem: https://github.com/ipfs/ipfs | Logs: https://botbot.me/freenode/ipfs/ | Forums: https://discuss.ipfs.io | Code of Conduct: https://git.io/vVBS0
<TyrfingMjolnir> 70 contributors
<TyrfingMjolnir> "seeders"
shizy has quit [Ping timeout: 256 seconds]
<TyrfingMjolnir> and 1500 peers
igorline has quit [Ping timeout: 256 seconds]
<TyrfingMjolnir> BLuetooth may be complicated to manage, no?
<infinisil> i don't think ipfs is the right tool for that
<infinisil> well at least on ios
<TyrfingMjolnir> I would choose resilio or syncthing over bt
vsimon has quit [Read error: Connection reset by peer]
vsimon has joined #ipfs
<TyrfingMjolnir> If I use js on the iOS it will be a better fit?
<MikeFair> Doesn't aaple have a native "Airplay" thing for this?
<TyrfingMjolnir> How will airplay work with off site observers?
<MikeFair> TyrfingMjolnir, First item; I'm not sure what ipfs on mobile support is like
<MikeFair> TyrfingMjolnir, You didn't mention off-site observers ;)
<TyrfingMjolnir> I'm looking for examples
<TyrfingMjolnir> Will do angular, ios and ndk version
<MikeFair> TyrfingMjolnir, I think ipfs is a good fit, but like I said, I'm not sure what the state is on running it on an iPhone
<MikeFair> Actually, like infinisil said, I don't thing ipfs is likely a fit for this
vsimon has quit [Read error: Connection reset by peer]
bomb-on has quit [Quit: zzz]
vsimon has joined #ipfs
<MikeFair> ipfs is good when the computers can talk to each other directly
<TyrfingMjolnir> ok
<TyrfingMjolnir> So what is a good example?
<MikeFair> The environment you described dosen't sound much like the phones talking to each other directly
<TyrfingMjolnir> Same subnet
<MikeFair> TyrfingMjolnir, same network
<TyrfingMjolnir> the majority
<MikeFair> TyrfingMjolnir, not necessarily subnet; and not even same network, just an interconnected one
<TyrfingMjolnir> Good code samples please
<MikeFair> In this case, I don't see the phones directly connecting to each other
<TyrfingMjolnir> JS for example
<TyrfingMjolnir> I do
<infinisil> TyrfingMjolnir: Um, is your question about ipfs?
<TyrfingMjolnir> yes
<infinisil> because we just told you that ipfs doesn't work on ios (yet at least)
<MikeFair> infinisil, He's attempting to build a file sharing app using ipfs on mobile and web
<TyrfingMjolnir> I'll do it on the computer first just to try the technology
<infinisil> TyrfingMjolnir: have you looked at the ipfs docs?
<TyrfingMjolnir> I'll do html5 and nodejs first
droman has quit [Quit: WeeChat 2.0.1]
<TyrfingMjolnir> I got this far: http://termbin.com/6od7
<infinisil> just wanted to link to the same thing
<MikeFair> Go through the "Tutorials" section
<infinisil> TyrfingMjolnir: I don't see your problem, there's tons of tutorials there, just follow them
<MikeFair> infinisil, I think he just didn't have that link yet
<infinisil> MikeFair: (he just said he's at that link)
<MikeFair> (after I posted it)
* MikeFair shrugs.
<infinisil> (hmm i thought he posted it at the same time, not seeing your message, *shrug*)
<MikeFair> TyrfingMjolnir, Does that page get you what you're looking for, save that there will be no iOS support out of it?
<TyrfingMjolnir> I expect there to be some sort of CDN-like URL
<MikeFair> TyrfingMjolnir, Once you upload content, it gives it to you
<TyrfingMjolnir> However with uuid or similar
<TyrfingMjolnir> Ah
<TyrfingMjolnir> Thanks
vmx has joined #ipfs
<MikeFair> TyrfingMjolnir, If you'd like to test it, you should be able to use: https://ipfs.io/ipfs/CID
<MikeFair> where CID = the thing you get back as a response to adding data
<infinisil> which starts with Qm, also known as hash
chriscool1 has quit [Quit: Leaving.]
<MikeFair> CID also means "Content IDentifier"
<TyrfingMjolnir> So it's similar to Joyent Manta; yet spread out?
<MikeFair> If that means "I add data, I get a code, I can use that code to ask for the data back" then yes. :)
<TyrfingMjolnir> Perfect
<MikeFair> TyrfingMjolnir, One thing to keep in mind is that every time you add data, the code changes (the code is unique to the data being added)
<infinisil> But you need to keep your node alive if you want to be sure the data can be requested back later, there is no "server" to upload the data to
<MikeFair> And the last few tutorial examples seem to show you how to do that
* MikeFair nods in agreement with infinisil.
<TyrfingMjolnir> last few?
<MikeFair> TyrfingMjolnir, Well you were talking about "collaborating"
<MikeFair> Tutorial: How to build an application with IPFS PubSub Room
<MikeFair> Tutorial: How to build an Collaborative Editing Application with IPFS using CRDT
<TyrfingMjolnir> But when I submit a string
<TyrfingMjolnir> To a node
<TyrfingMjolnir> I would then let that node write to more nodes, such as my server
<infinisil> yeah, as long as somebody keeps the CID alive, the data will be available
<TyrfingMjolnir> So I can keep 1 CID on a central server
<TyrfingMjolnir> Yet when there is a node closer to the client that closer node will be used?
<MikeFair> TyrfingMjolnir, More like, the first node found is used
<MikeFair> TyrfingMjolnir, But there has to be at least one
<infinisil> or rather all nodes found, in no specific order i think
<TyrfingMjolnir> So how do I keep these nodes apart?
<MikeFair> TyrfingMjolnir, You don't need to worry about it
<infinisil> why would you want to keep them apart?
<TyrfingMjolnir> Some sort of priority
<MikeFair> TyrfingMjolnir, each node "announces" what CIDs it "provides"
<MikeFair> TyrfingMjolnir, Nodes arbitrarily connect to other nodes
<TyrfingMjolnir> Sounds just about perfect
<MikeFair> TyrfingMjolnir, Each node also announce what CIDs it's "requesting"
<MikeFair> TyrfingMjolnir, I'd start with going through the first two tutorials
<MikeFair> TyrfingMjolnir, Then whatever you think should be next
<TyrfingMjolnir> Thanks
mspiri[m] has joined #ipfs
infinity0_ has joined #ipfs
newhouse has quit [Read error: Connection reset by peer]
infinity0_ has quit [Changing host]
infinity0_ has joined #ipfs
infinity0 is now known as Guest39080
Guest39080 has quit [Killed (livingstone.freenode.net (Nickname regained by services))]
infinity0_ is now known as infinity0
muravey has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
muravey has joined #ipfs
<MikeFair> infinisil, whyrusleeping : still there? I had a thought about creating a new interaction between IPNS and DNS and was wondering if you'd care to comment. Currently DNS for a domain contains the IPNS ID to translate a domain name to an IPNS entry.
fredthomsen has joined #ipfs
vsimon_ has joined #ipfs
vsimon has quit [Ping timeout: 268 seconds]
vsimon_ has quit [Read error: Connection reset by peer]
<JCaesar> MikeFair: Go on, please?
<MikeFair> I was thinking of recommending changing it (or adding a new NS procedure) so that IPNS would take the Domain Name and create a hash for the string "dns:domain.dom";
vsimon has joined #ipfs
<MikeFair> But to update that new, derived CID, the IPNS entry in DNS is used
<MikeFair> This way, dns:domain.dom/some/lower/url
<MikeFair> could get its own unique published IPNS address
<MikeFair> But control over updating it would remain with domain's private key
<infinisil> MikeFair: And what's the use of it?
<MikeFair> It's attempting to create a more universal approach to establishing "fixed file names" within the IPNS namespace
<MikeFair> infinisil, the dns:domain.dom string serves as a kind of IPNS Volume ID
<MikeFair> these strings ultimately should also cover publishing services
Arcaire has quit [Quit: ZNC 1.6.5 - http://znc.in]
fleeky has quit [Ping timeout: 264 seconds]
<JCaesar> infinisil: You understood what MikeFair is describing? I'm confused…
<infinisil> I'm not sure i fully understand that
<infinisil> yeah not really
<MikeFair> I currently have a difficult time picture how the existing infrastructure could support a "domain.dom/echo" service
<infinisil> Can you walk us through your idea more thoroughly MikeFair ?
<MikeFair> Currently, I do ipns/domain.dom and ipfs looks in dns gets the text key, jumps that IPNS address and resolves the CID
<MikeFair> the new procuedure would be
<MikeFair> ipns/domain.dom takes the string and creates a new keypair rom
<MikeFair> from it
<MikeFair> takes the pubKey of that keypair to get the IPNS address
<MikeFair> Resolves that to a CID
<MikeFair> Using the existing permissioning scheme, everyone on the planet can now change that IPNS entry, because every can derive the keypair
<infinisil> wait, where does this new keypair come from? Because if it's a random new keypair it sure won't resolve to my domains CID
Jesin has joined #ipfs
<infinisil> Oh
<MikeFair> infinisil, It's not random, it uses the link address itself to generate the keypair (as a seed)
<infinisil> what's a private/public keypair of use if everybody knows it?
<MikeFair> infinisil, because no one has to know it; it's always dervied, directly from the text you're providing
<MikeFair> It's translating domain.dom/some/random/path directly to a CID
<infinisil> hmm okay, so everybody can now update ipns/domain.com and it's totally separate from DNS
<JCaesar> MikeFair: what text are you providing? What part is not known?
<MikeFair> infinisil, Right -- so obviously we need to change that
<MikeFair> infinisil, That's where the IPNS TXT entry in DNS comes in
<MikeFair> infinisil, If you want to update one of these derived IPNS addresses, you have to have the keypair that's in the DNS entry
<JCaesar> But… I thought everyone has that keypair?
<MikeFair> more specifically, the private key
vsimon has quit [Read error: Connection reset by peer]
<MikeFair> JCaesar, there's two keypairs, one is dynamically generated to create random filenames in the network that everyone can compute
<MikeFair> JCaesar, It has nothing to do with DNS
<MikeFair> anymore
<JCaesar> …
vsimon has joined #ipfs
* infinisil is still confused
<JCaesar> Can you do us a favour? Make a clean write-up of this.
<MikeFair> BUT .. and here's the change ...
<infinisil> the big reveal
<MikeFair> No one can update the CID for those derived address entries
<MikeFair> So they are read only
<MikeFair> unless
<MikeFair> You sent a message that can be decrypted by the IPNS entry that is currently listed in DNS
<MikeFair> TXT entry
<MikeFair> The IPNS address from DNS is "the write key"
<infinisil> Umm, not following anymore, this definitely needs a write-up / diagram of some sorts
mauz555 has joined #ipfs
<MikeFair> infinisil, wow, I thought it was easier than that --- hmm, to update an IPNS you need to provide the private key for a keypair ; we can agree on that?
<infinisil> yup
<JCaesar> A write up with detailed descriptions of the objects involved, the different procedures (creating, updating, reading, …), what we gain from it, …
<infinisil> perhaps giving variable names to the multiple keypairs and stuff would help a bit
<MikeFair> We can agree that "domain.dom/some/random/path/string" can be converted into a keypair
<infinisil> yup
<JCaesar> No.
<JCaesar> How?
<infinisil> use the string as a seed for a RNG then use that RNG to generate a private key, then derive a public key from the private one
<MikeFair> JCaesar, Take HASH of that string, use HASH as random number seed; use RNG to generate key
<JCaesar> Okay. This is important.
<MikeFair> We'll call that URL KeyPair
<MikeFair> It's useful because now every URL that we could ever create already has an IPNS address that anyone can compute and request
<MikeFair> (The IPNS address is the hash of the public address)
<MikeFair> err public key
<MikeFair> Usually, no one else has the secret key, so when you update the CID referenced by that IPNS address you use the public key's partner
<MikeFair> s/secret/private
<MikeFair> but in this csae that's no longer true, so we add an extra layer of testing
<MikeFair> If you try and update a derived IPNS that exists beneath "domain.dom"
<MikeFair> you have to pass the DNS test
<MikeFair> Which uses the DNSKeyPair ; so URLKeyPairs are updated by messages from the DNSKeyPair
<infinisil> Hmm
<infinisil> So this enables one to update each url on ones domain separately, right?
<MikeFair> I said that kind of wrong... the messages to update the CIDs for URLKeyPair dervied IPNS entries must come from the DNSKeyPair private key
<MikeFair> infinisil, right
<MikeFair> infinisil, But you'd most likely pick "root points"
<MikeFair> We'd have to create a convention to split the URL between the "root" and the "path"
vsimon has quit [Ping timeout: 256 seconds]
<infinisil> sooo what's the benefit in comparison to just updating the domains root ipns address like done today?
vsimon has joined #ipfs
<MikeFair> infinisil, the current root assumes everything was published as part of the same CID
<MikeFair> and are files
<MikeFair> infinisil, I have to build the whole domain.dom directory tree on one node and publish it
<infinisil> but that's not really a problem, since if you only change a single file, not very much changes (only the folders CID's up the tree)
Neomex has quit [Read error: Connection reset by peer]
<MikeFair> It's the assumption that it all happens on the same node
<MikeFair> (the problem that is)
<JCaesar> Phew!
<JCaesar> This is where the point lies.
<infinisil> Ah, so with this idea, you could have different nodes for different urls, i see
<JCaesar> I doubt it's worth it, though…
<MikeFair> It also allows me to create links to things that aren't files
<infinisil> yeah not sure about the real benefit
<infinisil> MikeFair: is that not possible today?
<MikeFair> they're now "endpoints within the domain"
<MikeFair> no
<MikeFair> I can't do "ipns/domain.dom/some-service"
<JCaesar> Well, you can do /ipns/some-service.domain.com…
<infinisil> hmm, and by service you mean?
<infinisil> what services could exist through ipfs?
<MikeFair> infinisil, well IPLD links are kind of where the thread started, but something more "bidirectional" and "echo server" a "video conference"
<MikeFair> infinisil, IPFS is also an infrastructure of p2p nodes that can route
<infinisil> pubsub?
<MikeFair> is one use case
<infinisil> but like, how do CID's make sense with services?
<MikeFair> infinisil, They identify a service name/address within the network
<infinisil> but the hash says nothing because there's no data to hash
<MikeFair> infinisil, the label itself is the data
<MikeFair> Imagine I wrote a process on my machine that connects to my IPFS local node and says "I provide service SOMEHASH"
<MikeFair> Like a distributed Blender Rendering Farm
<MikeFair> The "SomeHash" could also be connected to the HASH of the Published Standard describing the Protocol
<MikeFair> You hash the published: RFC 959
<MikeFair> That's the service address for FTP
<MikeFair> So I start up my local Blender Service Daemon in the background
<MikeFair> It publishes itself to ipfs; ipfs starts announcing "I Provide HASHOFBLENDERFARMRENDERING"
<infinisil> Okay well I'm not convinced, but ideas are always nice. One thing I'd like to note
<MikeFair> Internet nodes looking for other Blender Render Farm nodes then automatically know what CID to look
<MikeFair> for
<infinisil> Generating a key pair from the url makes little sense when everybody knows it, the keys are not used at all too. This can be simplified by just using the IPNS CID derived from the hash of the url directly
<MikeFair> infinisil, yes, totally agreed
<MikeFair> actually
<MikeFair> well yes, but the CID is still an IPFS node entry
<MikeFair> err IPNS
<MikeFair> It contains a reference to antoher CID
<infinisil> hmm yeah it might need some tweaking, but a key pair is definitely not the right tool, since if this keypair were used for IPNS directly, everybody could modify it
<infinisil> Alright I think I'm out of listening time for new crazy ideas for today. You might want to develop this idea further if you think it provides big benefits ;)
<MikeFair> infinisil, the simple tweak could be as simple as it being additional IPNS entries the DNS keypair can update
<MikeFair> So it expands the entire set of valid CIDs updateable by a keypair
<MikeFair> I don't think it will become useful until someone else says "you know, I really do like having fixed file names I can use"
vsimon has quit [Read error: Connection reset by peer]
vsimon_ has joined #ipfs
fredthomsen has quit [Quit: Leaving.]
<MikeFair> But I do like the general concept of "Existing IPNS Nodes create 'Volume IDs'" and within that 'Volume ID' are referenceable CIDs
<MikeFair> that link to actual CIDs
vsimon has joined #ipfs
vsimon_ has quit [Read error: Connection reset by peer]
<MikeFair> Something like: Registered IPNS entry = Drive ID ; Derived CID Address = Directory name, or path name ; and that IPNS/CID pair form an updatable link to a CID
<JCaesar> Anyway, the whole thing is fairly complicated, probably doesn't require the URL Key Pair, has questionable benefit, and will make resolving paths under such domains a lot slower. Sorry, I'd shelve it…
<MikeFair> JCaesar, like infinisil said , the URLKeyPair isn't used ; I just needed wanted a CID for a link address
<MikeFair> JCaesar, so that part is already gone
<MikeFair> I do believe converting strings directly to CIDs has value as a namespace
<MikeFair> The challeng then is "who controls/owns what strings"?
webdev007 has quit [Quit: Leaving]
<infinisil> namecoin :D
<MikeFair> By splitting the strings up by IPNS roots (which can roughly correlate to domain names) you create a more fine tunable directory tree for path names
<MikeFair> infinisil, :)
<MikeFair> I still ponder how to "serve/host DNS" directly on the IPFS network
<MikeFair> this domain.dom -> CID concept kind of first came up there
<infinisil> i don't think ipfs can be used for something DNS-like. Would need to be something like namecoin
<MikeFair> That'd be interesting..... instead of putting the IPNS key in DNS, put it on the CID that domain.dom hashes to
<MikeFair> infinisil, I think just did it ;)
<MikeFair> So forgetting entirely about any other path names and URLs, and just focusing on only domain.dom
<MikeFair> domain.dom hashes to a CID
<infinisil> but who controls who can have domain.com?
<MikeFair> yeah you need the registry
<MikeFair> So almost did it;
<infinisil> i think the registry is the biggest hurdle
<MikeFair> the person who can edit that CID is the person who controls the IPNS address referred to by the TXT entry in real DNS
<infinisil> so you're relying on DNS to create an IPFS-based DNS? :/
<MikeFair> Which is to say that IPNS private key can update to CIDs; the one for its own public key hash, and the hash for domain.dom
<MikeFair> infinisil, Yes, but the only time real DNS gets referred to is during a write operation
<MikeFair> I mean there's legal stuff wrapped up into people paying for the registered domain entries
<MikeFair> I mean you can suck the DNS data across into IPFS and host it at domain.dom's CID
<MikeFair> That's the registry part
vmx has quit [Quit: Leaving]
<MikeFair> you'd probably convert it into IPLD first
<infinisil> then who has the private key to update the registry?
<MikeFair> the CIDs are controlled by the private key mentioned in the TXT entry
<MikeFair> There's a bit of a bootstrapping issue
<MikeFair> but real dns only needs to be checked when "updating the DNS entries"
<infinisil> but it still relies on real DNS which is kinda totally not secure
<MikeFair> infinisil, DNSSEC does a decent job ; and if I understood it better, could proably be mimiced
<infinisil> and then it's still centralized
<MikeFair> The authority is, of course! I'm not trying to replace centralized authority of DNS with this
<MikeFair> I have concepts on how to do it, but you have to go to "fuzzy logic"
<MikeFair> When someone asks for cocacola.com; what do they mean/want
vsimon has quit [Remote host closed the connection]
<MikeFair> The network basically scores what the most likely answers are
<MikeFair> and at that point, you drop the .com entirely
<MikeFair> but you can't have a "Single answer" anymore ; you can only have "likely answers"
<MikeFair> Without a central authority to call it, there is no single answer
<infinisil> namecoin solves that
<infinisil> i just don't think ipfs is the right tool for that
<MikeFair> infinisil, No it doesn't ; first buyer wins
<infinisil> that's a different problem
vsimon has joined #ipfs
<MikeFair> That's the human problem; first buyer of ibm.com is not the right answer for what we intend to mean
<infinisil> namecoin solves the decentralized part and the authority part
<MikeFair> infinisil, If that's your rule, then first write wins to the IPNS nodes in IPFS
<MikeFair> infinisil, Then we can scrap DNS
<infinisil> ipns doesn't work like that though, if that would work, how would you guarantee that no 2 people wrote it "first" at the same time?
<MikeFair> infinisil, First person to register an IPNS entry at the CID for domain.dom can set the KeyPair that controls domain.dom
<MikeFair> infinisil, Because ipns lives in the DAG spread across the DHT
<MikeFair> infinisil, if you wanted, you could add a consensus protocol to ensure enough nods have seen it and don't conflict at this time
<MikeFair> the consensus protocol is already pretty likely
<MikeFair> But that won't allow judges to rul in favor of the trademark owner of the domain name to get control of their domain back
<MikeFair> Which is why I'm not trying to eliminate the centralized authority of the regulatory bodies with the DNS system, just eliminate the majority of the hosting fees involved
dconroy has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<MikeFair> Or to make it possible for Protocol Labs to become a DNS registry if they'd like
dimitarvp has quit [Quit: Bye]
<MikeFair> Err not registry, but the other thing, that actually hosts the data
<MikeFair> anyway, I really thank you for considering it
<MikeFair> and talking me through the things you saw regarding it
<infinisil> I'm not sure if it can still be called IPFS if you add all this stuff just to make a somewhat DNS like thing that happens to use IPFS for some part of it
<MikeFair> infinisil, I call IPLD part of IPFS, and it does something totally different from file hosting
<infinisil> MikeFair: Write it down properly if you feel like the time is worth it ;)
fredthomsen has joined #ipfs
vsimon has quit [Remote host closed the connection]
<MikeFair> infinisil, IPLD let's you explore various BlockChains and GIT repositories..... that's not too different than this
<MikeFair> Well it still needs some "polishing" I think :)
<MikeFair> But I do like the domain.dom -> CID -> IPNS Node -> Actual CID
<MikeFair> It eliminates all DNS lookups from IPNS queries
<MikeFair> DNs is then only used when updating the CID domain.dom hashes to
<MikeFair> (And even that can be eliminated eventually)
razzledazzle has joined #ipfs
fredthomsen has quit [Quit: Leaving.]
fredthomsen has joined #ipfs
MikeFair has quit [Ping timeout: 255 seconds]
fredthomsen has quit [Quit: Leaving.]
razzledazzle has quit [Ping timeout: 256 seconds]
vivus has quit [Quit: Leaving]
MikeFair has joined #ipfs
razzledazzle has joined #ipfs
hipboi__ has quit [Quit: Leaving]
shizy has joined #ipfs
G3nka1 has joined #ipfs
colatkinson has quit [Quit: colatkinson]
colatkinson has joined #ipfs
lemonpepper24 has quit [Ping timeout: 264 seconds]
fleeky has joined #ipfs
ygrek has quit [Ping timeout: 264 seconds]
lemonpepper24 has joined #ipfs
autoschediastic has joined #ipfs
razzledazzle has quit [Ping timeout: 256 seconds]
fleeky has quit [Ping timeout: 256 seconds]
<MikeFair> Has anyone figured out a method of doing a mailbox on IPFS to post async message queues for another node?
autoschediastic has quit [Remote host closed the connection]
razzledazzle has joined #ipfs
TUSF has quit [Ping timeout: 256 seconds]
TUSF has joined #ipfs
fleeky has joined #ipfs
reit has quit [Ping timeout: 264 seconds]
razzledazzle has quit [Ping timeout: 256 seconds]
lemonpepper24 has quit [Ping timeout: 255 seconds]
vsimon has joined #ipfs
razzledazzle has joined #ipfs
witten has joined #ipfs
shizy has quit [Ping timeout: 276 seconds]
muravey has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
captain_morgan has quit [Remote host closed the connection]
captain_morgan has joined #ipfs
razzledazzle has quit [Ping timeout: 256 seconds]
muravey has joined #ipfs
ygrek has joined #ipfs
SunflowerSociety has joined #ipfs
SunflowerSociety has quit [Changing host]
SunflowerSociety has joined #ipfs
colatkinson has quit [Quit: colatkinson]
}ls{ has joined #ipfs
wmoh1 has quit [Read error: Connection reset by peer]
AkhILman has quit [Ping timeout: 268 seconds]
wmoh1 has joined #ipfs
robattila256 has quit [Ping timeout: 248 seconds]
robattila256 has joined #ipfs
ygrek has quit [Ping timeout: 256 seconds]
noresult has quit [Ping timeout: 276 seconds]
mauz555 has quit [Read error: Connection reset by peer]
mauz555 has joined #ipfs
muravey has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
Xiti has quit [Quit: Xiti]
mauz555 has quit [Read error: Connection reset by peer]
muravey has joined #ipfs
Xiti has joined #ipfs
mauz555 has joined #ipfs
Alpha64_ has quit [Read error: Connection reset by peer]
razzledazzle has joined #ipfs
Zimsky has quit [Ping timeout: 240 seconds]
jafow1 has quit [Quit: WeeChat 1.8-dev]
chriscool1 has joined #ipfs
SunflowerSociety has quit [Remote host closed the connection]
SunflowerSociety has joined #ipfs
sz0 has quit [Quit: Connection closed for inactivity]
noresult has joined #ipfs
domanic has joined #ipfs
domanic has quit [Read error: Connection reset by peer]
domanic has joined #ipfs
witten has quit [Ping timeout: 256 seconds]
muravey has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
ulrichard has joined #ipfs
sim590 has quit [Ping timeout: 256 seconds]
sim590 has joined #ipfs
muravey has joined #ipfs
domanic has quit [Read error: Connection reset by peer]
domanic has joined #ipfs
muvlon has quit [Ping timeout: 256 seconds]
domanic has quit [Read error: Connection reset by peer]
domanic has joined #ipfs
muvlon has joined #ipfs
Myrth has quit [Remote host closed the connection]
domanic has quit [Read error: Connection reset by peer]
domanic has joined #ipfs
rendar has joined #ipfs
sz0 has joined #ipfs
synthmeat has quit [Quit: WeeChat 2.0.1]
m3s has quit [Remote host closed the connection]
domanic has quit [Read error: Connection reset by peer]
domanic has joined #ipfs
synthmeat has joined #ipfs
Myrth has joined #ipfs
domanic has quit [Read error: Connection reset by peer]
domanic has joined #ipfs
Fess_ has joined #ipfs
Fess_ has quit [Client Quit]
Fess has quit [Ping timeout: 268 seconds]
maqbool[m] has joined #ipfs
edrex has joined #ipfs
domanic has quit [Read error: Connection reset by peer]
domanic has joined #ipfs
edrex has left #ipfs ["User left"]
dudebbn__ has joined #ipfs
dudebbn_ has quit [Ping timeout: 248 seconds]
colatkinson has joined #ipfs
warner has joined #ipfs
domanic has quit [Read error: Connection reset by peer]
domanic has joined #ipfs
yuhl has joined #ipfs
inetic has joined #ipfs
domanic has quit [Read error: Connection reset by peer]
MikeFair has quit [Ping timeout: 276 seconds]
mtodor has joined #ipfs
cxl000 has joined #ipfs
muvlon has quit [Quit: Leaving]
domanic has joined #ipfs
domanic has quit [Read error: Connection reset by peer]
domanic has joined #ipfs
MikeFair has joined #ipfs
bomb-on has joined #ipfs
bomb-on has quit [Client Quit]
domanic has quit [Read error: Connection reset by peer]
domanic has joined #ipfs
xzha has joined #ipfs
domanic has quit [Read error: Connection reset by peer]
chriscool1 has quit [Quit: Leaving.]
domanic has joined #ipfs
goiko_ has joined #ipfs
goiko has quit [Ping timeout: 246 seconds]
WinterFox[m] has left #ipfs ["User left"]
domanic has quit [Read error: Connection reset by peer]
domanic has joined #ipfs
domanic has quit [Read error: Connection reset by peer]
ylp has joined #ipfs
domanic has joined #ipfs
igorline has joined #ipfs
bomb-on has joined #ipfs
domanic has quit [Read error: Connection reset by peer]
domanic has joined #ipfs
MikeFair has quit [Ping timeout: 276 seconds]
chriscool1 has joined #ipfs
ralphtheninja has joined #ipfs
vandemar has quit [Ping timeout: 260 seconds]
domanic has quit [Read error: Connection reset by peer]
MikeFair has joined #ipfs
bottom-up-hierar has joined #ipfs
ebel has joined #ipfs
<ebel> This might be a silly question, but does ipfs require a global internet connection? e.g. imagine 2 computers on same wifi network. No connection to wider internet. Both with ipfs running. Can one machine fetch things from the other?
<r0kk3rz> sure, thats mostly the point of ipfs
<r0kk3rz> there is no one single network
polman has joined #ipfs
igorline has quit [Ping timeout: 256 seconds]
<ebel> that's what I thought, I just wanted to double-check
<ebel> So if I'm a regular, internet-connected, network, with other ipfs people, and I download something (from t'internet). And someone else also wants it, they'll get some it from my machine? which would be faster, right?
<r0kk3rz> thats the idea
<ebel> :D :D (again, just to double check)
<engdesart> ebel: Yes. Regarding earlier question, kindof. They need to discover eachother somehow, though, which requires one of the nodes manually connecting to the other or the address of an already active one being in the node's bootstrap list.
ylp has quit [Quit: Leaving.]
<r0kk3rz> not quite, theres a couple of local discovery mechanisms
<ebel> Yes, I have first hand experience with ipfs's "ping/scan everything on all networks" or similar.
<ebel> I ran ipfs on my work machine. I used vpn to a client. Client's network noticed all the pings or portscans or something. Oops.
<r0kk3rz> yeah some VPS hosters get angry with it as well
<r0kk3rz> but if you want 'just works' p2p connectivity, then thats kinda what you get
muravey has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
muravey has joined #ipfs
muravey has quit [Client Quit]
<Kythyria[m]> Pinging a zillion random hosts or hardcoding a list of nodes to talk to is the only way.
<Kythyria[m]> Any protocol has the same problem, and it's usually solved by delegating to DNS and the user, with various arrangements so that end users don't usually have to worry about DNS.
<ebel> Sure, I know it's the only way. And it's OK. Twas my mistake.
igorline has joined #ipfs
chriscool1 has quit [Quit: Leaving.]
vmx has joined #ipfs
xzha is now known as dpuzikov
colatkinson has quit [Quit: colatkinson]
goiko_ has quit [Quit: ﴾͡๏̯͡๏﴿ O'RLY? Bye!]
goiko has joined #ipfs
goiko has quit [Changing host]
goiko has joined #ipfs
Neomex has joined #ipfs
ylp has joined #ipfs
ylp has quit [Quit: Leaving.]
Nicolab has joined #ipfs
maxzor has joined #ipfs
G3nka1 has quit [Ping timeout: 276 seconds]
TUSF has quit [Ping timeout: 240 seconds]
sz0 has quit [Quit: Connection closed for inactivity]
mauz555 has quit [Remote host closed the connection]
dimitarvp has joined #ipfs
mauz555 has joined #ipfs
engdesart has left #ipfs ["no"]
larpanet has joined #ipfs
mauz555 has quit [Ping timeout: 255 seconds]
ccii has joined #ipfs
ttk2 has joined #ipfs
ccii1 has quit [Ping timeout: 256 seconds]
ttk2 has quit [Client Quit]
mauz555 has joined #ipfs
larpanet has quit [Ping timeout: 248 seconds]
]BFG[ has joined #ipfs
ttk2 has joined #ipfs
ttk2 has quit [Ping timeout: 265 seconds]
razzledazzle has quit [Ping timeout: 276 seconds]
mauz555 has quit [Remote host closed the connection]
mauz555 has joined #ipfs
mauz555 has quit [Ping timeout: 256 seconds]
mauz555 has joined #ipfs
ylp has joined #ipfs
mauz555 has quit [Ping timeout: 276 seconds]
plexigras has quit [Quit: WeeChat 2.0.1]
plexigras has joined #ipfs
skywavesurfer has joined #ipfs
skywavesurfer has quit [Excess Flood]
skywavesurfer has joined #ipfs
skywavesurfer has quit [Excess Flood]
skywavesurfer has joined #ipfs
skywavesurfer has quit [Excess Flood]
skywavesurfer has joined #ipfs
skywavesurfer has quit [Excess Flood]
skywavesurfer_ has quit [Ping timeout: 265 seconds]
skywavesurfer has joined #ipfs
skywavesurfer has quit [Excess Flood]
skywavesurfer has joined #ipfs
skywavesurfer has quit [Excess Flood]
mauz555 has joined #ipfs
mauz555 has quit [Ping timeout: 264 seconds]
ralphtheninja has quit [Quit: leaving]
yuhl_ has joined #ipfs
randomstrangerb has joined #ipfs
yuhl has quit [Ping timeout: 255 seconds]
yuhl_ has quit [Ping timeout: 248 seconds]
Steverman has joined #ipfs
<Steverman> Odd question: Can I disable secio?
<voker57> ipfs daemon --disable-transport-encryption bool - Disable transport encryption (for debugging protocols).
<Steverman> Hmmm, I am using js-ipfs
<Steverman> And no daemon
<Steverman> I basically need the unstable webrtc version as I cannot have relays in my setup
<Steverman> for transport
vandemar has joined #ipfs
screensaver14 has joined #ipfs
rcat has quit [Ping timeout: 240 seconds]
rgrau has quit [Ping timeout: 256 seconds]
screensaver has quit [Read error: Connection reset by peer]
jkup has quit [Ping timeout: 272 seconds]
redfish has quit [Ping timeout: 256 seconds]
redfish has joined #ipfs
mtodor_ has joined #ipfs
jkup has joined #ipfs
mtodor has quit [Ping timeout: 256 seconds]
rgrau has joined #ipfs
Steverman has quit [Ping timeout: 268 seconds]
polman has quit [Disconnected by services]
polman_ has joined #ipfs
Mateon1 has quit [Ping timeout: 256 seconds]
SunflowerSociety has quit [Ping timeout: 260 seconds]
SunflowerSociety has joined #ipfs
}ls{ has quit [Ping timeout: 248 seconds]
Steverman has joined #ipfs
MikeFair has quit [Ping timeout: 265 seconds]
randomstrangerb has quit [Ping timeout: 248 seconds]
}ls{ has joined #ipfs
randomstrangerb has joined #ipfs
rcat has joined #ipfs
SunflowerSociety has quit [Read error: Connection reset by peer]
SunflowerSociety has joined #ipfs
razzledazzle has joined #ipfs
clownpriest has joined #ipfs
edulix has joined #ipfs
SunflowerSociety has quit [Read error: Connection reset by peer]
SunflowerSociety has joined #ipfs
G3nka1 has joined #ipfs
<AphelionZ> Ok, got a better error message...
<AphelionZ> no protocol with name: libp2p-webrtc-star
<AphelionZ> looks like my peer starts with /libp2p-webrtc-star
zautomata has joined #ipfs
vandemar has quit [Ping timeout: 276 seconds]
vandemar has joined #ipfs
vandemar has quit [Changing host]
vandemar has joined #ipfs
Alpha64 has joined #ipfs
Nicolab has quit [Remote host closed the connection]
anewuser has joined #ipfs
<Steverman> Can you repeat your question?
<AphelionZ> Steverman: im trying to connect a js-ipfs peer in the browser with a js-ipfs peer in node.js
<Steverman> Ah shoot, I don't know much about that part, but I can see that you're missing port
<Steverman> I don't really use CLI
<Steverman> Shouldn't it be the domain first along with TCP/port then libp2p part
<Steverman> "/dns4/wrtc-star.discovery.libp2p.io/tcp/433/wss/p2p-webrtc-star/<ID here>"
yuhl has joined #ipfs
bomb-on has quit [Quit: SO LONG, SUCKERS!]
shizy has joined #ipfs
kaotisk has joined #ipfs
SunflowerSociety has quit [Ping timeout: 265 seconds]
bomb-on has joined #ipfs
<Steverman> AphelionZ:
yuhl_ has joined #ipfs
yuhl has quit [Read error: Connection reset by peer]
ralphtheninja has joined #ipfs
randomstrangerb has quit [Ping timeout: 256 seconds]
randomstrangerb has joined #ipfs
<AphelionZ> Interesting, im just copy/pasting what im getting from ipfs id
<AphelionZ> Ill try adding the port
FrankPetrilli has quit [Quit: WeeChat 0.4.2]
razzledazzle has quit [Ping timeout: 265 seconds]
ulrichard has quit [Remote host closed the connection]
samae has quit [Read error: Connection reset by peer]
ylp has quit [Quit: Leaving.]
samae has joined #ipfs
jungly has quit [Ping timeout: 255 seconds]
<samae> o/
jungly has joined #ipfs
kaotisk has quit [Ping timeout: 240 seconds]
yuhl_ has quit [Quit: yuhl_]
mauz555_ has joined #ipfs
muravey has joined #ipfs
mauz555_ has quit []
mauz555 has joined #ipfs
bomb-on has quit [Quit: zzz]
dpuzikov has quit [Ping timeout: 256 seconds]
ralphthe1inja has joined #ipfs
ralphthe1inja has quit [Client Quit]
kaotisk has joined #ipfs
rodolf0 has joined #ipfs
SunflowerSociety has joined #ipfs
SunflowerSociety has quit [Ping timeout: 276 seconds]
Milijus has joined #ipfs
zautomata has quit [Quit: WeeChat 1.7]
bomb-on has joined #ipfs
<AphelionZ> Steverman: /dns4/star-signal.cloud.ipfs.team/wss/433/ipfs/QmVP7nWPqUd8fFvbrdbiViixtybEUnpc45s6vQtPM6Ce7L ?
<AphelionZ> that says "no protocol named 433" lol
<Steverman> /dns4/star...../tcp/433/wss/ipfs/<ID>
<AphelionZ> ok
<AphelionZ> a new error! Error: Circuit not enabled!
mtodor_ has quit [Ping timeout: 276 seconds]
<AphelionZ> with "/dns4/star-signal.cloud.ipfs.team/tcp/433/wss/ipfs/QmVP7nWPqUd8fFvbrdbiViixtybEUnpc45s6vQtPM6Ce7L"
G3nka1 has quit [Ping timeout: 265 seconds]
<Steverman> I am not sure what causes that
<Steverman> Probably a flag
<AphelionZ> but at least we (kinda) know the address is right
inetic has quit [Remote host closed the connection]
colatkinson has joined #ipfs
cryptonaut has joined #ipfs
<AphelionZ> hmmm how do I EnableRelayHop in js-ipfs? like in a script
<AphelionZ> I tried Swarm: { EnableRelayHop: true } and got the same error
<cryptonaut> hello friends! I'm running into an issue related to accessing newly uploaded files to IPFS.
<cryptonaut> I'm running 2 nodes 1) IPFS in the browser using ipfs-js and 2) IPFS on my local machine using ipfs-go
<cryptonaut> when I upload files through my local node, it cannot be accessed via the browser. However, if I hit all the files through the ipfs.io gateway, it becomes accessible.
<AphelionZ> cryptonaut: interop between js-ipfs and go-ipfs isnt finalized yet
<AphelionZ> that's basically what im trying to deal with too, except im using node.js js-ipfs instead of go
<cryptonaut> Ah! Interesting. Any insight on what the issue is?
<cryptonaut> or any workarounds?
<AphelionZ> https://github.com/ipfs/js-ipfs ctrl+f circuit relay and read that paragraph
<cryptonaut> @AphelionZ will do!
<cryptonaut> Interesting - so looks like the final 2 pieces are still a WIP. Would a suitable temporary workaround be to ping the ipfs.io gateway after publishing?
<cryptonaut> That should make those nodes discoverable right?
<AphelionZ> unsure, somebody else would have to answer concretely
<AphelionZ> you could also use the REST APIs of a go node
rargulati has joined #ipfs
<AphelionZ> Are these the right options to enable circuit relay in node.js js-ipfs? https://www.irccloud.com/pastebin/r3RBlwzo/
<kumavis> jbenet so nice to share the NYT article with you https://www.nytimes.com/2018/01/16/magazine/beyond-the-bitcoin-bubble.html
sophiya has quit [Quit: bye]
<Icefoz_> You'd think that journalists would get sick of writing the same article over and over..
<AphelionZ> hahah
cryptonaut has quit [Quit: Page closed]
rargulati has quit [Ping timeout: 260 seconds]
TUSF has joined #ipfs
muravey has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
sophiya has joined #ipfs
vmx has quit [Quit: Leaving]
m3s has joined #ipfs
m3s has quit [Changing host]
m3s has joined #ipfs
Steverma1 has joined #ipfs
Steverman has quit [Ping timeout: 268 seconds]
MikeFair has joined #ipfs
<Steverma1> Any way to disable secio in js-ipfs?
<Steverma1> as spawned node
kbgg has quit [Quit: EliteBNC - http://elitebnc.org (Auto-Removal: idle account/not being used)]
rodolf0 has quit [Remote host closed the connection]
rodolf0 has joined #ipfs
Fess has joined #ipfs
newhouse has joined #ipfs
anewuser has quit [Ping timeout: 260 seconds]
anewuser has joined #ipfs
astrofog has joined #ipfs
colatkinson has quit [Ping timeout: 256 seconds]
Milijus has quit [Quit: Leaving]
Mateon2 has joined #ipfs
astrofog has quit [Quit: Quite]
gwillen has joined #ipfs
gwillen has quit [Client Quit]
yoshuawuyts has left #ipfs [#ipfs]
anewuser has quit [Ping timeout: 256 seconds]
gwillen has joined #ipfs
rendar has quit []
matt-h has quit [Quit: Leaving]
vsimon has quit [Remote host closed the connection]
anewuser has joined #ipfs
matt-h has joined #ipfs
matt-h has quit [Remote host closed the connection]
anewuser has quit [Quit: anewuser]
ygrek has joined #ipfs
chris613 has quit [Ping timeout: 252 seconds]
matt-h has joined #ipfs
chris613 has joined #ipfs
Reinhilde is now known as Ellenor
dolphy has joined #ipfs
Fess has quit [Quit: Leaving]
anewuser has joined #ipfs
anewuser has quit [Read error: Connection reset by peer]
vsimon has joined #ipfs
cxl000 has quit [Ping timeout: 260 seconds]
anewuser has joined #ipfs
Ecran has joined #ipfs
Encrypt has joined #ipfs
clownpriest has quit [Ping timeout: 264 seconds]
rargulati has joined #ipfs
qwerty is now known as three_dog
three_dog is now known as dev1ant
rargulati has quit [Ping timeout: 260 seconds]
cxl000 has joined #ipfs
Steverma1 has quit [Ping timeout: 268 seconds]
lacour has joined #ipfs
geir_ has quit [Ping timeout: 246 seconds]
Steverma1 has joined #ipfs
yuhl has joined #ipfs
Steverma1 has quit [Ping timeout: 256 seconds]
muravey has joined #ipfs
geir_ has joined #ipfs
sim590 has quit [Ping timeout: 276 seconds]
<walle303> Is there any way to make p2p streams continue listening after the connection closes?
dolphy has quit [Quit: Leaving]
<whyrusleeping> walle303: hrm... how do you mean?
<walle303> a `ipfs p2p stream dial` closes after the connection is closed by the client
<walle303> an*
<walle303> is there any way to make it stay open, similar to how ssh port forwarding does?
<walle303> Right now I have a sloppy workaround by just running the dial command over and over again
<whyrusleeping> ah
<whyrusleeping> hrm...
<whyrusleeping> I don't think we can do this right now
<whyrusleeping> could you write up an issue on go-ipfs describing your usecase?
sim590 has joined #ipfs
}ls{ has quit [Quit: real life interrupt]
droman has joined #ipfs
gwillen has quit [Remote host closed the connection]
domanic has joined #ipfs
colatkinson has joined #ipfs
<MikeFair> whyrusleeping, I've looked through the IPLD resolver code to add this IPNS thing, and I'm still making heads or tails of what exactly I'm supposed to code
<MikeFair> I tried looking at the existing git, eth, btc examples, but it hasn't sunk in for me what exactly is happening (I mean I know what I'm looking at in the sense of implementing the interface, but I can't see it in the context of the whole picture)
<walle303> whyrusleeping: There should be an option to make it behave like how -k works in netcat
<MikeFair> Actually I should say that the other way around; I know that I'm looking at the implementation of an interface, but I'm not sure how to translate that to what I need to do for my use case
domanic has quit [Read error: Connection reset by peer]
domanic has joined #ipfs
<JCaesar> yaaay, digital ocean upped their droplet's ram. Guess now I can run IPFS on the cheapest one without crashing every five minutes.
<MikeFair> Is there anywhere I might be able to get a more concrete "simple" example for adding a custom ipld link structure
<MikeFair> JCaesar, I tried running ipfs daemon on my webshost's shared hosting node --- oddly enough the daemon started, but after a while it got killed for too much CPU utilization
<MikeFair> Since then it looks like port 4001 has been blocked
cxl000 has quit [Ping timeout: 240 seconds]
muravey has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
domanic has quit [Read error: Connection reset by peer]
domanic has joined #ipfs
vandemar has quit [Ping timeout: 276 seconds]
clownpriest has joined #ipfs
clownpriest has quit [Read error: Connection reset by peer]
domanic has quit [Read error: Connection reset by peer]
vandemar has joined #ipfs
domanic has joined #ipfs
clemo has quit [Ping timeout: 256 seconds]
<Ronsor> lol
<Ronsor> don't run ipfs on a shared host
<Ronsor> they hate that
<Ronsor> and will brutally murder your process
domanic has quit [Read error: Connection reset by peer]
domanic has joined #ipfs
colatkinson has quit [Quit: colatkinson]
sz0_ has joined #ipfs
sz0_ is now known as sz0
yuhl has quit [Quit: yuhl]
sim590 has quit [Ping timeout: 256 seconds]
domanic has quit [Ping timeout: 256 seconds]
vandemar has quit [Ping timeout: 256 seconds]
sim590 has joined #ipfs
Ecran has quit [Quit: Going offline, see ya! (www.adiirc.com)]
colatkinson has joined #ipfs
jungly has quit [Remote host closed the connection]
jungly has joined #ipfs
rodolf0 has quit [Remote host closed the connection]
rodolf0 has joined #ipfs
colatkinson has quit [Quit: colatkinson]
colatkinson has joined #ipfs
espadrine has joined #ipfs
nibble has joined #ipfs
colatkinson has quit [Quit: colatkinson]
colatkinson has joined #ipfs
vsimon has quit [Remote host closed the connection]
vsimon has joined #ipfs
vandemar has joined #ipfs
Encrypt has quit [Quit: Quit]
fleeky has quit [Remote host closed the connection]
vsimon has quit [Ping timeout: 256 seconds]
dev1ant has quit [Ping timeout: 276 seconds]
vandemar has quit [Ping timeout: 255 seconds]
<MikeFair> Ronsor, I didn't mean to leave it running, I was just testing because I was compiling
James_Epp has joined #ipfs
vsimon has joined #ipfs
ruby32 has joined #ipfs
rodolf0 has quit [Ping timeout: 255 seconds]
ruby32 has quit [Client Quit]
ruby32 has joined #ipfs
randomstrangerb has quit [Ping timeout: 256 seconds]
maxzor has quit [Remote host closed the connection]
randomstrangerb has joined #ipfs
newhouse has quit [Read error: Connection reset by peer]
<MikeFair> Any IPLD devs out there? I'm looking at the code for the js-ipld-dag-* libraries and I think these are offering more than I want; I don't want a custom node type; I want to teach an ordinary IPLD node how to follow/resolve a new kind of link
<MikeFair> I want to teach it the {'?' : "CID"} link type in addition to the {'/' : "CID"} type it already understands
vsimon has quit [Remote host closed the connection]
sim590 has quit [Ping timeout: 248 seconds]
edulix has quit [Ping timeout: 256 seconds]
<lgierth> it'd be in github.com/ipld
<lgierth> while the go-ipld-* packages are in github.com/ipfs for reasons i never understood :):)
sim590 has joined #ipfs
domanic has joined #ipfs
colatkinson has quit [Quit: colatkinson]
<MikeFair> lgierth, Thatnks!
ONI_Ghost has joined #ipfs
<MikeFair> lgierth, I found the ipld/js-ipld-dag stuff and think I figured out how/what I want to attempt
<MikeFair> lgierth, I think I'd like to add '?' as a valid link property alongside '/' --- in the JS code this seems to only require a fix in two places
<MikeFair> s/fix/update
<MikeFair> Basically as the resolver is working the path, if it encounters a '?' field and no '/' field it will IPNS resolve the '?' value and set the '/' value
<whyrusleeping> MikeFair: for your experiment, you probably don't want to do that
<whyrusleeping> In the resolveonce function you write, I would just search through each object you get
<whyrusleeping> for any field named "?" (or whatever you chose)
<MikeFair> whyrusleeping, Why not just update the core resolver; it appears I can't write a resolver without also writing a block format
<MikeFair> whyrusleeping, The resolver code currently seems to do exactly looking for '/'
<whyrusleeping> you dont have to write a resolver
<whyrusleeping> Yes, but thats for strict content addressed links
<whyrusleeping> which we don't want to do
<whyrusleeping> we want to provide the ability to optionally resolve a given ipns link
<whyrusleeping> so its going to take a different path than the "/" link thing
<MikeFair> right so the plan was to extend those bits of code to account for '/' or '?' and if it finds '?' but not '/', then create '/'
<MikeFair> using the value from '?'
<MikeFair> (not directly obviously)
dimitarvp has quit [Quit: Bye]
Fess has joined #ipfs
<MikeFair> whyrusleeping, In my use case '/' and '?' are mutually exclusive; and '?' kind of sort of really means '/' but with a resolve step first
<whyrusleeping> right
<whyrusleeping> we're in agreement
<MikeFair> okay, so in your mind's eye, where would I put the code?
<whyrusleeping> you could put it temporarily in path/ipnsresolver.go
<MikeFair> I tried looking at the js-ipld-dag-* projects, and I didn't see the multicodec for "not a custom object"
colatkinson has joined #ipfs
<MikeFair> whyrusleeping, See I don't quite follow that....
<whyrusleeping> MikeFair: you want to change the way that a given 'path' is resolved
<whyrusleeping> and you want it changed outside of the context of how ipld works
<whyrusleeping> so to change the way a Path gets resolved, you need to create a resolver: https://github.com/ipfs/go-ipfs/blob/master/path/resolver.go#L37
<MikeFair> whyrusleeping, What I don't see is how ipld figures out to trigger my custom ipns resolver when it encounters a {"?" : "CID"} thing
<whyrusleeping> A resolver has two things, a DagService to pull nodes from, and a 'ResolveOnce' function to turn {Node,Name} into {NextNode}
<MikeFair> whyrusleeping, Right, I'm actually looking at that code right now, and I figured I'd make a new one called ipnsresolver
randomstrangerb has quit [Ping timeout: 256 seconds]
randomstrangerb has joined #ipfs
<whyrusleeping> so given a Node and a name, you want to check if the node contains a {"?": "/ipns/foo"} at 'name' within the node
<whyrusleeping> and if it does, you want to resolve /ipns/foo, and return that object
<MikeFair> okay, let me parse through that more slowly
<MikeFair> So resolver is going to recieve a Node say {"somelink": {"?":"CID"}}
<MikeFair> and a name "somelink"
<MikeFair> The name can be a path
<MikeFair> And it's the resolver's job to parse through the Node and pathname to see if the value of any of those 'elements' is a {"?":...}
colatkinson has quit [Ping timeout: 248 seconds]
<whyrusleeping> correct
<MikeFair> Assume it finds one. In the JS code I read it did cid = new CID(value['/])
<MikeFair> (which I read as, take the textual CID from the data, make a new CID object out of it, and assign it to cid
mntr0[m] has joined #ipfs
shizy has quit [Ping timeout: 240 seconds]