Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
10
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Open sidebar
dms3
go-bitswap
Commits
5512207a
Commit
5512207a
authored
Dec 04, 2014
by
Jeromy
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
update bitswap readme
parent
0c3dc47e
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
12 additions
and
8 deletions
+12
-8
README.md
README.md
+12
-8
No files found.
README.md
View file @
5512207a
#Welcome to Bitswap
#Welcome to Bitswap
(The data trading engine)
Bitswap is the module that is responsible for requesting blocks over the
Bitswap is the module that is responsible for requesting and providing data
network from other ipfs peers.
blocks over the network to and from other ipfs peers. The role of bitswap is
to be a merchant in the large global marketplace of data.
##Main Operations
##Main Operations
Bitswap has three
main
operations:
Bitswap has three
high level
operations:
###GetBlocks
###GetBlocks
`GetBlocks`
is a bitswap method used to request multiple blocks that are likely
`GetBlocks`
is a bitswap method used to request multiple blocks that are likely
to all be provided by the same peer (part of a single file, for example).
to all be provided by the same
set of
peer
s
(part of a single file, for example).
###GetBlock
###GetBlock
`GetBlock`
is a special case of
`GetBlocks`
that just requests a single block.
`GetBlock`
is a special case of
`GetBlocks`
that just requests a single block.
###HasBlock
###HasBlock
`HasBlock`
registers a local block with bitswap. Bitswap will then send that
`HasBlock`
registers a local block with bitswap. Bitswap will then send that
block to any connected peers who want it (strategy allowing), and announce to
block to any connected peers who want it (with the strategies approval), record
the DHT that the block is being provided.
that transaction in the ledger and announce to the DHT that the block is being
provided.
##Internal Details
##Internal Details
All
`GetBlock`
requests are relayed into a single for-select loop via channels.
All
`GetBlock`
requests are relayed into a single for-select loop via channels.
...
@@ -39,4 +41,6 @@ If another peers wantlist is received, Bitswap will call its strategies
...
@@ -39,4 +41,6 @@ If another peers wantlist is received, Bitswap will call its strategies
be sent the block they are requesting (if we even have it).
be sent the block they are requesting (if we even have it).
##Outstanding TODOs:
##Outstanding TODOs:
-
Ensure only one request active per key
[] Ensure only one request active per key
[] More involved strategies
[] Ensure only wanted blocks are counted in ledgers
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment