Skip to content

Commit c4c343f

Browse files
ElPaisanoSgtPooki
andauthored
Update Helia and js-ipfs information / patch build (#1639)
Co-authored-by: Russell Dempsey <[email protected]>
1 parent cb9e234 commit c4c343f

15 files changed

+52
-470
lines changed

Diff for: CONTRIBUTING.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -64,9 +64,9 @@ Write everything using the [GitHub Flavored Markdown](https://github.github.com/
6464
6565
### Project-specific titles
6666

67-
When referring to projects by name, use proper noun capitalization: Kubo (GO-IPFS) and JS-IPFS.
67+
When referring to projects by name, use proper noun capitalization. For example, Kubo and Helia.
6868

69-
Cases inside code blocks refer to commands and are not capitalized: `kubo` (`go-ipfs`) or `js-ipfs`.
69+
Cases inside code blocks refer to commands and are not capitalized: `kubo` or `helia`.
7070

7171
### Style and tone
7272

Diff for: README.md

+10-5
Original file line numberDiff line numberDiff line change
@@ -48,22 +48,27 @@ To build the site locally, follow the steps below.
4848
git clone https://github.com/ipfs/ipfs-docs.git
4949
```
5050

51-
2. Move into the `ipfs-docs` folder and install the NPM dependencies:
51+
1. Move into the `ipfs-docs` folder:
5252

5353
```bash
5454
cd ipfs-docs
55+
```
56+
57+
1. Install the NPM dependencies:
58+
59+
```bash
5560
npm install
5661
```
5762

58-
3. Boot up the application in _dev mode_:
63+
1. Boot up the application in _dev mode_:
5964

6065
```bash
6166
npm start
6267
```
6368

64-
4. Open [localhost:8080](http://localhost:8080) in your browser.
65-
5. Close the local server with `CTRL` + `c`.
66-
6. To restart the local server, run `npm start` from within the `ipfs-docs` folder.
69+
1. Open [localhost:8080](http://localhost:8080) in your browser.
70+
1. Close the local server with `CTRL` + `c`.
71+
1. To restart the local server, run `npm start` from within the `ipfs-docs` folder.
6772

6873
### Troubleshooting
6974

Diff for: docs/.vuepress/config.js

+6-1
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,19 @@ const pageSuffix = '/'
77
const installMenuChildren = [
88
['/install/command-line','IPFS Kubo for Go'],
99
['/install/run-ipfs-inside-docker', 'IPFS Kubo in Docker'],
10-
['/install/js-ipfs','IPFS for JavaScript'],
10+
['https://github.com/ipfs/helia','IPFS Helia for JavaScript'],
1111
['https://iroh.computer/docs/install/', "IPFS Iroh for Rust"],
1212
['/install/ipfs-desktop', 'IPFS Desktop App'],
1313
['/install/ipfs-companion', 'IPFS Companion Browser Extension'],
1414
['/install/server-infrastructure', 'IPFS Cluster']
1515
]
1616

1717
module.exports = {
18+
configureWebpack: {
19+
output: {
20+
hashFunction: "sha256"
21+
}
22+
},
1823
base: '/',
1924
head: require('./head'),
2025
locales: {

Diff for: docs/.vuepress/redirects

+1
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@
4343
/how-to/troubleshoot-file-transfers /how-to/troubleshooting
4444
/how-to/run-ipfs-inside-docker /install/run-ipfs-inside-docker
4545
/install/command-line-quick-start/ /how-to/command-line-quick-start
46+
/install/js-ipfs/ https://github.com/ipfs/helia/wiki
4647
/introduction/ /concepts
4748
/introduction/faq/ /concepts/faq
4849
/introduction/how-ipfs-works/ /concepts/how-ipfs-works

Diff for: docs/community/README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ Keeping in mind [the general guidelines above](#_2-follow-the-guidelines-for-get
6060
1. In [the Help category of the forum](https://discuss.ipfs.tech/c/help/13), hover over the large blue circle with a `+` symbol in the center. The text **New Topic** displays.
6161
1. Click **New Topic**. The **Create a new Topic** modal opens.
6262
1. In the title field, describe what the discussion is one brief sentence.
63-
1. Add any optional tags that help describe what subcategory the issue is in. Samples options include `go-ipfs` and `js-ipfs`.
63+
1. Add any optional tags that help describe what subcategory the issue is in. Samples options include `kubo` and `helia`.
6464
1. Following the guidelines above, describe your issue / problem in the main text field. You can use Markdown, BBCode or HTML for formatting, and include images.
6565
1. Click **Create Topic**. Your topic is has been created in the forum!
6666

Diff for: docs/concepts/faq.md

+15-1
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,10 @@ The quickest way to get IPFS up and running on your machine is by installing [IP
2626

2727
For installing and initializing IPFS from the command line, check out the [command-line quick start](../how-to/command-line-quick-start.md) guide.
2828

29+
### How do I learn more about IPFS standards and specifications?
30+
31+
You can learn more about IPFS design standards and architectural specifications at [specs.ipfs.tech](https://specs.ipfs.tech/). The IPFS Standards website documents these standards and specifications with the goal of fostering interoperability between independent implementations of the IPFS stack through Internet-grade specifications and test suites.
32+
2933
### Why doesn't my SHA hash match my CID?
3034
When you add a file to IPFS, IPFS splits it into smaller blocks. IPFS hashes each of these pieces individually, building a [Merkle Directed Acyclic Graphs (DAGs)](../concepts/merkle-dag.md) and resulting in an overall different hash.
3135

@@ -45,10 +49,20 @@ An IPFS implementation is any software with basic functionality for interaction
4549

4650
- Verifies that the CIDs it resolves match the resources they address, at least when it has access to the resources bytes. However, implementations may relax this requirement in controlled environments in which it is possible to ascertain that verification has happened elsewhere in a trusted part of the system.
4751

48-
There are already many IPFS implementations, including [Kubo](../install/command-line.md), [Helia](../install/js-ipfs.md), and [more](../concepts/ipfs-implementations.md).
52+
There are already many IPFS implementations, including [Kubo](../install/command-line.md), [Helia](https://github.com/ipfs/helia), and [more](../concepts/ipfs-implementations.md).
4953

5054
You can also create your own IPFS implementation.
5155

56+
### I am creating an implementation, how do I get started?
57+
58+
If you want to develop an IPFS implementation or are already working on one, the IPFS design standards and architectural specifications at [specs.ipfs.tech](https://specs.ipfs.tech/) are a great resource. In particular, the following resources are great starting points:
59+
60+
- [IPFS Principles](https://specs.ipfs.tech/architecture/principles/) provides context and details around the core IPFS principles of content-addressing and transport-agnosticism. The document defines what is or is not an IPFS implementation.
61+
- The [Meta](https://specs.ipfs.tech/meta/) section describes important non-technical information for contributors, like the core project values, the governance model, how to produce documents, and more.
62+
- [InterPlanetary Improvement Proposals (IPIPs)](https://specs.ipfs.tech/meta/ipip-process/) are a focused, transparent, community-driven process for protocol design discussions. They are not changes to the specification itself, but their approval leads to a change in the specification.
63+
64+
In addition to these core documents, `specs.ipfs.tech` documents standards for IPFS subsystems such as the [InterPlanetary Naming System](https://specs.ipfs.tech/http-gateways/) and [HTTP Gateways](https://specs.ipfs.tech/http-gateways/).
65+
5266
## IPFS and Filecoin
5367

5468
### What is the connection between IPFS and Filecoin?

Diff for: docs/concepts/glossary.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -230,7 +230,7 @@ A Cryptographic Hash is a function that takes some arbitrary input (content) and
230230

231231
### Helia
232232

233-
A lean, modular, and modern implementation of IPFS for the JS and browser environments. Superseded [js-ipfs](#js-ipfs). Learn more at [https://github.com/ipfs/helia](https://github.com/ipfs/helia).
233+
A lean, modular, and modern implementation of IPFS for the JS and browser environments that supersedes [js-ipfs](#js-ipfs). Learn more at [https://github.com/ipfs/helia](https://github.com/ipfs/helia).
234234

235235
### Hole punching
236236

Diff for: docs/concepts/ipns.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -197,7 +197,7 @@ IPNS names can be resolved by [IPFS gateways](ipfs-gateway.md) in a _trusted_ fa
197197

198198
### Publishing IPNS names
199199

200-
See the following guide on [publishing IPNS names with Kubo and js-ipfs](../how-to/publish-ipns.md).
200+
See the following guide on [publishing IPNS names with Kubo and Helia](../how-to/publish-ipns.md).
201201

202202
## Alternatives to IPNS
203203

Diff for: docs/concepts/nodes.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ Both Kubo and Helia _nodes_ use bootstrap _nodes_ to initially enter the DHT.
6363
#### Limitations of a bootstrap node:
6464

6565
- If an IPFS _node_ only has one bootstrap _node_ listed in that configuration and that bootstrap node goes offline, the IPFS node will lose access to the public DHT if it were to restart.
66-
- Note that you should be able to configure your _peer_ store in your implementation to cache healthy connectable _peers_ so you can connect to them again after a restart, instead of bootstrap _nodes_. [Kubo recently added support for this](https://github.com/ipfs/kubo/pull/8856).
66+
- You can configure your _peer_ store in your implementation to cache healthy connectable _peers_ so that you can connect to them again after a restart, instead of bootstrap _nodes_. [Issue 8856 in the Kubo repository](https://github.com/ipfs/kubo/pull/8856), which addressed this, provides further information and context.
6767

6868
[More about Bootstrapping](../how-to/modify-bootstrap-list.md)
6969

Diff for: docs/how-to/companion-node-types.md

-2
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,6 @@ IPFS Companion's preferences screen allows you to choose from different node typ
99

1010
[[toc]]
1111

12-
![Screenshot of node type selector in Companion preferences](./images/node-type-switch.png)
13-
1412
**If you're already running a local IPFS node, choose _External_.** If not, do one of the following:
1513

1614
- [Install](../install/README.md) and run IPFS as an [external node](#external) (recommended).

Diff for: docs/how-to/configure-node.md

+4-1
Original file line numberDiff line numberDiff line change
@@ -5,5 +5,8 @@ description: IPFS nodes can be customzied using the configuration file. The defa
55

66
# Configure a node
77

8-
IPFS is configured through a json formatted text file, located by default at `~/.ipfs/config`. Implementation-specific information can be found within the [Kubo](https://github.com/ipfs/kubo/blob/master/docs/config.md) and [js-ipfs](https://github.com/ipfs/js-ipfs/blob/master/docs/CONFIG.md) repositories. It is read once at node instantiation, either for an offline command, or when starting the daemon. Commands that execute on a running daemon do not read the config file at runtime.
8+
Node configuration varies between implementations.
9+
10+
- For Kubo, see [config.md](https://github.com/ipfs/kubo/blob/master/docs/config.md).
11+
- For Helia, see the [HeliaInit](https://ipfs.github.io/helia/interfaces/helia.HeliaInit.html) document. Note that, unlike the deprecated js-ipfs implementation, you must configure your node directly - see the [Helia example](https://github.com/ipfs/helia/wiki/Migrating-from-js-IPFS#config).
912

Diff for: docs/how-to/publish-ipns.md

+5-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,8 @@ description: Learn how to publish IPNS names with Kubo
77

88
IPNS names can be published programmatically.
99

10-
- [Publishing IPNS names with Kubo](#publishing-ipns-names-with-kubo)
10+
- [Using Kubo (Go)](#publishing-ipns-names-with-kubo)
11+
- [Using helia-ipns (JavaScript)](#publishing-ipns-names-with-helia-ipns)
1112

1213
## Publishing IPNS names with Kubo
1314

@@ -101,3 +102,6 @@ ipfs name publish --key=SecondKey /ipfs/bafybeicklkqcnlvtiscr2hzkubjwnwjinvskffn
101102

102103
> Published to k51qzi5uqu5dh5kbbff1ucw3ksphpy3vxx4en4dbtfh90pvw4mzd8nfm5r5fnl: /ipfs/bafybeicklkqcnlvtiscr2hzkubjwnwjinvskffn4xorqeduft3wq7vm5u4
103104
```
105+
## Publishing IPNS names with helia-ipns
106+
107+
Learn more about using IPNS with JavaScript at the [helia-ipns](https://github.com/ipfs/helia-ipns) repository.

Diff for: docs/install/README.md

+4
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,10 @@ For long-term storage, users can use the Filecoin network! Filecoin is a peer-to
2121

2222
Want to build decentralized applications and store your application data on IPFS? You'll likely want to install the command-line version of IPFS. There's no GUI to deal with, just raw input and output through your terminal. [Find out more →](./command-line.md)
2323

24+
## IPFS Helia
25+
26+
[Helia](https://github.com/ipfs/helia) is a new implementation of IPFS in JavaScript that is designed to be more modular and lightweight than the deprecated [js-ipfs project](https://github.com/ipfs/js-ipfs). To get started with a hands-on example, see [Helia 101](https://github.com/ipfs-examples/helia-examples/blob/main/examples/helia-101/README.md) in [ipfs-examples/helia-examples](https://github.com/ipfs-examples/helia-examples/tree/main).
27+
2428
## IPFS Cluster
2529

2630
Planning to set up several IPFS nodes within one network? You'll want to take a look at installing [IPFS Cluster →](./server-infrastructure.md)

Diff for: docs/install/ipfs-companion.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ For its full functionality to be enabled, IPFS Companion requires a local IPFS n
1313

1414
- [Install IPFS Desktop](../install/ipfs-desktop.md)
1515
- [Install IPFS Kubo for Go](../install/command-line.md)
16-
- [Install IPFS for JavaScript](../install/js-ipfs.md)
16+
- [Install IPFS Helia for JavaScript](https://github.com/ipfs/helia)
1717

1818
## Install
1919

0 commit comments

Comments
 (0)