Skip to content
This repository has been archived by the owner on Feb 12, 2024. It is now read-only.

Split package into core, node and app #2580

Closed
rumkin opened this issue Oct 31, 2019 · 1 comment
Closed

Split package into core, node and app #2580

rumkin opened this issue Oct 31, 2019 · 1 comment
Assignees
Labels

Comments

@rumkin
Copy link

rumkin commented Oct 31, 2019

  • Version: 0.39.0
  • Platform: All
  • Subsystem: Package

Type: Enhancement

Severity: Medium

Description:

This issue is a continuation of the #2550. Current ipfs package is overloaded and violates SOLID and KISS principles. It has too much responsibilities: run IPFS node, run web interface, serve as a library, etc.

I propose to split the package into submodules according to functionality:

  • IPFS core: for build IPFS into another products.
  • IPFS node: for running standalone node as a micro/web-service as a daemon. This is what ipfs package should be, as I think.
  • IPFS webapp: for node management and inspection.

Use cases

Built-in node

I'm using IPFS in my product for readonly downloads and as a local cache for the downloaded data. This is running inside of the client application which has its' own management tools and interfaces. Thus there is no need in web interface, cli tools or keys management. I need only minimal IPFS installation.

Overlays

Also I've created an overlay which serves only exact type of content received via IPFS. It validates data before serving it. Such content type could be one from limited set e.g. JSON schemas, JS bundles, git repo. So I need to preserve common interface and add custom error codes over provided by IPFS. And I have my own web interface and management tools.

Shards

Using IPFS as a part of a distributed file storage requires only network interface and core functionality.

@alanshaw alanshaw added exploration P3 Low: Not priority right now labels Nov 4, 2019
@lidel lidel mentioned this issue Oct 6, 2020
2 tasks
@whizzzkid
Copy link

whizzzkid commented May 31, 2023

js-ipfs is being deprecated in favor of Helia. You can follow the migration plan here #4336 and read the migration guide.

This issue has been resolved in Helia! if this does not address your concern please let us know by reopening this issue before 2023-06-05!

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
No open projects
Status: Done
Development

No branches or pull requests

3 participants