Skip to content

Feb 2020: New improvements to IPFS Bitswap #114

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 2 commits into from
Closed

Feb 2020: New improvements to IPFS Bitswap #114

wants to merge 2 commits into from

Conversation

edgo914
Copy link
Contributor

@edgo914 edgo914 commented Feb 17, 2020

No description provided.

@jessicaschilling
Copy link
Contributor

@johnnymatthews Is this one ready to go?

Ran through Grammarly for consistency. Also changed `wantlist` to `want-list` as to not mess with spell-checkers and make automatic translation easier.
Copy link
Contributor

@johnnymatthews johnnymatthews left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for these changes @edgo914, great work!

@@ -13,23 +13,23 @@ related:
Bitswap is a core module of IPFS for exchanging blocks of data. It directs the requesting and sending of blocks to and from other peers in the network. Bitswap is a _message-based protocol_ where all messages contain [wantlists](#wantlist) or blocks. Bitswap has a [Go implementation](https://github.com/ipfs/go-bitswap) and a [JavaScript implementation](https://github.com/ipfs/js-ipfs-bitswap).
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like I missed a wantlist to want-list change here, but can no longer edit.


A wantlist is a data structure that an IPFS node sends to the network to tell peers which blocks it wants. The wantlist contains [CIDs](https://docs-beta.ipfs.io/concepts/content-addressing/) (content-addressed identifiers that refer to particular blocks desired) along with priority and cancellation information.
A _want-list_ is a data structure that an IPFS node sends to the network to tell peers which blocks it wants. It's a list of data that the IPFS node wants. The want-list contains [CIDs](https://docs-beta.ipfs.io/concepts/content-addressing/) (content-addressed identifiers that refer to particular blocks desired) along with priority and cancellation information.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It'd be great to see an example of a want-list here.


### Session

IPFS content blocks are often connected to each other through a [Merkle DAG](https://docs-beta.ipfs.io/concepts/merkle-dag/). If a sender's block requests are related, a mechanism called a _Bitswap session_ in the Go implementation can optimize block requests sent to other peers. This mechanism can increase transfer speed and reduce the number of duplicate blocks on the network. Active peers are favored, as they are tracked relative to them having the requested blocks and how quickly they respond.
IPFS content blocks are often connected through a [Merkle DAG](https://docs-beta.ipfs.io/concepts/merkle-dag/). If a sender's block requests are related, a mechanism called a _Bitswap session_ in the Go implementation can optimize block requests sent to other peers. This mechanism can increase transfer speed and reduce the number of duplicate blocks on the network. Active peers are favored, as they are tracked relative to them having the requested blocks and how quickly they respond.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's keep internal links relative:

through a [Merkle DAG](/concepts/merkle-dag/).

@johnnymatthews
Copy link
Contributor

Closing this PR. Changes made in 112.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants