infinity0 has quit [Remote host closed the connection]
infinity0 has joined #ipfs
infinity0 has quit [Remote host closed the connection]
infinity0 has joined #ipfs
infinity0 has quit [Remote host closed the connection]
infinity0 has joined #ipfs
infinity0 has quit [Remote host closed the connection]
<xelra>
francis[m]: Both. It's enough for one node to have it.
<xelra>
But if many have it, you get it from many.
infinity0 has joined #ipfs
infinity0 has quit [Remote host closed the connection]
arkimedes has joined #ipfs
kthnnlg has quit [Ping timeout: 268 seconds]
apiarian has joined #ipfs
TTT has joined #ipfs
jkilpatr has quit [Ping timeout: 255 seconds]
Miezel has joined #ipfs
apiarian has quit [Ping timeout: 240 seconds]
apiarian has joined #ipfs
apiarian has quit [Client Quit]
domanic has quit [Ping timeout: 240 seconds]
vindelschtuffen has joined #ipfs
domanic has joined #ipfs
domanic has quit [Ping timeout: 260 seconds]
shizy has joined #ipfs
dimitarvp has quit [Quit: Bye]
ygrek_ has joined #ipfs
bitbit has quit []
fredthomsen has quit [Read error: Connection reset by peer]
palkeo has joined #ipfs
asyncsec has quit [Remote host closed the connection]
asyncsec has joined #ipfs
palkeo has quit [Ping timeout: 246 seconds]
shizy has quit [Ping timeout: 255 seconds]
arkimedes has quit [Ping timeout: 268 seconds]
ianopolous_ has quit [Read error: Connection reset by peer]
ianopolous_ has joined #ipfs
_rht has joined #ipfs
infinity0 has joined #ipfs
domanic has joined #ipfs
asyncsec has quit [Quit: asyncsec]
Jesin has quit [Quit: Leaving]
Aranjedeath has joined #ipfs
Jesin has joined #ipfs
tilgovi has quit [Ping timeout: 246 seconds]
domanic has quit [Ping timeout: 260 seconds]
tilgovi has joined #ipfs
kode54 has quit [Quit: ZNC 1.6.3+deb1 - http://znc.in]
kode54 has joined #ipfs
Mateon3 has joined #ipfs
Mateon1 has quit [Ping timeout: 240 seconds]
Mateon3 is now known as Mateon1
Miezel has quit [Quit: This computer has gone to sleep]
Aranjedeath has quit [Ping timeout: 246 seconds]
ygrek_ has quit [Ping timeout: 260 seconds]
tilgovi has quit [Ping timeout: 246 seconds]
lothar_m has joined #ipfs
bedeho has joined #ipfs
chris613 has left #ipfs [#ipfs]
anewuser has quit [Quit: anewuser]
Caterpillar has joined #ipfs
tilgovi has joined #ipfs
<spoonless[m]>
how does deletion happen?
<spoonless[m]>
what if I had a site where people can post images, and something unsuitable is posted, how do I get rid of it?
<jcgruenhage>
You don't.
<jcgruenhage>
You can only delete the "link" to that picture, not the picture itself.
pat36 has joined #ipfs
<engdesart>
You might be able to "delete" it from your machine by unpinning it and immediately running the garbage collector, but it won't stop others from pinning it.
<engdesart>
If others pin it, then it'll be served up from their machine if available.
<jcgruenhage>
Can you block hashes? Something like a reverse pin, for blacklisting illegal content.
tilgovi has quit [Ping timeout: 246 seconds]
<engdesart>
Sort of but not reliably. There's an opt-in blacklist somewhere.
_whitelogger has joined #ipfs
<r0kk3rz>
jcgruenhage: depends, if your hosting a gateway then sure otherwise not really
<jcgruenhage>
I only mean on some node, not in general. I know that that is not possible
mildred1 has joined #ipfs
<r0kk3rz>
im sure you can purge stuff from your own cache
dignifiedquire has quit [Quit: Connection closed for inactivity]
<jcgruenhage>
Purging != blacklisting though.
mildred1 has quit [Ping timeout: 258 seconds]
<r0kk3rz>
you'd have a lot of fun maintaining that blacklist
mildred has quit [Read error: Connection reset by peer]
mildred has joined #ipfs
jytfyjtf has joined #ipfs
<jcgruenhage>
its easy, if someone tells me to stop distributing some file, then i can do that with a blacklist.
bedeho has quit [Remote host closed the connection]
<jcgruenhage>
Is there, or will there be something like an ipfs url scheme? ipfs:// and ipns:// instead of http://
bedeho has joined #ipfs
bedeho has quit [Ping timeout: 246 seconds]
bedeho has joined #ipfs
owlet has quit [Ping timeout: 240 seconds]
bedeho has quit [Ping timeout: 276 seconds]
edulix has joined #ipfs
<edulix>
hello people
<edulix>
is there any work to make ipfs work in javascript without any localhost daemon that does the real work? just like webtorrent works in the browser
<jcgruenhage>
yep, see githib.com/ipfs/js-ipfs
<jcgruenhage>
s/githib/github/g
<edulix>
great
<edulix>
thanks
olivernyc has joined #ipfs
_rht has quit [Quit: Connection closed for inactivity]
<edulix>
it looks like it's getting a lot of work, awesome
<edulix>
I think I'll might even tinker with js-ipfs to see what can I do with it
Peter[m]3 has joined #ipfs
kthnnlg has joined #ipfs
infinity0 has quit [Remote host closed the connection]
<xSkyripper>
how does IPFS assure unique nodeids ?
<voker57>
it doesn't, it's just very highly unlikely for two nodes to generate the same id
olivernyc has joined #ipfs
<voker57>
if you could easily generate same nodeid, it'd break security, since node id is also key id
<xSkyripper>
it follows the s/kademlia's crypto puzzle ?
<xSkyripper>
that makes it hard to generate for the "attackers" right ?
olivernyc has quit [Client Quit]
<voker57>
puzzle?
<r0kk3rz>
its just an ecdsa key isnt it?
<voker57>
can be also rsa
ralphtheninja has quit [Ping timeout: 260 seconds]
<xSkyripper>
it is specified in the ipfs's white paper
bedeho has quit [Remote host closed the connection]
maxlath has quit [Ping timeout: 276 seconds]
<voker57>
xSkyripper: looks like it doesn't, just generates a keypair
<xSkyripper>
i get it, thanks !
maxlath has joined #ipfs
asyncsec has quit [Quit: asyncsec]
fleeky_ has quit [Ping timeout: 240 seconds]
bedeho has joined #ipfs
mahloun has quit [Ping timeout: 258 seconds]
bedeho has quit [Remote host closed the connection]
bedeho has joined #ipfs
ulrichard has joined #ipfs
domanic has quit [Ping timeout: 276 seconds]
bedeho has quit [Remote host closed the connection]
bedeho has joined #ipfs
bedeho has quit [Remote host closed the connection]
GregKNicholson[m has joined #ipfs
Encrypt has joined #ipfs
Miezel has joined #ipfs
sevcsik has joined #ipfs
ansuz has left #ipfs [#ipfs]
samae has quit [Remote host closed the connection]
samae has joined #ipfs
btmsn has joined #ipfs
asyncsec has joined #ipfs
marcecoll has joined #ipfs
<marcecoll>
hello
alu has quit [Ping timeout: 268 seconds]
Miezel has quit [Quit: This computer has gone to sleep]
ralphtheninja has joined #ipfs
ulrichard has quit [Ping timeout: 260 seconds]
<SchrodingersScat>
marcecoll: oh hey
marcecoll has quit [Quit: leaving]
marcecoll has joined #ipfs
atrapado_ has joined #ipfs
xSkyripper has quit [Quit: Leaving]
ilyaigpetrov has joined #ipfs
Aranjedeath has joined #ipfs
owlet has joined #ipfs
<francis[m]>
how can i point ipfs to an alternative location for where it stores the files? (other than .ipfs/datastore, or .ipfs/blocks) or maybe the question is, how can i create the .ipfs folder structure somehwere else than the users home folder..
<francis[m]>
can this be done different than setting the environ variable?
edulix has joined #ipfs
<Mateon1>
francis[m]: Not really, the IPFS_PATH env var is the "only" way. (only non-hackish way)
<Mateon1>
You can play around with symlinks, or something, otherwise, I don't think you can modify the storage location
dconroy has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<kthnnlg>
Hi All, I'm having some difficulty in finding the correct CBOR encoding for an ipfs link. For example, suppose I have the ifps hash zdpuAwenqW4C6rkL8L7sxsceMAVqAQSvKDndEUo3Fg1rCcG8p and I want the multihash bit string. I was instructed yesterday that the correct bit encoding is 01711220a6dc1f38a111301a02f8c66046712cd9cfccd151a3ace588bab8cc10666ba929, in hex ([cid version: 01] [codec: 71] [mh type: 12 - sha256] [mh length: 20
dgrisham has quit [Ping timeout: 246 seconds]
<Mateon1>
Yep, that's right, what's the problem (Your message got cut off after mh length)
<kthnnlg>
hmm, weird, i wonder why my message got truncated
<kthnnlg>
... hex ([cid version: 01] [codec: 71] [mh type: 12 - sha256] [mh length: 20 - 32 bytes] [hash]). However, I'm not sure how to get there. In particular, I'm assuming that the hash code is in the bitcoin encoding (with alphabet "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz").
<kthnnlg>
My method is to take a given bitcoin hash digit to encode to its position in the alphabet string (i.e., "1" codes for 0, "2" for 1, ... and "z" for 57). A string of bitcoin digits is thus decoded by accumulating the result by multiplying by 58, then adding the encoding of the next bitcoin digit.
<Mateon1>
kthnnlg: IRC has a message length limit
<kthnnlg>
Unfortunately, this method yields bit strings that, e.g., do not match with the sample I mentioned here, and the resulting bit strings are rejected by ipfs. Can anyone see where I'm going wrong?
<kthnnlg>
ok, so when i push some bytes to ipfs, i get a hash, e.g., zdpuArtqENuZPc9LJjfyf5kJsgo5LvWSRWLKKP39TEtEHVq9T. Now, supposing I want to store this hash in the CBOR binary format, I need first to strip off the "z", then use the algorithm I mentioned before?
<Mateon1>
Yep, that should work
<kthnnlg>
ok super, thanks
<Mateon1>
Look whether or not there exists a multibase parser for your language
<kthnnlg>
unfortunately, i'm using ocaml. so i'm gonna have to implement multibase
<kthnnlg>
ok, now I get "Error: invalid multibase on ipld link" after issuing the `ipfs dag put --input-enc raw`
brodo has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
brodo has joined #ipfs
anewuser has joined #ipfs
brodo has quit [Client Quit]
<Mateon1>
kthnnlg: Can I have an example hex output?
<Mateon1>
Of your cbor?
<kthnnlg>
sure, i'm not sure exactly how to extract the bits, though
<Mateon1>
Instead of piping it into ipfs dag put, pipe it into xxd
<kthnnlg>
oh right ;)
<kthnnlg>
one sec
<Mateon1>
Okay, let me give you a minified example of valid cbor, that IPFS expects
Aranjedeath has quit [Quit: Three sheets to the wind]
<kthnnlg>
here's the cbor i'm generating: 「fweighthcontents■a/リ*XH82DDFDEC847EFF59D83D91FC23838BF4AA32791C912059C8AEAF8940A3B556FF9E4F286A
btmsn has quit [Ping timeout: 240 seconds]
Encrypt has quit [Quit: Quit]
<kthnnlg>
it should be of the form: {"weight": 1, "contents": [{"/", "zdpuArtqENuZPc9LJjfyf5kJsgo5LvWSRWLKKP39TEtEHVq9T"}, ...] }
MrSparkle has quit [Ping timeout: 240 seconds]
<kthnnlg>
here's the output I get from the terminal: ?fweighthcontents??a/?*XH82DDFDEC847EFF59D83D91FC23838BF4AA32791C912059C8AEAF8940A3B556FF9E4F286A
edulix has quit [Remote host closed the connection]
<Mateon1>
Oh, that's not hex output, that's bytes (which doesn't transfer well over IRC)
<Mateon1>
Anyways, it seems you use an actual key of /
<Mateon1>
IPFS expects a bytestring, as far as I can tell
<Mateon1>
Let me minify manually, hold on
<kthnnlg>
ok thx
<kthnnlg>
i have the hex output but it's a bit long fo irc
<Mateon1>
You can put it on IPFS and give me the hash
<kthnnlg>
here's the hash QmanZy86Qu7SSEMgpzgC3ubLmRzEu9cGtWQive9RqFP1eB
<Mateon1>
kthnnlg: Thanks, I'll have a loop
<Mateon1>
look*
MrSparkle has joined #ipfs
bedeho has joined #ipfs
<Mateon1>
Huh, that's odd
<Mateon1>
I think I'm parsing it incorrectly
<kthnnlg>
btw, i've simplified the encoding of my structure a little, removing the "/" member, for example. Here's the new hex file: QmRQtfVSTVgGisFjZoJ5BsEAZgZ6nMwu8uR2qmx6N8w58e
<Mateon1>
kthnnlg: Ah, that's better
<Mateon1>
Oh, the error is "invalid multibase on ipld link"
<Mateon1>
I think it uses the "identity" multibase hash
<kthnnlg>
yep
<Mateon1>
So you have to prefix the binary CID with 0x00
<Mateon1>
I think that will work
<Mateon1>
Hold on, actually, that is not binary
<kthnnlg>
ok one sec
<kthnnlg>
ok
<Mateon1>
You wrote the hex into the cbor, you have to use raw binary
<Mateon1>
hex is so we can easily dissect the format
<kthnnlg>
ah, i wonder where i'm failing to write raw binary
maxlath has quit [Ping timeout: 276 seconds]
<kthnnlg>
one sec
<kthnnlg>
i'm finding it difficult to locate the proper function in caml to convert the bits of an int to a char...
<Mateon1>
Oh, I was parsing incorrectly, 0x81 is array of one element, not bytestring of length 1
<Mateon1>
That makes more sense
<Mateon1>
Hm, a minimal example would actually be an array, now that I think about it
<Mateon1>
I can't believe I was doing this by hand
<LilianMoraru>
I jumped the gun, Mozilla is interested in connectivity...
LilianMoraru has quit [Quit: Page closed]
<Mateon1>
kthnnlg: Here's a minimal example in hex: 81D82A58280001711282DDFDEC847EFF59D83D91FC23838BF4AA32791C912059C8AEAF8940A3B556FF9E4F286A
<Mateon1>
Whoops, sorry I make a mistake
<Mateon1>
Hm, the hash you used in your objects is 36 bytes long... Weird
<Mateon1>
Is it the one that didn't parse properly, because of the z prefix?
<Mateon1>
Oh yep, that's the issue
<Mateon1>
You need to strip the z before encoding
<kthnnlg>
Mateon1: right thx, i should be stripping the leading "z" now. here's the hash of my new hex file QmeeGnGyXNDRyXcP4wSBp7MLC5FXrcWvfaSRmRmQTZUoSe
<kthnnlg>
still getting the "invalid multibase error"
<Mateon1>
How did you convert the hex to bytes? 2 hex bytes should turn into 1 binary byte
<Mateon1>
Now I see a lot of 010203 in that hex output
ygrek_ has joined #ipfs
<Mateon1>
This is the object you want on ipfs!: zdpuAmbXLmHbu2fAvhYMQ26FinxssC2JviXL1E6eHa2dwVY7B
MrSparkle has quit [Ping timeout: 255 seconds]
<Mateon1>
Try "ipfs dag get zdpuAmbXLmHbu2fAvhYMQ26FinxssC2JviXL1E6eHa2dwVY7B" - it's what you want, to see the binary I used, try "ipfs block get zdpuAmbXLmHbu2fAvhYMQ26FinxssC2JviXL1E6eHa2dwVY7B"
<kthnnlg>
ok super, it's taking a while for the ipfs get to complete
<Mateon1>
Oh, try fetching it from the gateway, we are both behind a NAT
<kthnnlg>
how many bytes should the hash take?
<Mateon1>
You should have it now
<kthnnlg>
got it, thx
<Mateon1>
kthnnlg: Hm, 32 for the raw hash, 2 for multihash header, and another 2 for cid header
<Mateon1>
So 36, I think
<Mateon1>
Plus one byte for the 00 multibase prefix
<kthnnlg>
right, so the hex encoding of the hash zdpuAwenqW4C6rkL8L7sxsceMAVqAQSvKDndEUo3Fg1rCcG8p should be 58250001711220A6DC1F38A111301A02F8C66046712CD9CFCCD151A3ACE588BAB8CC10666BA929? the debugging website claims that it should be 37 bytes