Conversation
|
@vasco-santos it's great to see you moving ahead with this work It looks like the code only gets a single IPNS value from the DHT, whereas in the go version it retrieves multiple versions of the IPNS value (I believe the default is 16). The go version provides a streaming API. Do you plan to support streaming in JS? |
|
hey @dirkmc So the stream was added recently to We should add support for it in Just other detail, we currently do the |
|
@vasco-santos I agree about the streaming interface, it can wait until a later version. The reason I bring it up is because in the go version of IPNS, retrieving those 16 records takes so long that it almost always times out, so IPNS is painfully slow. I added an option to retrieve less than 16 records to mitigate this problem, but the real solution is streaming. I think a lot of people were turned away from IPNS and even IPFS because of IPNS slowness so it would be great to get ahead of the issue as soon as possible |
7f51f8b to
a2ccc0a
Compare
84cee67 to
c513b6e
Compare
95804d1 to
02071b1
Compare
jacobheun
left a comment
There was a problem hiding this comment.
This looks good. Interop tests for ipns are also passing. Ci failures there are unrelated to the ipns tests.
79ddf2a to
cf0bbb7
Compare
|
@vasco-santos would you mind rebasing this now that the IPNS over pubsub work is merged? 🙏 |
eb7c50c to
5f8fbd3
Compare
712e3cf to
6551fcc
Compare
6551fcc to
0d4e18a
Compare
alanshaw
left a comment
There was a problem hiding this comment.
Could you please also look at
js-ipfs/src/core/ipns/publisher.js
Line 79 in 83b8e9b
I think it is currently the wrong way round, but we should always publish it for the time being until there's no more go-ipfs nodes that require it.
|
W00t 🎉 |
Here is an initial implementation of
IPNS over DHT. Until the dht is enabled by default injs-ipfswe need to use the--enable-dht-experimentexperimental flag, or it will only use the local repo as datastore.Needs:
js-libp2prelease with libp2p/js-libp2p#288Unblocks: