From a5c04e9509b67ff49017e21e8414cc4a8c6361e2 Mon Sep 17 00:00:00 2001 From: Daniel N <2color@users.noreply.github.com> Date: Tue, 23 Jul 2024 16:51:22 +0200 Subject: [PATCH 1/9] chore: remove defunct pinning services fixes #1899 --- docs/concepts/persistence.md | 15 +-------------- 1 file changed, 1 insertion(+), 14 deletions(-) diff --git a/docs/concepts/persistence.md b/docs/concepts/persistence.md index 2ccf3e5d5..cabeff6de 100644 --- a/docs/concepts/persistence.md +++ b/docs/concepts/persistence.md @@ -47,14 +47,11 @@ Some of the pinning services listed below are operated by third party companies. ::: - [4EVERLAND Bucket](https://www.4everland.org/bucket/) -- [Estuary](https://estuary.tech/) - [Filebase](https://filebase.com/) -- [Infura](https://infura.io/) -- [Kriptonio](https://kriptonio.com/) +- [Infura](https://www.infura.io/product/ipfs) - [NFT.Storage](https://nft.storage/) - [Pinata](https://pinata.cloud/) - [Scaleway](https://labs.scaleway.com/en/ipfs-pinning/) -- [Spheron](https://spheron.network/) - [Web3.Storage](https://web3.storage/) See how to [work with remote pinning services](../how-to/work-with-pinning-services.md). @@ -72,13 +69,3 @@ Filecoin provides users with a dependable, long-term storage solution. However, ### IPFS + Filecoin solutions Fortunately, there is a growing community of tools and service providers that help simplify the process of making content available over IPFS while also persisting the data via Filecoin. These solutions make it simple to store data using decentralized protocols by acting both as IPFS pinning services and Filecoin storage platforms. Combining the two means that when you upload a file, that file is immediately available for download. Additionally, combined IPFS + Filecoin solutions will periodically bundle data and create a deal with a reputable Filecoin storage provider, ensuring that the data is available in long-term storage. Many solutions include API client libraries for developers to integrate into their apps and services, as well as web interfaces for quickly managing and inspecting files. - -Options in this category include: - -- [Web3.Storage](https://Web3.Storage) -- [NFT.storage](https://nft.storage/) -- [Estuary](https://estuary.tech) -- [Powergate](https://github.com/textileio/powergate) -- [ChainSafe Storage](https://storage.chainsafe.io) -- [Fleek Storage](https://fleek.co/storage) -- [Spheron](https://spheron.network) From 2056c487e2a858b6404a26eb0f575eff2707abfa Mon Sep 17 00:00:00 2001 From: Daniel N <2color@users.noreply.github.com> Date: Tue, 23 Jul 2024 16:56:59 +0200 Subject: [PATCH 2/9] chore: remove outdated spheron guide --- docs/.vuepress/config.js | 8 - docs/how-to/README.md | 5 - docs/how-to/peering-with-content-providers.md | 8 - docs/how-to/spheron.md | 308 ------------------ docs/welcome-builders.md | 2 +- 5 files changed, 1 insertion(+), 330 deletions(-) delete mode 100644 docs/how-to/spheron.md diff --git a/docs/.vuepress/config.js b/docs/.vuepress/config.js index d866be69e..6a2f15459 100644 --- a/docs/.vuepress/config.js +++ b/docs/.vuepress/config.js @@ -306,14 +306,6 @@ module.exports = { ['/how-to/privacy-best-practices', 'Privacy and Encryption'], ] }, - { - title: 'Ecosystem Guides', - sidebarDepth: 1, - collapsable: true, - children: [ - '/how-to/spheron', - ] - }, ], '/reference/': [ '/reference/diagnostic-tools', diff --git a/docs/how-to/README.md b/docs/how-to/README.md index 65531d35d..60088bbdc 100644 --- a/docs/how-to/README.md +++ b/docs/how-to/README.md @@ -20,11 +20,6 @@ See the site navigation menu for all our how-tos, organized by topic area, inclu - **Learn how to build apps** on IPFS, starting with [exploring the IPFS API](https://github.com/ipfs/camp/tree/master/CORE_AND_ELECTIVE_COURSES/CORE_COURSE_C) and [making a basic libp2p app](https://github.com/ipfs/camp/tree/master/CORE_AND_ELECTIVE_COURSES/CORE_COURSE_B) - **Understand how IPFS works in the browser** by learning how to [address IPFS on the Web](address-ipfs-on-web.md) and [how IPFS can be used in your favorite browser tools and frameworks](browser-tools-frameworks.md) -## Ecosystem guides - -Interested in learning more about tools, software and implementations in the wider IPFS ecosystem? Check out these guides, created by IPFS ecosystem partners. - -- [Spheron](./spheron.md) ## Don't see what you're looking for? diff --git a/docs/how-to/peering-with-content-providers.md b/docs/how-to/peering-with-content-providers.md index 009173010..4aee59b31 100644 --- a/docs/how-to/peering-with-content-providers.md +++ b/docs/how-to/peering-with-content-providers.md @@ -72,14 +72,6 @@ This list is provided for informational purposes only. The IPFS Project does not | ------- | --------- | |`12D3KooWGtYkBAaqJMJEmywMxaCiNP7LCEFUAFiLEBASe232c2VH`|`/dns4/bitswap.filebase.io/tcp/443/wss`| -### Spheron Network - -| Peer ID | Addresses | -| ------- | --------- | -|`12D3KooWFdciAga3zq3TZdrmDospFNrWRALe6VM6JpoKGEfVrqEi`|`/ip4/5.199.162.230`| -|`12D3KooWBCzniwFvfS67HyZsJtiehd7RHtcKanGGCd8h6bjVWnkb`|`/ip4/5.199.168.17`| -|`12D3KooWNbvFFq8kzS3eMonQYEmFyWTHboMZnHKr4XnN53gJKqhH`|`/ip4/5.199.162.220`| - ### Storj | Peer ID | Addresses | diff --git a/docs/how-to/spheron.md b/docs/how-to/spheron.md deleted file mode 100644 index eb90cc8df..000000000 --- a/docs/how-to/spheron.md +++ /dev/null @@ -1,308 +0,0 @@ ---- -title: Spheron -description: Learn about Spheron. ---- - -# Spheron - -## What is Spheron? - -[Spheron](https://spheron.network/) is a PaaS designed for dApps looking to launch their applications on decentralised infra with best performance. It provides compute, decentralised storage, CDN & web hosting out of the box. With its comprehensive set of tools and services rooted in Web3 Infra, Spheron empowers developers to meet the dynamic demands of the digital landscape. Going beyond traditional Web2 infrastructures, Spheron offers a wide range of services including web hosting, storage, and compute capabilities, serving as a vital component in the Web3 ecosystem. Its exceptional performance not only rivals Web2 counterparts but also showcases the potential of Web3 technology for the next generation of applications. - -> Learn more about Spheron through [our documentation](https://docs.spheron.network/). - -## How to deploy static site on Spheron? - -Deploying static apps on Spheron is a straightforward process. Follow these steps to deploy your static apps on Spheron: - -1. **Connect your Git Provider:** - Connecting your Git provider allows Spheron to sync your repositories and trigger deployments whenever new updates are made. Spheron supports the following [Git providers](https://docs.spheron.network/static/deployment/logs/): Github, Gitlab, and Bitbucket. - -2. **Set up your Project:** - Create a new project on Spheron and choose your desired app repository for deployment. - -3. **Select deployment protocol:** - Select your desired protocol for hosting your static app. Spheron supports the following protocols: **Arweave**, **Filecoin**, and **IPFS**. - -4. **Configure deployment settings:** - Spheron will automatically detect and configure most of these settings for you. You have to [add environment variables](https://docs.spheron.network/static/projects/variables/) in the dedicated section. If needed, modify the remaining parameters according to your requirements. That includes selecting the framework, branch, root directory, build and output settings, and the node engine. - -5. **Trigger deployment:** - After configuring all the required settings, initiate the deployment process. Spheron will fetch your code, build the static files, and deploy them to your specified protocol. - -6. **Access your app:** - Once the deployment is complete, you can access your app through the domain generated by Spheron. You also have the option to [set up a custom domain](https://docs.spheron.network/static/projects/domain/) for your app. - -> Checkout our [Framework Guide](https://docs.spheron.network/framework-guide/) for more info. - -## How to deploy dynamic-apps/servers on Spheron? - -Deploying compute instances on Spheron is simple and effortless, whether you're using a Docker image from Docker Hub or deploying a marketplace app. Follow these steps to deploy your compute instance on Spheron: - -1. **Set up your Cluster:** - Create a new cluster on Spheron by selecting **Import from Docker Hub** or **Start from Marketplace App**. - -2. **For Docker Hub:** - - 1. Click "New Cluster" on the top right corner. - 2. Select **Import from Docker Hub**. - 3. Enter the names for your cluster and docker image. - 4. Then, Add the tag and Click "Next." - 5. Choose your Compute Type option under **Compute Type**. - 6. Select your preferred **Region**, if any. If you do not add a region, the container will be deployed in **any** region for **Spot**, or in the **eu-east** region for **On Demand**. [Click here](https://docs.spheron.network/compute/cluster/#region) to know more. - 7. Spheron will automatically select the recommended plan for the specific template. If you intend to move forward with the recommended plan, Create new Port Policy Mapping and just Click "Deploy" to initiate deployment. - 8. Select the instance plan that suits your needs. Use the "Create Custom Plan" toggle to create custom plans for your instance. - 9. Configure Storage (SSD) plan for your instance. Use the "Add Persistent Storage" toggle to add persistent storage for your instance. - 10. Create new Port Policy Mapping. Add the container port, and Select the exposed port you want to map it to. Click here to know more. - 11. Add **Environment Variable**, if any. - 12. Add **Secret Environment Variable** if the value is a secret key. It will not be saved in the database. [Click here](https://docs.spheron.network/compute/cluster/#environment-variables) to know more. - 13. You can add advance configuration if required. [Click here](https://docs.spheron.network/compute/cluster/#advance-configuration) to know more. - 14. You can add health checkup if required. [Click here](https://docs.spheron.network/compute/cluster/#health-checkup) to know more. - 15. Click "Deploy" to initiate deployment. - -
- - > Checkout our [Server Guide](https://docs.spheron.network/server-guide/) for more info. - -3. **For Marketplace App:** - - 1. Click "New Cluster" on the top right corner. - 2. Select **Start from Marketplace App**. - 3. Pick your desired template from the marketplace. - 4. Choose your desired Compute Type option under **Compute Type**. - 5. Select your preferred **Region**, if any. If you do not add a region, the container will be deployed in **any** region for **Spot**, or in the **eu-east** region for **On Demand**. [Click here](https://docs.spheron.network/compute/cluster/#region) to know more. - 6. Spheron will automatically select the recommended plan for the specific template. If you intend to move forward with the recommended plan, just Click "Deploy" to initiate deployment. - 7. Select the instance plan that suits your needs. Use the "Create Custom Plan" toggle to create custom plans for your instance. - 8. Configure Storage (SSD) plan for your instance. Use the "Add Persistent Storage" toggle to add persistent storage for your instance. - 9. You can add advance configuration if required. [Click here](https://docs.spheron.network/compute/cluster/#advance-configuration-1) to know more. - 10. Click "Deploy" to initiate deployment. - -
- - > Checkout our [Marketplace Guide](https://docs.spheron.network/marketplace-guide/) for more info. - -## How to upload to IPFS using Spheron SDK? - -### 1. Spheron Storage SDK (for Nodejs environments) - -### Installation - -```sh -npm i @spheron/storage -``` - -### Usage - -```js -import { SpheronClient, ProtocolEnum } from '@spheron/storage' - -const client = new SpheronClient({ token }) - -let currentlyUploaded = 0 - -const { uploadId, bucketId, protocolLink, dynamicLinks } = await client.upload( - filePath, - { - protocol: ProtocolEnum.IPFS, - name, - onUploadInitiated: uploadId => { - console.log(`Upload with id ${uploadId} started...`) - }, - onChunkUploaded: (uploadedSize, totalSize) => { - currentlyUploaded += uploadedSize - console.log(`Uploaded ${currentlyUploaded} of ${totalSize} Bytes.`) - } - } -) -``` - -> Checkout our [Storage SDK Documentation](https://docs.spheron.network/sdk/storage-v2/) for more info. - -### 2. Spheron Browser Upload SDK (for Browser environments) - -### Installation - -```sh -npm i @spheron/browser-upload -``` - -### Usage - -### Server - -You have to set up a web server with an endpoint that will be used by the frontend to fetch the token for upload. - -```js -import { SpheronClient, ProtocolEnum } from "@spheron/storage"; - -... - -app.get("/initiate-upload", async (req, res, next) => { - try { - const bucketName = "example-browser-upload"; // use your preferred name - const protocol = ProtocolEnum.IPFS; // use your preferred protocol - const token = process.env.SPHERON_TOKEN; // add your access token in .env or paste it here - - const client = new SpheronClient({ token }); - - const { uploadToken } = await client.createSingleUploadToken({ - name: bucketName, - protocol, - }); - - res.status(200).json({ - uploadToken, - }); - } catch (error) { - console.error(error); - next(error); - } -}); -``` - -### Client - -You have to send a request to your server to create the uploadToken that will be used to upload files from the browser. - -```js -import { upload } from "@spheron/browser-upload"; - -... - -const response = await fetch(`/initiate-upload`); // get the temporary access token from server -const resJson = await response.json(); -const token = resJson.uploadToken; - -let currentlyUploaded = 0; - -const { uploadId, bucketId, protocolLink, dynamicLinks } = await upload(files, { - token, - onChunkUploaded: (uploadedSize, totalSize) => { - currentlyUploaded += uploadedSize; - console.log(`Uploaded ${currentlyUploaded} of ${totalSize} Bytes.`); - }, -}); - -... -``` - -> Checkout our [Browser Upload SDK](https://docs.spheron.network/sdk/browser/) for more info. - -> Checkout all other [SDKs](https://docs.spheron.network/sdk/) for more in-depth information. - -## How to create and deploy apps using Spheron CLI? - -## Installation - -#### For Mac and Linux - -To install the Spheron CLI, run the following command in your terminal: - -``` -sudo npm install -g @spheron/cli -``` - -#### For Windows - -To install the Spheron CLI, open your terminal as administrator mode and run the following command: - -``` -npm install -g @spheron/cli -``` - -## Usage - -### spheron init - -The `spheron init` command allows you to initialize a new Spheron project. A `spheron.json` file is created in your current path that describes your project. It will be utilized by the `spheron publish` command. - -#### Usage - -```sh -spheron init -``` - -Upon running this command, a prompter will appear that will allow you to select protocol, add project name, add path, and select framework. Here is how it will look: - -```sh -? Project name: (Code) -? Upload protocol: (Use arrow keys) - Arweave - Filecoin -❯ IPFS -``` - -### spheron publish - -The `spheron publish` command allows you to upload your project using the configuration that is described in the `spheron.json` file of your project. - -#### Usage - -```sh -spheron publish -``` - - - Make sure that you create a production build before running the `spheron - publish` command. - - -Here is an example of how the result will look: - -```sh -Spheron CLI 1.0.7 - -Publishing your dapp to IPFS 🚀 -Uploading directory build -Upload started, ID of deployment: 643fce207c3c7a0012df33a7 -⠙ Uploading to IPFS -✓ Success! Upload finished ! -Here are upload details: -Upload ID: 643fce207c3c7a0012df33a7 -Bucket ID: 643fce207c3c7a0012df33a5 -Protocol Link: https://bafybeicrjwhn6nifl7tcuhkcitquvpumj426qa7r7ppcya5skmqly5n2la.ipfs.sphn.link -Dynamic Links: https://testapp-edab50.spheron.app -``` - -> Checkout our [CLI Documentation](https://docs.spheron.network/cli/) for more info. - -## How to view and retrieve content from IPFS using Spheron? - -### Dedicated IPFS Gateways - -[Dedicated Gateways](https://docs.spheron.network/gateways/dedicated/) are IPFS gateways specifically designed to enhance access to pinned content across the network by offering faster speeds and increased rate limits. - -Using Dedicated Gateways offers several benefits: - -- Improved Speed -- Increased Rate Limits -- Whitelabeling Gateway -- Serve Content from Any IPFS Node - -### Create a Dedicated Gateway - -Follow these steps to create a Dedicated Gateway: - -1. Log in to Spheron and navigate to the **Gateways** section in the navbar. -2. Click **Generate** to create a new gateway. -3. Enter a name for your gateway and Click **Create**. - -### How to Use Your Gateway? - -To access content through your Dedicated Gateway, simply follow these steps: - -1. Obtain the CID (Content Identifier) of the file you wish to view. -2. Append the CID to your gateway URL in the following format: - -``` -https://{gateway-name}.spheron.link/ipfs/{cid} -``` - -> Checkout our [Gateway Documentation](https://docs.spheron.network/gateways/dedicated/) for more info. - -## Further Resources - -- Visit [our platform](https://spheron.network/) to learn more. -- Access our comprehensive [documentation](https://docs.spheron.network/) for detailed information. -- Follow us on [Twitter](https://twitter.com/SpheronFDN) for the latest updates and news. -- Join our [Community](https://community.spheron.network/) for dedicated support and assistance. diff --git a/docs/welcome-builders.md b/docs/welcome-builders.md index acba8b297..ce2da78ae 100644 --- a/docs/welcome-builders.md +++ b/docs/welcome-builders.md @@ -34,7 +34,7 @@ Or, check out the [Building Web3 video series](https://www.youtube.com/playlist? **What can _you_ build using IPFS?** Thanks to a rapidly growing developer community, global traction for a wide variety of use cases, and active open-source development, the possibilities are virtually endless. Check out these [usage ideas and examples](concepts/usage-ideas-examples.md) for inspiration, plus these pointers for getting started integrating IPFS into your project: - With implementations in [Go](https://github.com/ipfs/kubo) and [JavaScript](https://js.ipfs.tech/) (plus [Rust](https://github.com/rs-ipfs/rust-ipfs) in the works), options for **directly integrating IPFS into your codebase** are versatile. -- For **IPFS-based deployment and dev tools**, the options are growing every day — including [Spheron](https://spheron.network) (deployment, storage, app tooling, gateways and compute deployments), [Fleek](https://fleek.co) (deployment, storage, and app tooling), [Textile](https://textile.io) (databases, storage, CDN, Filecoin integration), and [Fission](https://fission.codes) (front-end app publishing using web3 back-end tools), to name just a few. +- For **IPFS-based deployment and dev tools**, the options are growing every day — including [Fleek](https://fleek.co) (deployment, storage, and app tooling), [Textile](https://textile.io) (databases, storage, CDN, Filecoin integration), and [Fission](https://fission.codes) (front-end app publishing using web3 back-end tools), to name just a few. - Want to integrate **Filecoin** into your architecture in addition to IPFS? [Learn how Filecoin and IPFS work together](https://docs.filecoin.io/basics/how-storage-works/filecoin-and-ipfs/). - For hosting large amounts of data on multiple nodes, [IPFS Cluster](https://ipfscluster.io/) helps you with **data orchestration across many peers**. - Or, to **ensure availability** without having to maintain your own IPFS infrastructure, you can use a [third-party pinning service](concepts/persistence.md#pinning-services) to host your files on their own nodes. From 4da4cca07526ab69a506ba1f82e67855249fceba Mon Sep 17 00:00:00 2001 From: Daniel N <2color@users.noreply.github.com> Date: Tue, 23 Jul 2024 16:57:26 +0200 Subject: [PATCH 3/9] chore: remove infura as its no longer widely available --- docs/concepts/persistence.md | 1 - 1 file changed, 1 deletion(-) diff --git a/docs/concepts/persistence.md b/docs/concepts/persistence.md index cabeff6de..59535321d 100644 --- a/docs/concepts/persistence.md +++ b/docs/concepts/persistence.md @@ -48,7 +48,6 @@ Some of the pinning services listed below are operated by third party companies. - [4EVERLAND Bucket](https://www.4everland.org/bucket/) - [Filebase](https://filebase.com/) -- [Infura](https://www.infura.io/product/ipfs) - [NFT.Storage](https://nft.storage/) - [Pinata](https://pinata.cloud/) - [Scaleway](https://labs.scaleway.com/en/ipfs-pinning/) From be82e53a936ae3d9da31ff1396978b52c492f026 Mon Sep 17 00:00:00 2001 From: Daniel N <2color@users.noreply.github.com> Date: Tue, 23 Jul 2024 16:59:34 +0200 Subject: [PATCH 4/9] chore: remove usage ideas and examples very outdated with broken links --- docs/.vuepress/config.js | 1 - docs/concepts/README.md | 1 - docs/concepts/ipfs-solves.md | 1 - docs/concepts/usage-ideas-examples.md | 335 -------------------------- docs/concepts/what-is-ipfs.md | 1 - docs/welcome-builders.md | 2 +- 6 files changed, 1 insertion(+), 340 deletions(-) delete mode 100644 docs/concepts/usage-ideas-examples.md diff --git a/docs/.vuepress/config.js b/docs/.vuepress/config.js index 6a2f15459..3e463d724 100644 --- a/docs/.vuepress/config.js +++ b/docs/.vuepress/config.js @@ -188,7 +188,6 @@ module.exports = { '/concepts/cod', '/concepts/comparisons', '/concepts/public-utilities', - '/concepts/usage-ideas-examples', ['/concepts/measuring', 'Measuring the network'], '/concepts/faq', '/concepts/glossary', diff --git a/docs/concepts/README.md b/docs/concepts/README.md index d94976d1c..07d46acc6 100644 --- a/docs/concepts/README.md +++ b/docs/concepts/README.md @@ -53,7 +53,6 @@ We're adding more documentation all the time and making ongoing revisions to exi ## Examples and case studies -- [Usage ideas & examples](usage-ideas-examples.md) - [Case study: Arbol](../case-studies/arbol.md) - [Case study: Audius](../case-studies/audius.md) - [Case study: Fleek](../case-studies/fleek.md) diff --git a/docs/concepts/ipfs-solves.md b/docs/concepts/ipfs-solves.md index 35d105b8f..4e246f57c 100644 --- a/docs/concepts/ipfs-solves.md +++ b/docs/concepts/ipfs-solves.md @@ -63,5 +63,4 @@ IPFS prevents | go | Lightweight IPFS HTTP Gateway daemon backed by a remote data store. | -| boost | | go | Daemon to get IPFS data in and out of a Filecoin storage provider. | -| boxo | | go | A component library for building IPFS applications and implementations in Go. | -| Elastic provider | | javascript, typescript | Scalable cloud-native implementation. | -| Estuary | | go | Daemon oriented service to pin and onboard IPFS data into Filecoin. | -| helia | | javascript | A lean, modular, and modern implementation of IPFS for the prolific JS and browser environments | -| ipfs cluster | | go | Orchestration for multiple Kubo nodes via CRDT / Raft consensus | -| iroh | | rust | Extreme-efficiency oriented IPFS implementation. | -| Kubo | | go | Generalist daemon oriented IPFS implementation with an extensive HTTP RPC API. | -| Lassie |   | go | A minimal universal retrieval client library for IPFS and Filecoin. | -| Lotus | | go | Filecoin node handling consensus, storage providing, making storage deals, importing data, ... | -| Nabu | | java | A minimalistic, fast and embeddable IPFS implementation. | +| Name | URL | Language(s) | What it's trying to do | +| --------------- | -------------------------------------------------- | ---------------------- | ----------------------------------------------------------------------------------------------- | +| bifrost-gateway | | go | Lightweight IPFS HTTP Gateway daemon backed by a remote data store. | +| boost | | go | Daemon to get IPFS data in and out of a Filecoin storage provider. | +| boxo | | go | A component library for building IPFS applications and implementations in Go. | +| Elastic IPFS | | javascript, typescript | Scalable cloud-native implementation. | +| Estuary | | go | Daemon oriented service to pin and onboard IPFS data into Filecoin. | +| helia | | javascript | A lean, modular, and modern implementation of IPFS for the prolific JS and browser environments | +| ipfs cluster | | go | Orchestration for multiple Kubo nodes via CRDT / Raft consensus | +| iroh | | rust | Extreme-efficiency oriented IPFS implementation. | +| Kubo | | go | Generalist daemon oriented IPFS implementation with an extensive HTTP RPC API. | +| Lassie |   | go | A minimal universal retrieval client library for IPFS and Filecoin. | +| Lotus | | go | Filecoin node handling consensus, storage providing, making storage deals, importing data, ... | +| Nabu | | java | A minimalistic, fast and embeddable IPFS implementation. | ## Lite or Experimental -| Name | URL | Language(s) | What it's trying to do | -|------------------|------------------------------------------------------------------|------------------------|--------------------------------------------------------------------------------------------------------------------------| -| auspinner | | go | CLI tool to deal with the pinning service API and upload files through bitswap. | -| barge | | go | CLI tool with a git like workflow to upload deltas to estuary. | -| durin | | N/A | An iOS and Android app for exploring IPFS functionality and use-cases. | -| gomobile-ipfs | | go | Library oriented ipfs daemon to help embedding Kubo into a mobile app. | -| homestar |   | rust | The core implementation and runtime of [IPVM](https://github.com/ipvm-wg). | -| ipfs-embed | | rust | Small embeddable ipfs implementation. | -| ipfs-lite | | go | Minimal library oriented ipfs daemon building on the same blocks as Kubo but with a minimal glue layer. | -| ipfs-nucleus |   | go | Minimal IPFS replacement for P2P IPLD apps. | -| RIBS | | go | A Filecoin-native IPFS and IPLD blockstore designed for seamless integration with Filecoin. | +| Name | URL | Language(s) | What it's trying to do | +| ------------- | ------------------------------------------------ | ----------- | ------------------------------------------------------------------------------------------------------- | +| auspinner | | go | CLI tool to deal with the pinning service API and upload files through bitswap. | +| barge | | go | CLI tool with a git like workflow to upload deltas to estuary. | +| durin | | N/A | An iOS and Android app for exploring IPFS functionality and use-cases. | +| gomobile-ipfs | | go | Library oriented ipfs daemon to help embedding Kubo into a mobile app. | +| homestar |   | rust | The core implementation and runtime of [IPVM](https://github.com/ipvm-wg). | +| ipfs-embed | | rust | Small embeddable ipfs implementation. | +| ipfs-lite | | go | Minimal library oriented ipfs daemon building on the same blocks as Kubo but with a minimal glue layer. | +| ipfs-nucleus |   | go | Minimal IPFS replacement for P2P IPLD apps. | +| RIBS | | go | A Filecoin-native IPFS and IPLD blockstore designed for seamless integration with Filecoin. | ## Inactive -| Name | URL | Language(s) | What it's trying to do | -|------------------|------------------------------------------------------------------|------------------------|--------------------------------------------------------------------------------------------------------------------------| -| Agregore | | go, javascript | Mobile friendly Kubo daemon. | -| c-ipfs | | C | IPFS implementation in C. | -| ipfs tiny | | c++ | Tiny embeddable, os-independent IPFS implementation. | -| ipget | | go | Minimal wget inspired tool to download files from IPFS nodes over bitswap. | -| js-ipfs | | javascript, typescript | Javascript implementation targeting nodejs and browsers. [Deprecated and replaced by Helia](https://github.com/ipfs/js-ipfs/issues/4336). | -| Linux2ipfs | | go | Small pipeline and extreme-performance oriented implementation to upload files and deltas to pinning services very fast. | -| py-ipfs | | python | Python IPFS implementation. | -| rust-ipfs | | rust | Rust IPFS implementation. | -| whypfs | | go | Daemon based on the same building blocks as Kubo but with some options tweaking for more performance. | \ No newline at end of file +| Name | URL | Language(s) | What it's trying to do | +| ---------- | ----------------------------------------------------- | ---------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | +| Agregore | | go, javascript | Mobile friendly Kubo daemon. | +| c-ipfs | | C | IPFS implementation in C. | +| ipfs tiny | | c++ | Tiny embeddable, os-independent IPFS implementation. | +| ipget | | go | Minimal wget inspired tool to download files from IPFS nodes over bitswap. | +| js-ipfs | | javascript, typescript | Javascript implementation targeting nodejs and browsers. [Deprecated and replaced by Helia](https://github.com/ipfs/js-ipfs/issues/4336). | +| Linux2ipfs | | go | Small pipeline and extreme-performance oriented implementation to upload files and deltas to pinning services very fast. | +| py-ipfs | | python | Python IPFS implementation. | +| rust-ipfs | | rust | Rust IPFS implementation. | +| whypfs | | go | Daemon based on the same building blocks as Kubo but with some options tweaking for more performance. | From b0edbd74a1dbb0eef7c2a40fbc1aa642e94813aa Mon Sep 17 00:00:00 2001 From: Daniel N <2color@users.noreply.github.com> Date: Wed, 24 Jul 2024 14:56:46 +0200 Subject: [PATCH 7/9] chore: add words to allowed word list --- .github/styles/pln-ignore.txt | 60 +++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) diff --git a/.github/styles/pln-ignore.txt b/.github/styles/pln-ignore.txt index 60dbec3f4..249a7a12a 100644 --- a/.github/styles/pln-ignore.txt +++ b/.github/styles/pln-ignore.txt @@ -1,3 +1,63 @@ +(?i)APIs? +(?i)BitSwap +(?i)Boxo +(?i)CIDs? +(?i)CLI +(?i)DHTs? +(?i)Durin +(?i)DNSLink +(?i)FQDNs? +(?i)homestar +(?i)Helia +(?i)IPFS +(?i)JavaScript +(?i)JS-IPFS +(?i)json +(?i)libp2p +(?i)Merkle +(?i)Nabu +(?i)Netlify +(?i)NFTs? +(?i)Nginx +(?i)NodeJS +(?i)NPM +(?i)PowerShell +(?i)URIs? +(?i)VPNs? +(?i)VSCode +[Bb]it[Ss]wap +[Bb]lockchains? +[Bb]ool(ean)? +[Dd]atastore +[Dd]Web +[Ee]thereum +[Ff]ilecoin +[Ff]ilecorgi +[Ff]lat[Ff][Ss] +[Ff]leek +[Gg]it(hub)? +[Hh]ackathons? +[Ii]roh +[Kk]ademlia +[Kk]eystores? +[Kk]ubo +[Mm]arkdown(lint)? +[Mm]ultiaddr(ess)? +[Mm]ultiaddrs +[Mm]ultibase +[Mm]ulticodec +[Mm]ultiformats +[Mm]ultihash +[Mm]ulticast +[Nn]amespace +[Pp]reload +[Pp]ub[Ss]ub +[Rr]abin +[Rr]epos? +[Ww]ebpack +[Ww]ebpages? +[Ww]ebsockets? +[Y]ou[T]ube Aave accessor ACL From 7f38aef45c63089699d1d54f000fe244ac1aae7e Mon Sep 17 00:00:00 2001 From: Daniel N <2color@users.noreply.github.com> Date: Wed, 24 Jul 2024 15:44:57 +0200 Subject: [PATCH 8/9] ci: fix spell checking use the correct format for pln-ignore.txt which is case insensitive anyway https://vale.sh/docs/topics/styles/#ignoring-non-dictionary-words --- .../{ipfs-docs-style => docs}/OxfordComma.yml | 0 .../{ipfs-docs-style => docs}/PLNSpelling.yml | 0 .github/styles/pln-ignore.txt | 424 +++++++----------- .vale.ini | 2 +- 4 files changed, 172 insertions(+), 254 deletions(-) rename .github/styles/{ipfs-docs-style => docs}/OxfordComma.yml (100%) rename .github/styles/{ipfs-docs-style => docs}/PLNSpelling.yml (100%) diff --git a/.github/styles/ipfs-docs-style/OxfordComma.yml b/.github/styles/docs/OxfordComma.yml similarity index 100% rename from .github/styles/ipfs-docs-style/OxfordComma.yml rename to .github/styles/docs/OxfordComma.yml diff --git a/.github/styles/ipfs-docs-style/PLNSpelling.yml b/.github/styles/docs/PLNSpelling.yml similarity index 100% rename from .github/styles/ipfs-docs-style/PLNSpelling.yml rename to .github/styles/docs/PLNSpelling.yml diff --git a/.github/styles/pln-ignore.txt b/.github/styles/pln-ignore.txt index 249a7a12a..d11ecbbbf 100644 --- a/.github/styles/pln-ignore.txt +++ b/.github/styles/pln-ignore.txt @@ -1,347 +1,265 @@ -(?i)APIs? -(?i)BitSwap -(?i)Boxo -(?i)CIDs? -(?i)CLI -(?i)DHTs? -(?i)Durin -(?i)DNSLink -(?i)FQDNs? -(?i)homestar -(?i)Helia -(?i)IPFS -(?i)JavaScript -(?i)JS-IPFS -(?i)json -(?i)libp2p -(?i)Merkle -(?i)Nabu -(?i)Netlify -(?i)NFTs? -(?i)Nginx -(?i)NodeJS -(?i)NPM -(?i)PowerShell -(?i)URIs? -(?i)VPNs? -(?i)VSCode -[Bb]it[Ss]wap -[Bb]lockchains? -[Bb]ool(ean)? -[Dd]atastore -[Dd]Web -[Ee]thereum -[Ff]ilecoin -[Ff]ilecorgi -[Ff]lat[Ff][Ss] -[Ff]leek -[Gg]it(hub)? -[Hh]ackathons? -[Ii]roh -[Kk]ademlia -[Kk]eystores? -[Kk]ubo -[Mm]arkdown(lint)? -[Mm]ultiaddr(ess)? -[Mm]ultiaddrs -[Mm]ultibase -[Mm]ulticodec -[Mm]ultiformats -[Mm]ultihash -[Mm]ulticast -[Nn]amespace -[Pp]reload -[Pp]ub[Ss]ub -[Rr]abin -[Rr]epos? -[Ww]ebpack -[Ww]ebpages? -[Ww]ebsockets? -[Y]ou[T]ube -Aave +[bb]it[ss]wap +[bb]lockchains +[bb]ool(ean) +[dd]atastore +[dd]web +[ee]thereum +[ff]ilecoin +[ff]ilecorgi +[ff]lat[ff][ss] +[ff]leek +[gg]it(hub) +[hh]ackathons +[ii]roh +[kk]ademlia +[kk]eystores +[kk]ubo +[mm]arkdown(lint) +[mm]ultiaddr(ess) +[mm]ultiaddrs +[mm]ultibase +[mm]ulticast +[mm]ulticodec +[mm]ultiformats +[mm]ultihash +[nn]amespace +[pp]reload +[pp]ub[ss]ub +[rr]abin +[rr]epos +[ss]neakernet +[ww]ebpack +[ww]ebpages +[ww]ebsockets +[y]ou[t]ube +^(whypfs)$ +^(whyrusleeping)$ +^webrequest$ +^wss$ +aave accessor -ACL -ACLs -ADL -ADLs +acls +addrs +adls agregore -API -APIs -Arbol -Arbol's +apis +arbol +arbol's +arbol('s) +arg auditable -Audius +audius auspinner -BitSwap bitswap -bootstrappers -bootstrapper -bootstrap -Blockchain -blockchain blockchains blockstore -boolean -Booleans -Browserify -CA -callout -CAs -CDN -CDNs -Certbot -CID -CIDs -CLI -CNAME -CNAMEs +bool +bool(ean) +boxo +browserify +callouts +cas +cdns +certbot +cid +cids +cli +cmds +cnames codec -Coinlist -Combinator -Composable +codecov +coinlist composable config counterparty coworking -CPU -CPUs +cpus crowdsourcing -cryptocurrencies -cryptocurrency -DAO -DAOs -dApp -dApps -data -data's -Datastore +crypto(currencies) +daos +dapps +data('s) datastore -dialback -dClimate deduplicate -Denylist +dep +deps deserialization -deserialized -Dheeraj -DHT -DHTs +devs +dheeraj +dht +dhts dialable -discoverability -DNS -DNSAddr -DNSLink -DNSLinks +dns('s) +dnsaddr dnslink -dnslinks dotgraph -DWeb +dups dweb embeddable -Eternum -Ethereum +eternum ethereum explainers -Fabien -failover -Fastly -Filebase -Filecoin +fabien +failovers +filebase filecoin -Filestore -FlatFS +filecorgi +filesizes +filestore flatfs -Fleek -FQDN -FQDNs +fleek +fqdns gasless geospatial -Git -Git's -GitHub -Gnutella -goroutine +git(hub) +gnutella goroutines -Graphsync -GUI -GUIs -Hackathon +graphsync +guis hackathons -Hareesh -Helia +hareesh +helia homebrew hostname hostnames -HTML -HTTPS +html +https identafiability -Infura +infura interop -iotop -iostat -IPFS -IPFS's +ipfs ipget -Iroh iroh -Jakub -JavaScript +jakub javascript -Jeromy -Jha -JS -JS-IPFS -JSDelivr -JSON +jeromy +jha +js +js-ipfs +jsdelivr json jumpstarted -Kademlia -Kazaa +kademlia +kazaa keepalive keypair -Keystore -keystore -Keystores keystores -Kubo kubo -Kubuxu -Laika -lastAlive -lastBootstrap -lastPeer -LibP2P +kubuxu +laika +lan +lastalive +lastbootstrap +lastpeer +leveldb libp2p +linux lookups loopback -Mainnet mainnet -Markdownlint -Merkle -metadata -metadata's -Metamask -Minty -Minty's -Mojitos +markdown(lint) +merkle +metadata('s) +metamask +minty('s) +mojitos multiaddr -Multiaddrs -Multiaddress -multiaddresses -Multibase +multiaddr(ess) +multiaddrs multibase -Multicodec +multicast multicodec -Multicodecs -Multiformat -Multiformats -multiformat -Multihash -Multihashes +multiformats multihash +multihashes multipage -Nagaraj -Nakamoto -Nakamoto's -Namebase -Namecheap -Namespace +mutex +nagaraj +nakamoto('s) +namebase +namecheap namespace -NAT -NAT's -Neocities -Netlify -Next.js -NFT -NFTs -Nginx +nats +neocities +netlify +next.js +nfts nginx -NodeJS nodejs -NPM +npm packfile passthrough -Peergos +peergos +performant permissionless -Philz +philz pinset pipeable plaintext pluggable -Powergate -PowerShell -Preload +powergate +powershell preload prepended -processAnnounce +processannounce protobuf -Protocol Labs -Protoschool +protocol labs +protoschool proxied -PubSub pubsub -Qm -Rabin +qm +rabin rasterio -README -READMEs -reachability +readmes referenceable -Repo +repo +repos reprovider reproviding -retrievability +requesters roadmaps +rsa sandboxed -Satoshi +satoshi +satoshi nakamoto serverless sharding snapshotted -Speedtest +sneakernet +sneakernets stackparse stdout -someguy -Storj +storj +subcommand substring -Sztandera -takedown -Testground +sys +sztandera +testground testnet toolkits trustlessly uncensorable undialable -Uniswap +uniswap unreachability untrusted -URI -URIs -URL -URLs -Urlstore +upgradeability +uris +urls urlstore userland userspace -VPN -VPNs -VSCode +vpns vscode -Vue +vue wantlist -Webpack +wantlists webpack -webpage -Webpages -webrequest -Websocket -websocket +webpages +websockets webui -Westeros -wget +westeros whitepaper -whypfs -whyrusleeping -WiFi -WS -WSS -YouTube -Yamux \ No newline at end of file +wifi +ws +youtube \ No newline at end of file diff --git a/.vale.ini b/.vale.ini index 20871378e..1d1470a1a 100644 --- a/.vale.ini +++ b/.vale.ini @@ -4,4 +4,4 @@ MinAlertLevel = suggestion IgnoredScopes = code, tt [*.md] -BasedOnStyles = ipfs-docs-style \ No newline at end of file +BasedOnStyles = docs \ No newline at end of file From 3745e64ac10ca7d47bb5b249a584334bb816817e Mon Sep 17 00:00:00 2001 From: Daniel N <2color@users.noreply.github.com> Date: Wed, 24 Jul 2024 15:53:34 +0200 Subject: [PATCH 9/9] fix: ignore list --- .github/styles/pln-ignore.txt | 59 +++++++++++------------------------ 1 file changed, 19 insertions(+), 40 deletions(-) diff --git a/.github/styles/pln-ignore.txt b/.github/styles/pln-ignore.txt index d11ecbbbf..9b8eb68ca 100644 --- a/.github/styles/pln-ignore.txt +++ b/.github/styles/pln-ignore.txt @@ -1,41 +1,3 @@ -[bb]it[ss]wap -[bb]lockchains -[bb]ool(ean) -[dd]atastore -[dd]web -[ee]thereum -[ff]ilecoin -[ff]ilecorgi -[ff]lat[ff][ss] -[ff]leek -[gg]it(hub) -[hh]ackathons -[ii]roh -[kk]ademlia -[kk]eystores -[kk]ubo -[mm]arkdown(lint) -[mm]ultiaddr(ess) -[mm]ultiaddrs -[mm]ultibase -[mm]ulticast -[mm]ulticodec -[mm]ultiformats -[mm]ultihash -[nn]amespace -[pp]reload -[pp]ub[ss]ub -[rr]abin -[rr]epos -[ss]neakernet -[ww]ebpack -[ww]ebpages -[ww]ebsockets -[y]ou[t]ube -^(whypfs)$ -^(whyrusleeping)$ -^webrequest$ -^wss$ aave accessor acls @@ -50,11 +12,13 @@ arg auditable audius auspinner +bit[ss]wap bitswap blockchains blockstore bool bool(ean) +boolean boxo browserify callouts @@ -94,6 +58,7 @@ dnsaddr dnslink dotgraph dups +durin dweb embeddable eternum @@ -106,6 +71,7 @@ filecoin filecorgi filesizes filestore +flatf[ss] flatfs fleek fqdns @@ -120,6 +86,7 @@ hackathons hareesh helia homebrew +homestar hostname hostnames html @@ -158,13 +125,16 @@ lookups loopback mainnet markdown(lint) +markdownlint merkle metadata('s) metamask +minimalistic minty('s) mojitos multiaddr multiaddr(ess) +multiaddress multiaddrs multibase multicast @@ -174,8 +144,10 @@ multihash multihashes multipage mutex +nabu nagaraj -nakamoto('s) +nakamoto +nakamoto's namebase namecheap namespace @@ -206,6 +178,7 @@ protobuf protocol labs protoschool proxied +pub[ss]ub pubsub qm rabin @@ -254,12 +227,18 @@ vscode vue wantlist wantlists +web webpack webpages +webrequest websockets webui westeros +wget whitepaper +whypfs +whyrusleeping wifi ws -youtube \ No newline at end of file +wss +youtube