WEEK 1 QUESTIONS | April 4 - 10, 2021

WEEK 1 QUESTIONS | April 4 - 10, 2021 (times are in EST)

Hello! Each week I’ll be posting a compilation of common and interesting questions I’ve come across. I’m hoping this will help get common questions answered, help the IPFS team find gaps in documentation, and generally help drive engagement all around. If you had a question you felt like didn’t get enough attention, please share it here and if it doesn’t get answered, I’ll try to include it in next week’s summary!

Do you have any suggestions for how to reduce any of these questions? Do you know any of the answers? Do you have your own questions? Fire away below and let’s see if we can clear things up together :rocket:

P.S. If you have any suggestions on how I could improve these posts in the future, I’d love to hear them too :blush:

zacharywhitley asked “Any thoughts on how you might go about rekeying a private swarm?” (forum - 08:43 April 7):

Any thoughts on how you might go about rekeying a private swarm? Say you have Alice, Bob, and Charlie in a private swarm with a shared swam key and you want to kick Charlie out. How do Alice and Bob go about agreeing on a new swarm key and transitioning to it?


A way to automate this could be neat!

jinhale asked “How can I get this unit test to pass using IPFS.create?” (forum - 20:46 April 6)


Not sure what’s going on here, I hope someone’s able to assist!

Pat Cappelaere asked “ipfs files ls does not seem to work configured as a private network” (StackOverflow - 14:34 March 24):

When configured as a private network, “ipfs files ls” does not return anything (although many files are loaded and visible through the webui for that particular peer. It does work fine when the network is public. The nodejs client ipfs.files.ls does not return anything either. Is this due to some mis-configuration of my node? Any way around this? Thanks.


Why did this happen?

Some Guy Trying To Do Math asked (paraphrased) “How do I securely allow a remote machine to access port 5001?” (StackOverflow - 03:47 March 18):


I wonder what the best method to accomplish this is :thinking:

Stav Alfi asked “What is multicodec and how it is related to multihash?” (StackOverflow - 11:58 April 9)


Maybe we should link to / refer to IPLD documentation in related https://proto.school pages. I had difficulty understanding the question at first, but https://docs.ipld.io answers this question gracefully I think.

BobC asked “Issues running the js Ipfs bitswap benchmarks” (StackOverflow - 22:59 April 2)


I attempted to look into this. I run into the exact same problem, and it’s not clear why. Questions:

  1. How are benchmarks indended to be run? Following the readme and simply installing js-ipfs-bitswap and running npm run benchmarks will always result in ERR_NO_VALID_ADDRESSES.
  2. Is this a regression? I can only find the one user with the issue, but this seems very challenging to investigate for someone who just discovered this repo.
  3. In either case, maybe a documentation update or better output would be appropriate.

Diagnostic steps:

systemctl --user stop ipfs
rm -rf ~/.ipfs
ipfs init
systemctl --user start ipfs

git clone https://github.com/ipfs/js-ipfs-bitswap
cd js-ipfs-bitswap
npm install ipfs-bitswap
npm run benchmarks

Final output:

> ipfs-bitswap@5.0.1 benchmarks
> node test/benchmarks/get-many

10 nodes, 10 blocks, 5 iterations
      throw errCode(new Error('The dial request has no addresses'), codes.ERR_NO_VALID_ADDRESSES)

Error: The dial request has no addresses
    at Dialer.connectToPeer (/home/user/Documents/js-ipfs-bitswap/node_modules/libp2p/src/dialer/index.js:113:21)
    at processTicksAndRejections (node:internal/process/task_queues:94:5)
    at async Node.dialProtocol (/home/user/Documents/js-ipfs-bitswap/node_modules/libp2p/src/index.js:454:20)
    at async module.exports (/home/user/Documents/js-ipfs-bitswap/test/utils/connect-all.js:13:7)
    at async module.exports (/home/user/Documents/js-ipfs-bitswap/test/utils/distribution-test.js:25:3)
    at async /home/user/Documents/js-ipfs-bitswap/test/benchmarks/get-many.js:14:3 {

Action taken:

Opened forum post: How are the js-ipfs-bitswap benchmarks intended to be run?

It’d be awesome if someone could explain how to run the benchmarks :blush:

macchie asked “Peer Discovery across different Networks” - (forum - 11:37 March 31)


Seems to be related to pubsub and js-ipfs, very interesting question, with no answer.

rsn10 asked “Make CIDv0 from CIDv1 using cid.ipfs.io” - (forum - 5:58 March 29)


Applications should support v1, I’m not sure how much sense it makes to produce v0 from a v1. Additionally, not all adresses would be supported (like DAG CBOR).

christroutner asked (paraphrased) “How do I limit the bandwidth of a peer?” (forum - 11:04 April 10)


This topic is 4 years old, but still has some interest. It’s unsolved.