Skip to content

Commit

Permalink
rebase with main
Browse files Browse the repository at this point in the history
  • Loading branch information
ehsan6sha committed Aug 11, 2024
2 parents 94ac0cd + 2d6f937 commit 39daf1a
Show file tree
Hide file tree
Showing 22 changed files with 210 additions and 992 deletions.
File renamed without changes.
File renamed without changes.
335 changes: 146 additions & 189 deletions .github/styles/pln-ignore.txt

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion .vale.ini
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,4 @@ MinAlertLevel = suggestion
IgnoredScopes = code, tt

[*.md]
BasedOnStyles = ipfs-docs-style
BasedOnStyles = docs
9 changes: 0 additions & 9 deletions docs/.vuepress/config.js
Original file line number Diff line number Diff line change
Expand Up @@ -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',
Expand Down Expand Up @@ -306,14 +305,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',
Expand Down
2 changes: 1 addition & 1 deletion docs/community/contribute/ways-to-contribute.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ IPFS and its sister-projects are big, with lots of code written in multiple lang
The biggest and most active repositories we have today are:

- [ipfs/kubo](https://github.com/ipfs/kubo)
- [ipfs/js-ipfs](https://github.com/ipfs/js-ipfs)
- [ipfs/helia](https://github.com/ipfs/helia)
- [libp2p/go-libp2p](https://github.com/libp2p/go-libp2p)
- [libp2p/js-libp2p](https://github.com/libp2p/js-libp2p)

Expand Down
1 change: 0 additions & 1 deletion docs/concepts/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down
2 changes: 1 addition & 1 deletion docs/concepts/dht.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ A major property of Kademlia is that all peers can be arranged from smallest to

While having peers that cannot talk to each other may sound like an oddity, two prevalent causes of unreachability are network address translators (NATs) and firewalls. Having asymmetrical networks where peers `X`, `Y`, and `Z` can connect to `A`, but `A` cannot connect to them is fairly common. Similarly, it is _extremely_ common that peers `A` and `B`, which are both behind NATs, cannot talk to each other. To deal with this, IPFS nodes ignore other nodes assumed to be unreachable by the general public. Nodes also filter themselves out of the network if they suspect they are not reachable.

To do this, we use [libp2p's AutoNAT](https://github.com/libp2p/go-libp2p-autonat), which acts as a distributed _session traversal utility for NAT_ (STUN) layer, informing peers of their observed addresses and whether or not they appear to be publicly dialable. Only when peers detect that they are publicly dialable do they switch from client mode (where they can query the DHT but not respond to queries) to server mode (where they can both query and respond to queries). Similarly, if a server discovers that it is no longer publicly dialable, it will switch back into client mode.
To do this, we use [libp2p's AutoNAT](https://github.com/libp2p/go-libp2p/tree/master/p2p/host/autonat), which acts as a distributed _session traversal utility for NAT_ (STUN) layer, informing peers of their observed addresses and whether or not they appear to be publicly dialable. Only when peers detect that they are publicly dialable do they switch from client mode (where they can query the DHT but not respond to queries) to server mode (where they can both query and respond to queries). Similarly, if a server discovers that it is no longer publicly dialable, it will switch back into client mode.

IPFS exposes a _rate-limited_ AutoNAT service on all IPFS nodes that have discovered that they are publicly dialable. These requests are infrequent and do not have a noticeable overhead.

Expand Down
2 changes: 1 addition & 1 deletion docs/concepts/file-systems.md
Original file line number Diff line number Diff line change
Expand Up @@ -219,7 +219,7 @@ await ipfs.files.rm('/my/beautiful/directory')

When you add a _file_ to IPFS, it might be too big to fit in a single block, so it needs metadata to link all its blocks together. UnixFS is a [protocol-buffers](https://developers.google.com/protocol-buffers/)-based format for describing files, directories, and symlinks in IPFS. This data format is used to represent files and all their links and metadata in IPFS. UnixFS creates a block (or a tree of blocks) of linked objects.

UnixFS currently has [Javascript](https://github.com/ipfs/helia-unixfs) and [Go](https://github.com/ipfs/kubo/tree/b3faaad1310bcc32dc3dd24e1919e9edf51edba8/unixfs) implementations. These implementations have modules written in to run different functions:
UnixFS currently has [Javascript](https://github.com/ipfs/helia/tree/main/packages/unixfs) and [Go](https://github.com/ipfs/kubo/tree/b3faaad1310bcc32dc3dd24e1919e9edf51edba8/unixfs) implementations. These implementations have modules written in to run different functions:

- **Data Formats**: manage the serialization/deserialization of UnixFS objects to protocol buffers

Expand Down
Loading

0 comments on commit 39daf1a

Please sign in to comment.