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-dms3
Commits
4b1bae8b
Commit
4b1bae8b
authored
10 years ago
by
Juan Batiz-Benet
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
dev pseudo-roadmap
parent
0ae4d806
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
58 additions
and
0 deletions
+58
-0
README.md
README.md
+1
-0
dev.md
dev.md
+57
-0
No files found.
README.md
View file @
4b1bae8b
...
...
@@ -48,6 +48,7 @@ go-ipfs is MIT licensed open source software. We welcome contributions big and s
Guidelines:
-
see the
[
dev pseudo-roadmap
](
dev.md
)
-
please adhere to the protocol described in
[
the main ipfs repo
](
https://github.com/jbenet/ipfs
)
and
[
paper
](
http://static.benet.ai/t/ipfs.pdf
)
.
-
please make branches + pull-request, even if working on the main repository
-
ask questions or talk about things in
[
Issues
](
https://github.com/jbenet/go-ipfs/issues
)
or #ipfs on freenode.
...
...
This diff is collapsed.
Click to expand it.
dev.md
0 → 100644
View file @
4b1bae8b
# go-ipfs development
This is a simple description of where the codebase stands.
There are multiple subpackages:
-
`bitswap`
- the block exchange
-
`blocks`
- retrieve blocks for the core node
-
`cmd/ipfs`
- cli ipfs tool - the main
**entrypoint**
atm
-
`config`
- load/edit configuration
-
`core`
- the core node, joins all the pieces
-
`fuse/readonly`
- mount
`/ipfs`
as a readonly fuse fs
-
`importer`
- import files into ipfs
-
`merkledag`
- merkle dag data structure
-
`path`
- path resolution over merkledag data structure
-
`peer`
- identity + addresses of local and remote peers
-
`routing`
- the routing system
-
`routing/dht`
- the dht default routing system implementation
-
`swarm`
- connection multiplexing, many peers and many transports
-
`util`
- various utilities
### What's done:
-
merkle dag data structure
-
path resolution over merkle dag
-
local storage of blocks
-
basic file import/export (
`ipfs add`
,
`ipfs cat`
)
-
mounting
`/ipfs`
(try
`{cat, ls} /ipfs/<path>`
)
-
multiplexing connections (tcp atm)
-
peer addressing
### What's next:
-
dht - impl basic kademlia routing
-
bitswap - impl basic block exchange functionality
-
ipns - impl
`/ipns`
obj publishing + path resolution
-
**(at this point should have func similar to bittorrent)**
-
block splitting on import - Rabin fingerprints, etc
-
version control -
`commit`
like data structure
-
expose objects to the web at
`http://ipfs.io/<path>`
-
more...
## Cool demos
A list of cool demos to work towards
-
boot a VM from an image in ipfs
-
boot a VM from a filesystem tree in ipfs
-
publish static websites directly from ipfs
-
expose objects to the web at
`http://ipfs.io/<path>`
-
mounted auto-committing versioned personal dropbox
-
mounted encrypted personal/group dropbox
-
mounted {npm, apt, other pkg manager} registry
-
open a video on ipfs, stream it in
-
watch a video with a topology of 1 seed N leechers (N ~100)
-
more in section 3.8 in the
[
paper
](
http://http://static.benet.ai/t/ipfs.pdf
)
This diff is collapsed.
Click to expand it.
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