ipfs / notes

IPFS Collaborative Notebook for Research
MIT License
401 stars 30 forks source link

Next-gen `ipfs update` (IPFS Version Manager) #387

Open Stebalien opened 5 years ago

Stebalien commented 5 years ago

Idea: rustup but for IPFS!

This tool would:

  1. Manage multiple IPFS installs (multiple implementations and multiple versions).
  2. Provide a virtual ipfs command that launches the correct IPFS version (downloading it if necessary).

Requirements

V1:

V2:

V3:

User Story

The user must be able to:

  1. Run ipfs $ARBITRARY_COMMAND and have that command run on the correct version of IPFS.
  2. Run an ipfs update [latest] command to update to the latest stable version of their chosen IPFS implementation (go or js).
  3. Run ipfs update vX.Y.Z to update to a specific version of their chosen IPFS dist.
  4. Run ipfs update $lang-vX.Y.Z to switch to update to a specific version of $lang.
  5. Run ipfs update $lang-latest to switch to the latest IPFS version in $lang.
  6. Pass --transport={ipfs,https,auto} to ipfs update to force a specific transport.

V1 Design

Like rustup, this project should provide a virtual ipfs command that downloads the correct IPFS version/distribution and runs it. Unlike rustup, it should support downloading IPFS over IPFS if a working version of IPFS is already installed.

alanshaw commented 5 years ago

Prior art: https://github.com/alanshaw/iim