Using python instead of js. Not using OrbitDB but an HTTP server
rodzic
93e52d7b9b
commit
2dc0432529
|
@ -130,3 +130,7 @@ dist
|
|||
.yarn/install-state.gz
|
||||
.pnp.*
|
||||
|
||||
jsipfs0.*
|
||||
orbitdb0.*
|
||||
*__pycache__*
|
||||
venv
|
||||
|
|
|
@ -1,3 +0,0 @@
|
|||
¡ewritexJ[
|
||||
"031dcfd3c540a484154a1cf09b60bac5a02fae1b9d71cca34d78b0d6d111511814"
|
||||
]
|
|
@ -1,8 +0,0 @@
|
|||
|
||||
ŽCome hang out in our IRC chat room if you have any questions.
|
||||
|
||||
Contact the ipfs dev team:
|
||||
- Bugs: https://github.com/ipfs/go-ipfs/issues
|
||||
- Help: irc.freenode.org/#ipfs
|
||||
- Email: dev@ipfs.io
|
||||
½
|
|
@ -1 +0,0 @@
|
|||
¢dtypedipfsfparams¡gaddressx1zdpuAtd8heXYxyEPyf5PjPipx4bz2pWWNLwTD8ms9TxVFujPv
|
Plik binarny nie jest wyświetlany.
|
@ -1,9 +0,0 @@
|
|||
|
||||
¿·Some helpful resources for finding your way around ipfs:
|
||||
|
||||
- quick-start: a quick show of various ipfs features.
|
||||
- ipfs commands: a list of all commands
|
||||
- ipfs --help: every command describes itself
|
||||
- https://github.com/ipfs/go-ipfs -- the src repository
|
||||
- #ipfs on irc.freenode.org -- the community irc channel
|
||||
·
|
|
@ -1,115 +0,0 @@
|
|||
|
||||
½
µ
# 0.1 - Quick Start
|
||||
|
||||
This is a set of short examples with minimal explanation. It is meant as
|
||||
a "quick start". Soon, we'll write a longer tour :-)
|
||||
|
||||
|
||||
Add a file to ipfs:
|
||||
|
||||
echo "hello world" >hello
|
||||
ipfs add hello
|
||||
|
||||
|
||||
View it:
|
||||
|
||||
ipfs cat <the-hash-you-got-here>
|
||||
|
||||
|
||||
Try a directory:
|
||||
|
||||
mkdir foo
|
||||
mkdir foo/bar
|
||||
echo "baz" > foo/baz
|
||||
echo "baz" > foo/bar/baz
|
||||
ipfs add -r foo
|
||||
|
||||
|
||||
View things:
|
||||
|
||||
ipfs ls <the-hash-here>
|
||||
ipfs ls <the-hash-here>/bar
|
||||
ipfs cat <the-hash-here>/baz
|
||||
ipfs cat <the-hash-here>/bar/baz
|
||||
ipfs cat <the-hash-here>/bar
|
||||
ipfs ls <the-hash-here>/baz
|
||||
|
||||
|
||||
References:
|
||||
|
||||
ipfs refs <the-hash-here>
|
||||
ipfs refs -r <the-hash-here>
|
||||
ipfs refs --help
|
||||
|
||||
|
||||
Get:
|
||||
|
||||
ipfs get <the-hash-here> -o foo2
|
||||
diff foo foo2
|
||||
|
||||
|
||||
Objects:
|
||||
|
||||
ipfs object get <the-hash-here>
|
||||
ipfs object get <the-hash-here>/foo2
|
||||
ipfs object --help
|
||||
|
||||
|
||||
Pin + GC:
|
||||
|
||||
ipfs pin add <the-hash-here>
|
||||
ipfs repo gc
|
||||
ipfs ls <the-hash-here>
|
||||
ipfs pin rm <the-hash-here>
|
||||
ipfs repo gc
|
||||
|
||||
|
||||
Daemon:
|
||||
|
||||
ipfs daemon (in another terminal)
|
||||
ipfs id
|
||||
|
||||
|
||||
Network:
|
||||
|
||||
(must be online)
|
||||
ipfs swarm peers
|
||||
ipfs id
|
||||
ipfs cat <hash-of-remote-object>
|
||||
|
||||
|
||||
Mount:
|
||||
|
||||
(warning: fuse is finicky!)
|
||||
ipfs mount
|
||||
cd /ipfs/<the-hash-here>
|
||||
ls
|
||||
|
||||
|
||||
Tool:
|
||||
|
||||
ipfs version
|
||||
ipfs update
|
||||
ipfs commands
|
||||
ipfs config --help
|
||||
open http://localhost:5001/webui
|
||||
|
||||
|
||||
Browse:
|
||||
|
||||
webui:
|
||||
|
||||
http://localhost:5001/webui
|
||||
|
||||
video:
|
||||
|
||||
http://localhost:8080/ipfs/QmVc6zuAneKJzicnJpfrqCH9gSy6bz54JhcypfJYhGUFQu/play#/ipfs/QmTKZgRNwDNZwHtJSjCp6r5FYefzpULfy37JvMt9DwvXse
|
||||
|
||||
images:
|
||||
|
||||
http://localhost:8080/ipfs/QmZpc3HvfjEXvLWGQPWbHk3AjD5j8NEN4gmFN8Jmrd5g83/cs
|
||||
|
||||
markdown renderer app:
|
||||
|
||||
http://localhost:8080/ipfs/QmX7M9CiYXjVeFnkfVGf3y5ixTZ2ACeSGyL1vBJY1HvQPp/mdown
|
||||
µ
|
|
@ -1,27 +0,0 @@
|
|||
|
||||
’ Š IPFS Alpha Security Notes
|
||||
|
||||
We try hard to ensure our system is safe and robust, but all software
|
||||
has bugs, especially new software. This distribution is meant to be an
|
||||
alpha preview, don't use it for anything mission critical.
|
||||
|
||||
Please note the following:
|
||||
|
||||
- This is alpha software and has not been audited. It is our goal
|
||||
to conduct a proper security audit once we close in on a 1.0 release.
|
||||
|
||||
- ipfs is a networked program, and may have serious undiscovered
|
||||
vulnerabilities. It is written in Go, and we do not execute any
|
||||
user provided data. But please point any problems out to us in a
|
||||
github issue, or email security@ipfs.io privately.
|
||||
|
||||
- security@ipfs.io GPG key:
|
||||
- 4B9665FB 92636D17 7C7A86D3 50AAE8A9 59B13AF3
|
||||
- https://pgp.mit.edu/pks/lookup?op=get&search=0x50AAE8A959B13AF3
|
||||
|
||||
- ipfs uses encryption for all communication, but it's NOT PROVEN SECURE
|
||||
YET! It may be totally broken. For now, the code is included to make
|
||||
sure we benchmark our operations with encryption in mind. In the future,
|
||||
there will be an "unsafe" mode for high performance intranet apps.
|
||||
If this is a blocking feature for you, please contact us.
|
||||
Š
|
|
@ -1,4 +0,0 @@
|
|||
.
|
||||
" ’èžsÜL`•>¾P}ãÈD
|
||||
>ÚŸo_¸=¡"´u'Òintro§
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
|
||||
Index
|
||||
|
|
@ -1,36 +0,0 @@
|
|||
|
||||
¤œWIP
|
||||
|
||||
# 0.0 - Introduction
|
||||
|
||||
Welcome to IPFS! This tour will guide you through a few of the
|
||||
features of this tool, and the most common commands. Then, it will
|
||||
immerse you into the world of merkledags and the amazing things
|
||||
you can do with them.
|
||||
|
||||
|
||||
This tour has many parts, and can be taken in different sequences.
|
||||
Different people learn different ways, so choose your own adventure:
|
||||
|
||||
To start with the concepts, try:
|
||||
- The Merkle DAG
|
||||
- Data Structures on the Merkle DAG
|
||||
- Representing Files with unixfs
|
||||
- add, cat, ls, refs
|
||||
...
|
||||
|
||||
|
||||
To start with the examples, try:
|
||||
- add, cat, ls, refs
|
||||
- Representing Files with unixfs
|
||||
- Data Structures on the Merkle DAG
|
||||
- The Merkle DAG
|
||||
...
|
||||
|
||||
|
||||
To start with the network, try:
|
||||
- IPFS Nodes
|
||||
- Running the daemon
|
||||
- The Swarm
|
||||
- The Web
|
||||
œ
|
|
@ -1,28 +0,0 @@
|
|||
|
||||
ЛГHello and Welcome to IPFS!
|
||||
|
||||
в–€в–€в•—в–€в–€в–€в–€в–€в–€в•— в–€в–€в–€в–€в–€в–€в–€в•—в–€в–€в–€в–€в–€в–€в–€в•—
|
||||
в–€в–€в•‘в–€в–€в•”в•ђв•ђв–€в–€в•—в–€в–€в•”в•ђв•ђв•ђв•ђв•ќв–€в–€в•”в•ђв•ђв•ђв•ђв•ќ
|
||||
в–€в–€в•‘в–€в–€в–€в–€в–€в–€в•”в•ќв–€в–€в–€в–€в–€в•— в–€в–€в–€в–€в–€в–€в–€в•—
|
||||
в–€в–€в•‘в–€в–€в•”в•ђв•ђв•ђв•ќ в–€в–€в•”в•ђв•ђв•ќ в•љв•ђв•ђв•ђв•ђв–€в–€в•‘
|
||||
в–€в–€в•‘в–€в–€в•‘ в–€в–€в•‘ в–€в–€в–€в–€в–€в–€в–€в•‘
|
||||
в•љв•ђв•ќв•љв•ђв•ќ в•љв•ђв•ќ в•љв•ђв•ђв•ђв•ђв•ђв•ђв•ќ
|
||||
|
||||
If you're seeing this, you have successfully installed
|
||||
IPFS and are now interfacing with the ipfs merkledag!
|
||||
|
||||
-------------------------------------------------------
|
||||
| Warning: |
|
||||
| This is alpha software. Use at your own discretion! |
|
||||
| Much is missing or lacking polish. There are bugs. |
|
||||
| Not yet secure. Read the security notes for more. |
|
||||
-------------------------------------------------------
|
||||
|
||||
Check out some of the other files in this directory:
|
||||
|
||||
./about
|
||||
./help
|
||||
./quick-start <-- usage examples
|
||||
./readme <-- this file
|
||||
./security-notes
|
||||
Г
|
|
@ -1,3 +0,0 @@
|
|||
-
|
||||
" õR ;<3B>—¿ˆfq<66>aU¿õ0[Xè@÷8Ó·O§¦index
|
||||
|
|
@ -1 +0,0 @@
|
|||
/repo/flatfs/shard/v1/next-to-last/2
|
|
@ -1 +0,0 @@
|
|||
」dnamegtest-dbdtypehkeyvaluepaccessControllerx7/ipfs/zdpuAyFvVnMwfeF2PdUJiQDLXVXprRJjrN3mKVKLeAryDGnjo
|
|
@ -1,54 +0,0 @@
|
|||
|
||||
”
Œ
IPFS -- Inter-Planetary File system
|
||||
|
||||
IPFS is a global, versioned, peer-to-peer filesystem. It combines good ideas
|
||||
from Git, BitTorrent, Kademlia, SFS, and the Web. It is like a single bit-
|
||||
torrent swarm, exchanging git objects. IPFS provides an interface as simple
|
||||
as the HTTP web, but with permanence built in. You can also mount the world
|
||||
at /ipfs.
|
||||
|
||||
IPFS is a protocol:
|
||||
- defines a content-addressed file system
|
||||
- coordinates content delivery
|
||||
- combines Kademlia + BitTorrent + Git
|
||||
|
||||
IPFS is a filesystem:
|
||||
- has directories and files
|
||||
- mountable filesystem (via FUSE)
|
||||
|
||||
IPFS is a web:
|
||||
- can be used to view documents like the web
|
||||
- files accessible via HTTP at 'http://ipfs.io/<path>'
|
||||
- browsers or extensions can learn to use 'ipfs://' directly
|
||||
- hash-addressed content guarantees authenticity
|
||||
|
||||
IPFS is modular:
|
||||
- connection layer over any network protocol
|
||||
- routing layer
|
||||
- uses a routing layer DHT (kademlia/coral)
|
||||
- uses a path-based naming service
|
||||
- uses bittorrent-inspired block exchange
|
||||
|
||||
IPFS uses crypto:
|
||||
- cryptographic-hash content addressing
|
||||
- block-level deduplication
|
||||
- file integrity + versioning
|
||||
- filesystem-level encryption + signing support
|
||||
|
||||
IPFS is p2p:
|
||||
- worldwide peer-to-peer file transfers
|
||||
- completely decentralized architecture
|
||||
- **no** central point of failure
|
||||
|
||||
IPFS is a cdn:
|
||||
- add a file to the filesystem locally, and it's now available to the world
|
||||
- caching-friendly (content-hash naming)
|
||||
- bittorrent-based bandwidth distribution
|
||||
|
||||
IPFS has a name service:
|
||||
- IPNS, an SFS inspired name system
|
||||
- global namespace based on PKI
|
||||
- serves to build trust chains
|
||||
- compatible with other NSes
|
||||
- can map DNS, .onion, .bit, etc to IPNS
|
||||
Œ
|
|
@ -1,2 +0,0 @@
|
|||
|
||||
|
|
@ -1,22 +0,0 @@
|
|||
This is a repository of IPLD objects. Each IPLD object is in a single file,
|
||||
named <base32 encoding of cid>.data. Where <base32 encoding of cid> is the
|
||||
"base32" encoding of the CID (as specified in
|
||||
https://github.com/multiformats/multibase) without the 'B' prefix.
|
||||
All the object files are placed in a tree of directories, based on a
|
||||
function of the CID. This is a form of sharding similar to
|
||||
the objects directory in git repositories. Previously, we used
|
||||
prefixes, we now use the next-to-last two charters.
|
||||
func NextToLast(base32cid string) {
|
||||
nextToLastLen := 2
|
||||
offset := len(base32cid) - nextToLastLen - 1
|
||||
return str[offset : offset+nextToLastLen]
|
||||
}
|
||||
For example, an object with a base58 CIDv1 of
|
||||
zb2rhYSxw4ZjuzgCnWSt19Q94ERaeFhu9uSqRgjSdx9bsgM6f
|
||||
has a base32 CIDv1 of
|
||||
BAFKREIA22FLID5AJ2KU7URG47MDLROZIH6YF2KALU2PWEFPVI37YLKRSCA
|
||||
and will be placed at
|
||||
SC/AFKREIA22FLID5AJ2KU7URG47MDLROZIH6YF2KALU2PWEFPVI37YLKRSCA.data
|
||||
with 'SC' being the last-to-next two characters and the 'B' at the
|
||||
beginning of the CIDv1 string is the multibase prefix that is not
|
||||
stored in the filename.
|
|
@ -1,94 +0,0 @@
|
|||
{
|
||||
"Addresses": {
|
||||
"Swarm": [
|
||||
"/ip4/0.0.0.0/tcp/4002",
|
||||
"/ip4/127.0.0.1/tcp/4003/ws"
|
||||
],
|
||||
"Announce": [],
|
||||
"NoAnnounce": [],
|
||||
"API": "/ip4/127.0.0.1/tcp/5002",
|
||||
"Gateway": "/ip4/127.0.0.1/tcp/9090",
|
||||
"RPC": "/ip4/127.0.0.1/tcp/5003",
|
||||
"Delegates": [
|
||||
"/dns4/node0.delegate.ipfs.io/tcp/443/https",
|
||||
"/dns4/node1.delegate.ipfs.io/tcp/443/https",
|
||||
"/dns4/node2.delegate.ipfs.io/tcp/443/https",
|
||||
"/dns4/node3.delegate.ipfs.io/tcp/443/https"
|
||||
]
|
||||
},
|
||||
"Discovery": {
|
||||
"MDNS": {
|
||||
"Enabled": true,
|
||||
"Interval": 10
|
||||
},
|
||||
"webRTCStar": {
|
||||
"Enabled": true
|
||||
}
|
||||
},
|
||||
"Bootstrap": [
|
||||
"/ip4/104.131.131.82/tcp/4001/p2p/QmaCpDMGvV2BGHeYERUEnRQAwe3N8SzbUtfsmvsqQLuvuJ",
|
||||
"/dnsaddr/bootstrap.libp2p.io/p2p/QmNnooDu7bfjPFoTZYxMNLWUQJyrVwtbZg5gBMjTezGAJN",
|
||||
"/dnsaddr/bootstrap.libp2p.io/p2p/QmbLHAnMoJPWSCR5Zhtx6BHJX9KiKNN6tpvbUcqanj75Nb",
|
||||
"/dnsaddr/bootstrap.libp2p.io/p2p/QmZa1sAxajnQjVM8WjWXoMbmPd7NsWhfKsPkErzpm9wGkp",
|
||||
"/dnsaddr/bootstrap.libp2p.io/p2p/QmQCU2EcMqAqQPR2i9bChDtGNJchTbq5TbXJJ16u19uLTa",
|
||||
"/dnsaddr/bootstrap.libp2p.io/p2p/QmcZf59bWwK5XFi76CZX8cbJ4BhTzzA3gU1ZjYZcYW3dwt",
|
||||
"/dns4/node0.preload.ipfs.io/tcp/443/wss/p2p/QmZMxNdpMkewiVZLMRxaNxUeZpDUb34pWjZ1kZvsd16Zic",
|
||||
"/dns4/node1.preload.ipfs.io/tcp/443/wss/p2p/Qmbut9Ywz9YEDrz8ySBSgWyJk41Uvm2QJPhwDJzJyGFsD6",
|
||||
"/dns4/node2.preload.ipfs.io/tcp/443/wss/p2p/QmV7gnbW5VTcJ3oyM2Xk1rdFBJ3kTkvxc87UFGsun29STS",
|
||||
"/dns4/node3.preload.ipfs.io/tcp/443/wss/p2p/QmY7JB6MQXhxHvq7dBDh4HpbH29v4yE9JRadAVpndvzySN"
|
||||
],
|
||||
"Pubsub": {
|
||||
"Router": "gossipsub",
|
||||
"Enabled": true
|
||||
},
|
||||
"Swarm": {
|
||||
"ConnMgr": {
|
||||
"LowWater": 50,
|
||||
"HighWater": 200
|
||||
},
|
||||
"DisableNatPortMap": false
|
||||
},
|
||||
"Routing": {
|
||||
"Type": "dhtclient"
|
||||
},
|
||||
"Identity": {
|
||||
"PeerID": "12D3KooWDU4LwgWRw88MefmFqFhTa6NzoyGASyMKQyad8WqrnYbs",
|
||||
"PrivKey": "CAESQPnlxWW3MDyVsn9gUvvMRJYXEjy7nkqqTzn8/Q/3iGSENjr6Sehp97F1dJnlIqYYe+T1nkkj45ZBvQyYNccLuxo="
|
||||
},
|
||||
"Datastore": {
|
||||
"Spec": {
|
||||
"type": "mount",
|
||||
"mounts": [
|
||||
{
|
||||
"mountpoint": "/blocks",
|
||||
"type": "measure",
|
||||
"prefix": "flatfs.datastore",
|
||||
"child": {
|
||||
"type": "flatfs",
|
||||
"path": "blocks",
|
||||
"sync": true,
|
||||
"shardFunc": "/repo/flatfs/shard/v1/next-to-last/2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"mountpoint": "/",
|
||||
"type": "measure",
|
||||
"prefix": "leveldb.datastore",
|
||||
"child": {
|
||||
"type": "levelds",
|
||||
"path": "datastore",
|
||||
"compression": "none"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"Keychain": {
|
||||
"DEK": {
|
||||
"keyLength": 64,
|
||||
"iterationCount": 10000,
|
||||
"salt": "hf8Glu/kwzWaj+IpE+Rk44sR",
|
||||
"hash": "sha2-512"
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1 +0,0 @@
|
|||
MANIFEST-000002
|
|
@ -1 +0,0 @@
|
|||
2022/03/24-18:44:07.677144 7f5edaffd700 Delete type=3 #1
|
Plik binarny nie jest wyświetlany.
|
@ -1 +0,0 @@
|
|||
{"mounts":[{"mountpoint":"/blocks","path":"blocks","shardFunc":"/repo/flatfs/shard/v1/next-to-last/2","type":"flatfs"},{"mountpoint":"/","path":"datastore","type":"levelds"}],"type":"mount"}
|
|
@ -1 +0,0 @@
|
|||
{"name":"self","id":"12D3KooWDU4LwgWRw88MefmFqFhTa6NzoyGASyMKQyad8WqrnYbs"}
|
|
@ -1 +0,0 @@
|
|||
m8Z6VneQOxD/np9jNYhTzWw/yYwi/wJs/VVKBCZiFjHXP/k/MNArRuNfVCOaHMkrhBtes2xbzCROcPki4UsVIOmOTyQkVca+5QMfxmyuyAaeldAFvv0p77duN+ZIU5qEpv8aFk3Np12ffHsDzBankCA
|
|
@ -1 +0,0 @@
|
|||
MANIFEST-000002
|
|
@ -1 +0,0 @@
|
|||
2022/03/24-18:44:07.869623 7f5edbfff700 Delete type=3 #1
|
Plik binarny nie jest wyświetlany.
|
@ -1 +0,0 @@
|
|||
12
|
|
@ -1,8 +0,0 @@
|
|||
|
||||
ŽCome hang out in our IRC chat room if you have any questions.
|
||||
|
||||
Contact the ipfs dev team:
|
||||
- Bugs: https://github.com/ipfs/go-ipfs/issues
|
||||
- Help: irc.freenode.org/#ipfs
|
||||
- Email: dev@ipfs.io
|
||||
½
|
Plik binarny nie jest wyświetlany.
|
@ -1,9 +0,0 @@
|
|||
|
||||
¿·Some helpful resources for finding your way around ipfs:
|
||||
|
||||
- quick-start: a quick show of various ipfs features.
|
||||
- ipfs commands: a list of all commands
|
||||
- ipfs --help: every command describes itself
|
||||
- https://github.com/ipfs/go-ipfs -- the src repository
|
||||
- #ipfs on irc.freenode.org -- the community irc channel
|
||||
·
|
|
@ -1,115 +0,0 @@
|
|||
|
||||
½
µ
# 0.1 - Quick Start
|
||||
|
||||
This is a set of short examples with minimal explanation. It is meant as
|
||||
a "quick start". Soon, we'll write a longer tour :-)
|
||||
|
||||
|
||||
Add a file to ipfs:
|
||||
|
||||
echo "hello world" >hello
|
||||
ipfs add hello
|
||||
|
||||
|
||||
View it:
|
||||
|
||||
ipfs cat <the-hash-you-got-here>
|
||||
|
||||
|
||||
Try a directory:
|
||||
|
||||
mkdir foo
|
||||
mkdir foo/bar
|
||||
echo "baz" > foo/baz
|
||||
echo "baz" > foo/bar/baz
|
||||
ipfs add -r foo
|
||||
|
||||
|
||||
View things:
|
||||
|
||||
ipfs ls <the-hash-here>
|
||||
ipfs ls <the-hash-here>/bar
|
||||
ipfs cat <the-hash-here>/baz
|
||||
ipfs cat <the-hash-here>/bar/baz
|
||||
ipfs cat <the-hash-here>/bar
|
||||
ipfs ls <the-hash-here>/baz
|
||||
|
||||
|
||||
References:
|
||||
|
||||
ipfs refs <the-hash-here>
|
||||
ipfs refs -r <the-hash-here>
|
||||
ipfs refs --help
|
||||
|
||||
|
||||
Get:
|
||||
|
||||
ipfs get <the-hash-here> -o foo2
|
||||
diff foo foo2
|
||||
|
||||
|
||||
Objects:
|
||||
|
||||
ipfs object get <the-hash-here>
|
||||
ipfs object get <the-hash-here>/foo2
|
||||
ipfs object --help
|
||||
|
||||
|
||||
Pin + GC:
|
||||
|
||||
ipfs pin add <the-hash-here>
|
||||
ipfs repo gc
|
||||
ipfs ls <the-hash-here>
|
||||
ipfs pin rm <the-hash-here>
|
||||
ipfs repo gc
|
||||
|
||||
|
||||
Daemon:
|
||||
|
||||
ipfs daemon (in another terminal)
|
||||
ipfs id
|
||||
|
||||
|
||||
Network:
|
||||
|
||||
(must be online)
|
||||
ipfs swarm peers
|
||||
ipfs id
|
||||
ipfs cat <hash-of-remote-object>
|
||||
|
||||
|
||||
Mount:
|
||||
|
||||
(warning: fuse is finicky!)
|
||||
ipfs mount
|
||||
cd /ipfs/<the-hash-here>
|
||||
ls
|
||||
|
||||
|
||||
Tool:
|
||||
|
||||
ipfs version
|
||||
ipfs update
|
||||
ipfs commands
|
||||
ipfs config --help
|
||||
open http://localhost:5001/webui
|
||||
|
||||
|
||||
Browse:
|
||||
|
||||
webui:
|
||||
|
||||
http://localhost:5001/webui
|
||||
|
||||
video:
|
||||
|
||||
http://localhost:8080/ipfs/QmVc6zuAneKJzicnJpfrqCH9gSy6bz54JhcypfJYhGUFQu/play#/ipfs/QmTKZgRNwDNZwHtJSjCp6r5FYefzpULfy37JvMt9DwvXse
|
||||
|
||||
images:
|
||||
|
||||
http://localhost:8080/ipfs/QmZpc3HvfjEXvLWGQPWbHk3AjD5j8NEN4gmFN8Jmrd5g83/cs
|
||||
|
||||
markdown renderer app:
|
||||
|
||||
http://localhost:8080/ipfs/QmX7M9CiYXjVeFnkfVGf3y5ixTZ2ACeSGyL1vBJY1HvQPp/mdown
|
||||
µ
|
|
@ -1,27 +0,0 @@
|
|||
|
||||
’ Š IPFS Alpha Security Notes
|
||||
|
||||
We try hard to ensure our system is safe and robust, but all software
|
||||
has bugs, especially new software. This distribution is meant to be an
|
||||
alpha preview, don't use it for anything mission critical.
|
||||
|
||||
Please note the following:
|
||||
|
||||
- This is alpha software and has not been audited. It is our goal
|
||||
to conduct a proper security audit once we close in on a 1.0 release.
|
||||
|
||||
- ipfs is a networked program, and may have serious undiscovered
|
||||
vulnerabilities. It is written in Go, and we do not execute any
|
||||
user provided data. But please point any problems out to us in a
|
||||
github issue, or email security@ipfs.io privately.
|
||||
|
||||
- security@ipfs.io GPG key:
|
||||
- 4B9665FB 92636D17 7C7A86D3 50AAE8A9 59B13AF3
|
||||
- https://pgp.mit.edu/pks/lookup?op=get&search=0x50AAE8A959B13AF3
|
||||
|
||||
- ipfs uses encryption for all communication, but it's NOT PROVEN SECURE
|
||||
YET! It may be totally broken. For now, the code is included to make
|
||||
sure we benchmark our operations with encryption in mind. In the future,
|
||||
there will be an "unsafe" mode for high performance intranet apps.
|
||||
If this is a blocking feature for you, please contact us.
|
||||
Š
|
|
@ -1,4 +0,0 @@
|
|||
.
|
||||
" ’èžsÜL`•>¾P}ãÈD
|
||||
>ÚŸo_¸=¡"´u'Òintro§
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
|
||||
Index
|
||||
|
|
@ -1,36 +0,0 @@
|
|||
|
||||
¤œWIP
|
||||
|
||||
# 0.0 - Introduction
|
||||
|
||||
Welcome to IPFS! This tour will guide you through a few of the
|
||||
features of this tool, and the most common commands. Then, it will
|
||||
immerse you into the world of merkledags and the amazing things
|
||||
you can do with them.
|
||||
|
||||
|
||||
This tour has many parts, and can be taken in different sequences.
|
||||
Different people learn different ways, so choose your own adventure:
|
||||
|
||||
To start with the concepts, try:
|
||||
- The Merkle DAG
|
||||
- Data Structures on the Merkle DAG
|
||||
- Representing Files with unixfs
|
||||
- add, cat, ls, refs
|
||||
...
|
||||
|
||||
|
||||
To start with the examples, try:
|
||||
- add, cat, ls, refs
|
||||
- Representing Files with unixfs
|
||||
- Data Structures on the Merkle DAG
|
||||
- The Merkle DAG
|
||||
...
|
||||
|
||||
|
||||
To start with the network, try:
|
||||
- IPFS Nodes
|
||||
- Running the daemon
|
||||
- The Swarm
|
||||
- The Web
|
||||
œ
|
|
@ -1,28 +0,0 @@
|
|||
|
||||
ЛГHello and Welcome to IPFS!
|
||||
|
||||
в–€в–€в•—в–€в–€в–€в–€в–€в–€в•— в–€в–€в–€в–€в–€в–€в–€в•—в–€в–€в–€в–€в–€в–€в–€в•—
|
||||
в–€в–€в•‘в–€в–€в•”в•ђв•ђв–€в–€в•—в–€в–€в•”в•ђв•ђв•ђв•ђв•ќв–€в–€в•”в•ђв•ђв•ђв•ђв•ќ
|
||||
в–€в–€в•‘в–€в–€в–€в–€в–€в–€в•”в•ќв–€в–€в–€в–€в–€в•— в–€в–€в–€в–€в–€в–€в–€в•—
|
||||
в–€в–€в•‘в–€в–€в•”в•ђв•ђв•ђв•ќ в–€в–€в•”в•ђв•ђв•ќ в•љв•ђв•ђв•ђв•ђв–€в–€в•‘
|
||||
в–€в–€в•‘в–€в–€в•‘ в–€в–€в•‘ в–€в–€в–€в–€в–€в–€в–€в•‘
|
||||
в•љв•ђв•ќв•љв•ђв•ќ в•љв•ђв•ќ в•љв•ђв•ђв•ђв•ђв•ђв•ђв•ќ
|
||||
|
||||
If you're seeing this, you have successfully installed
|
||||
IPFS and are now interfacing with the ipfs merkledag!
|
||||
|
||||
-------------------------------------------------------
|
||||
| Warning: |
|
||||
| This is alpha software. Use at your own discretion! |
|
||||
| Much is missing or lacking polish. There are bugs. |
|
||||
| Not yet secure. Read the security notes for more. |
|
||||
-------------------------------------------------------
|
||||
|
||||
Check out some of the other files in this directory:
|
||||
|
||||
./about
|
||||
./help
|
||||
./quick-start <-- usage examples
|
||||
./readme <-- this file
|
||||
./security-notes
|
||||
Г
|
|
@ -1,3 +0,0 @@
|
|||
-
|
||||
" õR ;<3B>—¿ˆfq<66>aU¿õ0[Xè@÷8Ó·O§¦index
|
||||
|
|
@ -1 +0,0 @@
|
|||
/repo/flatfs/shard/v1/next-to-last/2
|
|
@ -1,54 +0,0 @@
|
|||
|
||||
”
Œ
IPFS -- Inter-Planetary File system
|
||||
|
||||
IPFS is a global, versioned, peer-to-peer filesystem. It combines good ideas
|
||||
from Git, BitTorrent, Kademlia, SFS, and the Web. It is like a single bit-
|
||||
torrent swarm, exchanging git objects. IPFS provides an interface as simple
|
||||
as the HTTP web, but with permanence built in. You can also mount the world
|
||||
at /ipfs.
|
||||
|
||||
IPFS is a protocol:
|
||||
- defines a content-addressed file system
|
||||
- coordinates content delivery
|
||||
- combines Kademlia + BitTorrent + Git
|
||||
|
||||
IPFS is a filesystem:
|
||||
- has directories and files
|
||||
- mountable filesystem (via FUSE)
|
||||
|
||||
IPFS is a web:
|
||||
- can be used to view documents like the web
|
||||
- files accessible via HTTP at 'http://ipfs.io/<path>'
|
||||
- browsers or extensions can learn to use 'ipfs://' directly
|
||||
- hash-addressed content guarantees authenticity
|
||||
|
||||
IPFS is modular:
|
||||
- connection layer over any network protocol
|
||||
- routing layer
|
||||
- uses a routing layer DHT (kademlia/coral)
|
||||
- uses a path-based naming service
|
||||
- uses bittorrent-inspired block exchange
|
||||
|
||||
IPFS uses crypto:
|
||||
- cryptographic-hash content addressing
|
||||
- block-level deduplication
|
||||
- file integrity + versioning
|
||||
- filesystem-level encryption + signing support
|
||||
|
||||
IPFS is p2p:
|
||||
- worldwide peer-to-peer file transfers
|
||||
- completely decentralized architecture
|
||||
- **no** central point of failure
|
||||
|
||||
IPFS is a cdn:
|
||||
- add a file to the filesystem locally, and it's now available to the world
|
||||
- caching-friendly (content-hash naming)
|
||||
- bittorrent-based bandwidth distribution
|
||||
|
||||
IPFS has a name service:
|
||||
- IPNS, an SFS inspired name system
|
||||
- global namespace based on PKI
|
||||
- serves to build trust chains
|
||||
- compatible with other NSes
|
||||
- can map DNS, .onion, .bit, etc to IPNS
|
||||
Œ
|
|
@ -1,2 +0,0 @@
|
|||
|
||||
|
|
@ -1,22 +0,0 @@
|
|||
This is a repository of IPLD objects. Each IPLD object is in a single file,
|
||||
named <base32 encoding of cid>.data. Where <base32 encoding of cid> is the
|
||||
"base32" encoding of the CID (as specified in
|
||||
https://github.com/multiformats/multibase) without the 'B' prefix.
|
||||
All the object files are placed in a tree of directories, based on a
|
||||
function of the CID. This is a form of sharding similar to
|
||||
the objects directory in git repositories. Previously, we used
|
||||
prefixes, we now use the next-to-last two charters.
|
||||
func NextToLast(base32cid string) {
|
||||
nextToLastLen := 2
|
||||
offset := len(base32cid) - nextToLastLen - 1
|
||||
return str[offset : offset+nextToLastLen]
|
||||
}
|
||||
For example, an object with a base58 CIDv1 of
|
||||
zb2rhYSxw4ZjuzgCnWSt19Q94ERaeFhu9uSqRgjSdx9bsgM6f
|
||||
has a base32 CIDv1 of
|
||||
BAFKREIA22FLID5AJ2KU7URG47MDLROZIH6YF2KALU2PWEFPVI37YLKRSCA
|
||||
and will be placed at
|
||||
SC/AFKREIA22FLID5AJ2KU7URG47MDLROZIH6YF2KALU2PWEFPVI37YLKRSCA.data
|
||||
with 'SC' being the last-to-next two characters and the 'B' at the
|
||||
beginning of the CIDv1 string is the multibase prefix that is not
|
||||
stored in the filename.
|
|
@ -1,94 +0,0 @@
|
|||
{
|
||||
"Addresses": {
|
||||
"Swarm": [
|
||||
"/ip4/0.0.0.0/tcp/4002",
|
||||
"/ip4/127.0.0.1/tcp/4003/ws"
|
||||
],
|
||||
"Announce": [],
|
||||
"NoAnnounce": [],
|
||||
"API": "/ip4/127.0.0.1/tcp/5002",
|
||||
"Gateway": "/ip4/127.0.0.1/tcp/9090",
|
||||
"RPC": "/ip4/127.0.0.1/tcp/5003",
|
||||
"Delegates": [
|
||||
"/dns4/node0.delegate.ipfs.io/tcp/443/https",
|
||||
"/dns4/node1.delegate.ipfs.io/tcp/443/https",
|
||||
"/dns4/node2.delegate.ipfs.io/tcp/443/https",
|
||||
"/dns4/node3.delegate.ipfs.io/tcp/443/https"
|
||||
]
|
||||
},
|
||||
"Discovery": {
|
||||
"MDNS": {
|
||||
"Enabled": true,
|
||||
"Interval": 10
|
||||
},
|
||||
"webRTCStar": {
|
||||
"Enabled": true
|
||||
}
|
||||
},
|
||||
"Bootstrap": [
|
||||
"/ip4/104.131.131.82/tcp/4001/p2p/QmaCpDMGvV2BGHeYERUEnRQAwe3N8SzbUtfsmvsqQLuvuJ",
|
||||
"/dnsaddr/bootstrap.libp2p.io/p2p/QmNnooDu7bfjPFoTZYxMNLWUQJyrVwtbZg5gBMjTezGAJN",
|
||||
"/dnsaddr/bootstrap.libp2p.io/p2p/QmbLHAnMoJPWSCR5Zhtx6BHJX9KiKNN6tpvbUcqanj75Nb",
|
||||
"/dnsaddr/bootstrap.libp2p.io/p2p/QmZa1sAxajnQjVM8WjWXoMbmPd7NsWhfKsPkErzpm9wGkp",
|
||||
"/dnsaddr/bootstrap.libp2p.io/p2p/QmQCU2EcMqAqQPR2i9bChDtGNJchTbq5TbXJJ16u19uLTa",
|
||||
"/dnsaddr/bootstrap.libp2p.io/p2p/QmcZf59bWwK5XFi76CZX8cbJ4BhTzzA3gU1ZjYZcYW3dwt",
|
||||
"/dns4/node0.preload.ipfs.io/tcp/443/wss/p2p/QmZMxNdpMkewiVZLMRxaNxUeZpDUb34pWjZ1kZvsd16Zic",
|
||||
"/dns4/node1.preload.ipfs.io/tcp/443/wss/p2p/Qmbut9Ywz9YEDrz8ySBSgWyJk41Uvm2QJPhwDJzJyGFsD6",
|
||||
"/dns4/node2.preload.ipfs.io/tcp/443/wss/p2p/QmV7gnbW5VTcJ3oyM2Xk1rdFBJ3kTkvxc87UFGsun29STS",
|
||||
"/dns4/node3.preload.ipfs.io/tcp/443/wss/p2p/QmY7JB6MQXhxHvq7dBDh4HpbH29v4yE9JRadAVpndvzySN"
|
||||
],
|
||||
"Pubsub": {
|
||||
"Router": "gossipsub",
|
||||
"Enabled": true
|
||||
},
|
||||
"Swarm": {
|
||||
"ConnMgr": {
|
||||
"LowWater": 50,
|
||||
"HighWater": 200
|
||||
},
|
||||
"DisableNatPortMap": false
|
||||
},
|
||||
"Routing": {
|
||||
"Type": "dhtclient"
|
||||
},
|
||||
"Identity": {
|
||||
"PeerID": "12D3KooWBSzsT9hxiW7Fv4GYEopf21WBWbCzSseYYx3Gp7NHqpZN",
|
||||
"PrivKey": "CAESQGWDB8mzLbfgTZIT2IcJPUzY396IATh8A/R9o5EoTI9hGD4YT63ORyyFla3OiA/60KxMryKGEQRsSSzXm2MfSZE="
|
||||
},
|
||||
"Datastore": {
|
||||
"Spec": {
|
||||
"type": "mount",
|
||||
"mounts": [
|
||||
{
|
||||
"mountpoint": "/blocks",
|
||||
"type": "measure",
|
||||
"prefix": "flatfs.datastore",
|
||||
"child": {
|
||||
"type": "flatfs",
|
||||
"path": "blocks",
|
||||
"sync": true,
|
||||
"shardFunc": "/repo/flatfs/shard/v1/next-to-last/2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"mountpoint": "/",
|
||||
"type": "measure",
|
||||
"prefix": "leveldb.datastore",
|
||||
"child": {
|
||||
"type": "levelds",
|
||||
"path": "datastore",
|
||||
"compression": "none"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"Keychain": {
|
||||
"DEK": {
|
||||
"keyLength": 64,
|
||||
"iterationCount": 10000,
|
||||
"salt": "BxvQAW4ZQ13dyo5pn8HFpZrJ",
|
||||
"hash": "sha2-512"
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1 +0,0 @@
|
|||
MANIFEST-000002
|
|
@ -1 +0,0 @@
|
|||
2022/03/24-18:43:42.516480 7ff1fd652700 Delete type=3 #1
|
Plik binarny nie jest wyświetlany.
|
@ -1 +0,0 @@
|
|||
{"mounts":[{"mountpoint":"/blocks","path":"blocks","shardFunc":"/repo/flatfs/shard/v1/next-to-last/2","type":"flatfs"},{"mountpoint":"/","path":"datastore","type":"levelds"}],"type":"mount"}
|
|
@ -1 +0,0 @@
|
|||
{"name":"self","id":"12D3KooWBSzsT9hxiW7Fv4GYEopf21WBWbCzSseYYx3Gp7NHqpZN"}
|
|
@ -1 +0,0 @@
|
|||
mbIwu0U3alRb7zS1MuLqqsS9MO6Lq8jB4eNepEsF9Qk5zKswiwLZrVKo93kKyXm3Dr/6eeyxLUqw7e0sIy7UpfmgyTBKOtU2MXBV2AfqAfarrmMV3tOYT0tFRaD1/OP/bvsStKe3KALfn6FaOw/ytxg
|
|
@ -1 +0,0 @@
|
|||
MANIFEST-000002
|
|
@ -1 +0,0 @@
|
|||
2022/03/24-18:43:42.709551 7ff1fde53700 Delete type=3 #1
|
Plik binarny nie jest wyświetlany.
|
@ -1 +0,0 @@
|
|||
12
|
|
@ -1 +0,0 @@
|
|||
¢dtypedipfsfparams¡gaddressx1zdpuB1VeMrLPE27YSE3P4rW1APk9DeEbrGwoB41pQdKR7t9Ui
|
|
@ -1,8 +0,0 @@
|
|||
|
||||
ŽCome hang out in our IRC chat room if you have any questions.
|
||||
|
||||
Contact the ipfs dev team:
|
||||
- Bugs: https://github.com/ipfs/go-ipfs/issues
|
||||
- Help: irc.freenode.org/#ipfs
|
||||
- Email: dev@ipfs.io
|
||||
½
|
Plik binarny nie jest wyświetlany.
|
@ -1,9 +0,0 @@
|
|||
|
||||
¿·Some helpful resources for finding your way around ipfs:
|
||||
|
||||
- quick-start: a quick show of various ipfs features.
|
||||
- ipfs commands: a list of all commands
|
||||
- ipfs --help: every command describes itself
|
||||
- https://github.com/ipfs/go-ipfs -- the src repository
|
||||
- #ipfs on irc.freenode.org -- the community irc channel
|
||||
·
|
|
@ -1,115 +0,0 @@
|
|||
|
||||
½
µ
# 0.1 - Quick Start
|
||||
|
||||
This is a set of short examples with minimal explanation. It is meant as
|
||||
a "quick start". Soon, we'll write a longer tour :-)
|
||||
|
||||
|
||||
Add a file to ipfs:
|
||||
|
||||
echo "hello world" >hello
|
||||
ipfs add hello
|
||||
|
||||
|
||||
View it:
|
||||
|
||||
ipfs cat <the-hash-you-got-here>
|
||||
|
||||
|
||||
Try a directory:
|
||||
|
||||
mkdir foo
|
||||
mkdir foo/bar
|
||||
echo "baz" > foo/baz
|
||||
echo "baz" > foo/bar/baz
|
||||
ipfs add -r foo
|
||||
|
||||
|
||||
View things:
|
||||
|
||||
ipfs ls <the-hash-here>
|
||||
ipfs ls <the-hash-here>/bar
|
||||
ipfs cat <the-hash-here>/baz
|
||||
ipfs cat <the-hash-here>/bar/baz
|
||||
ipfs cat <the-hash-here>/bar
|
||||
ipfs ls <the-hash-here>/baz
|
||||
|
||||
|
||||
References:
|
||||
|
||||
ipfs refs <the-hash-here>
|
||||
ipfs refs -r <the-hash-here>
|
||||
ipfs refs --help
|
||||
|
||||
|
||||
Get:
|
||||
|
||||
ipfs get <the-hash-here> -o foo2
|
||||
diff foo foo2
|
||||
|
||||
|
||||
Objects:
|
||||
|
||||
ipfs object get <the-hash-here>
|
||||
ipfs object get <the-hash-here>/foo2
|
||||
ipfs object --help
|
||||
|
||||
|
||||
Pin + GC:
|
||||
|
||||
ipfs pin add <the-hash-here>
|
||||
ipfs repo gc
|
||||
ipfs ls <the-hash-here>
|
||||
ipfs pin rm <the-hash-here>
|
||||
ipfs repo gc
|
||||
|
||||
|
||||
Daemon:
|
||||
|
||||
ipfs daemon (in another terminal)
|
||||
ipfs id
|
||||
|
||||
|
||||
Network:
|
||||
|
||||
(must be online)
|
||||
ipfs swarm peers
|
||||
ipfs id
|
||||
ipfs cat <hash-of-remote-object>
|
||||
|
||||
|
||||
Mount:
|
||||
|
||||
(warning: fuse is finicky!)
|
||||
ipfs mount
|
||||
cd /ipfs/<the-hash-here>
|
||||
ls
|
||||
|
||||
|
||||
Tool:
|
||||
|
||||
ipfs version
|
||||
ipfs update
|
||||
ipfs commands
|
||||
ipfs config --help
|
||||
open http://localhost:5001/webui
|
||||
|
||||
|
||||
Browse:
|
||||
|
||||
webui:
|
||||
|
||||
http://localhost:5001/webui
|
||||
|
||||
video:
|
||||
|
||||
http://localhost:8080/ipfs/QmVc6zuAneKJzicnJpfrqCH9gSy6bz54JhcypfJYhGUFQu/play#/ipfs/QmTKZgRNwDNZwHtJSjCp6r5FYefzpULfy37JvMt9DwvXse
|
||||
|
||||
images:
|
||||
|
||||
http://localhost:8080/ipfs/QmZpc3HvfjEXvLWGQPWbHk3AjD5j8NEN4gmFN8Jmrd5g83/cs
|
||||
|
||||
markdown renderer app:
|
||||
|
||||
http://localhost:8080/ipfs/QmX7M9CiYXjVeFnkfVGf3y5ixTZ2ACeSGyL1vBJY1HvQPp/mdown
|
||||
µ
|
|
@ -1,27 +0,0 @@
|
|||
|
||||
’ Š IPFS Alpha Security Notes
|
||||
|
||||
We try hard to ensure our system is safe and robust, but all software
|
||||
has bugs, especially new software. This distribution is meant to be an
|
||||
alpha preview, don't use it for anything mission critical.
|
||||
|
||||
Please note the following:
|
||||
|
||||
- This is alpha software and has not been audited. It is our goal
|
||||
to conduct a proper security audit once we close in on a 1.0 release.
|
||||
|
||||
- ipfs is a networked program, and may have serious undiscovered
|
||||
vulnerabilities. It is written in Go, and we do not execute any
|
||||
user provided data. But please point any problems out to us in a
|
||||
github issue, or email security@ipfs.io privately.
|
||||
|
||||
- security@ipfs.io GPG key:
|
||||
- 4B9665FB 92636D17 7C7A86D3 50AAE8A9 59B13AF3
|
||||
- https://pgp.mit.edu/pks/lookup?op=get&search=0x50AAE8A959B13AF3
|
||||
|
||||
- ipfs uses encryption for all communication, but it's NOT PROVEN SECURE
|
||||
YET! It may be totally broken. For now, the code is included to make
|
||||
sure we benchmark our operations with encryption in mind. In the future,
|
||||
there will be an "unsafe" mode for high performance intranet apps.
|
||||
If this is a blocking feature for you, please contact us.
|
||||
Š
|
|
@ -1,4 +0,0 @@
|
|||
.
|
||||
" ’èžsÜL`•>¾P}ãÈD
|
||||
>ÚŸo_¸=¡"´u'Òintro§
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
|
||||
Index
|
||||
|
|
@ -1,36 +0,0 @@
|
|||
|
||||
¤œWIP
|
||||
|
||||
# 0.0 - Introduction
|
||||
|
||||
Welcome to IPFS! This tour will guide you through a few of the
|
||||
features of this tool, and the most common commands. Then, it will
|
||||
immerse you into the world of merkledags and the amazing things
|
||||
you can do with them.
|
||||
|
||||
|
||||
This tour has many parts, and can be taken in different sequences.
|
||||
Different people learn different ways, so choose your own adventure:
|
||||
|
||||
To start with the concepts, try:
|
||||
- The Merkle DAG
|
||||
- Data Structures on the Merkle DAG
|
||||
- Representing Files with unixfs
|
||||
- add, cat, ls, refs
|
||||
...
|
||||
|
||||
|
||||
To start with the examples, try:
|
||||
- add, cat, ls, refs
|
||||
- Representing Files with unixfs
|
||||
- Data Structures on the Merkle DAG
|
||||
- The Merkle DAG
|
||||
...
|
||||
|
||||
|
||||
To start with the network, try:
|
||||
- IPFS Nodes
|
||||
- Running the daemon
|
||||
- The Swarm
|
||||
- The Web
|
||||
œ
|
|
@ -1 +0,0 @@
|
|||
」dnamegtest-dbdtypehkeyvaluepaccessControllerx7/ipfs/zdpuAwyQVheNFoWfW8W9xmJFNdCnXB6SHkpfbDG8L4P393i72
|
|
@ -1,28 +0,0 @@
|
|||
|
||||
ЛГHello and Welcome to IPFS!
|
||||
|
||||
в–€в–€в•—в–€в–€в–€в–€в–€в–€в•— в–€в–€в–€в–€в–€в–€в–€в•—в–€в–€в–€в–€в–€в–€в–€в•—
|
||||
в–€в–€в•‘в–€в–€в•”в•ђв•ђв–€в–€в•—в–€в–€в•”в•ђв•ђв•ђв•ђв•ќв–€в–€в•”в•ђв•ђв•ђв•ђв•ќ
|
||||
в–€в–€в•‘в–€в–€в–€в–€в–€в–€в•”в•ќв–€в–€в–€в–€в–€в•— в–€в–€в–€в–€в–€в–€в–€в•—
|
||||
в–€в–€в•‘в–€в–€в•”в•ђв•ђв•ђв•ќ в–€в–€в•”в•ђв•ђв•ќ в•љв•ђв•ђв•ђв•ђв–€в–€в•‘
|
||||
в–€в–€в•‘в–€в–€в•‘ в–€в–€в•‘ в–€в–€в–€в–€в–€в–€в–€в•‘
|
||||
в•љв•ђв•ќв•љв•ђв•ќ в•љв•ђв•ќ в•љв•ђв•ђв•ђв•ђв•ђв•ђв•ќ
|
||||
|
||||
If you're seeing this, you have successfully installed
|
||||
IPFS and are now interfacing with the ipfs merkledag!
|
||||
|
||||
-------------------------------------------------------
|
||||
| Warning: |
|
||||
| This is alpha software. Use at your own discretion! |
|
||||
| Much is missing or lacking polish. There are bugs. |
|
||||
| Not yet secure. Read the security notes for more. |
|
||||
-------------------------------------------------------
|
||||
|
||||
Check out some of the other files in this directory:
|
||||
|
||||
./about
|
||||
./help
|
||||
./quick-start <-- usage examples
|
||||
./readme <-- this file
|
||||
./security-notes
|
||||
Г
|
|
@ -1,3 +0,0 @@
|
|||
-
|
||||
" õR ;<3B>—¿ˆfq<66>aU¿õ0[Xè@÷8Ó·O§¦index
|
||||
|
|
@ -1 +0,0 @@
|
|||
/repo/flatfs/shard/v1/next-to-last/2
|
|
@ -1,3 +0,0 @@
|
|||
¡ewritexJ[
|
||||
"03b63d887fffb3c4ef561dfa46bf798ff712e90382b6fe81a96dbfd5c17ca1276c"
|
||||
]
|
|
@ -1,54 +0,0 @@
|
|||
|
||||
”
Œ
IPFS -- Inter-Planetary File system
|
||||
|
||||
IPFS is a global, versioned, peer-to-peer filesystem. It combines good ideas
|
||||
from Git, BitTorrent, Kademlia, SFS, and the Web. It is like a single bit-
|
||||
torrent swarm, exchanging git objects. IPFS provides an interface as simple
|
||||
as the HTTP web, but with permanence built in. You can also mount the world
|
||||
at /ipfs.
|
||||
|
||||
IPFS is a protocol:
|
||||
- defines a content-addressed file system
|
||||
- coordinates content delivery
|
||||
- combines Kademlia + BitTorrent + Git
|
||||
|
||||
IPFS is a filesystem:
|
||||
- has directories and files
|
||||
- mountable filesystem (via FUSE)
|
||||
|
||||
IPFS is a web:
|
||||
- can be used to view documents like the web
|
||||
- files accessible via HTTP at 'http://ipfs.io/<path>'
|
||||
- browsers or extensions can learn to use 'ipfs://' directly
|
||||
- hash-addressed content guarantees authenticity
|
||||
|
||||
IPFS is modular:
|
||||
- connection layer over any network protocol
|
||||
- routing layer
|
||||
- uses a routing layer DHT (kademlia/coral)
|
||||
- uses a path-based naming service
|
||||
- uses bittorrent-inspired block exchange
|
||||
|
||||
IPFS uses crypto:
|
||||
- cryptographic-hash content addressing
|
||||
- block-level deduplication
|
||||
- file integrity + versioning
|
||||
- filesystem-level encryption + signing support
|
||||
|
||||
IPFS is p2p:
|
||||
- worldwide peer-to-peer file transfers
|
||||
- completely decentralized architecture
|
||||
- **no** central point of failure
|
||||
|
||||
IPFS is a cdn:
|
||||
- add a file to the filesystem locally, and it's now available to the world
|
||||
- caching-friendly (content-hash naming)
|
||||
- bittorrent-based bandwidth distribution
|
||||
|
||||
IPFS has a name service:
|
||||
- IPNS, an SFS inspired name system
|
||||
- global namespace based on PKI
|
||||
- serves to build trust chains
|
||||
- compatible with other NSes
|
||||
- can map DNS, .onion, .bit, etc to IPNS
|
||||
Œ
|
|
@ -1,2 +0,0 @@
|
|||
|
||||
|
|
@ -1,22 +0,0 @@
|
|||
This is a repository of IPLD objects. Each IPLD object is in a single file,
|
||||
named <base32 encoding of cid>.data. Where <base32 encoding of cid> is the
|
||||
"base32" encoding of the CID (as specified in
|
||||
https://github.com/multiformats/multibase) without the 'B' prefix.
|
||||
All the object files are placed in a tree of directories, based on a
|
||||
function of the CID. This is a form of sharding similar to
|
||||
the objects directory in git repositories. Previously, we used
|
||||
prefixes, we now use the next-to-last two charters.
|
||||
func NextToLast(base32cid string) {
|
||||
nextToLastLen := 2
|
||||
offset := len(base32cid) - nextToLastLen - 1
|
||||
return str[offset : offset+nextToLastLen]
|
||||
}
|
||||
For example, an object with a base58 CIDv1 of
|
||||
zb2rhYSxw4ZjuzgCnWSt19Q94ERaeFhu9uSqRgjSdx9bsgM6f
|
||||
has a base32 CIDv1 of
|
||||
BAFKREIA22FLID5AJ2KU7URG47MDLROZIH6YF2KALU2PWEFPVI37YLKRSCA
|
||||
and will be placed at
|
||||
SC/AFKREIA22FLID5AJ2KU7URG47MDLROZIH6YF2KALU2PWEFPVI37YLKRSCA.data
|
||||
with 'SC' being the last-to-next two characters and the 'B' at the
|
||||
beginning of the CIDv1 string is the multibase prefix that is not
|
||||
stored in the filename.
|
|
@ -1,94 +0,0 @@
|
|||
{
|
||||
"Addresses": {
|
||||
"Swarm": [
|
||||
"/ip4/0.0.0.0/tcp/4002",
|
||||
"/ip4/127.0.0.1/tcp/4003/ws"
|
||||
],
|
||||
"Announce": [],
|
||||
"NoAnnounce": [],
|
||||
"API": "/ip4/127.0.0.1/tcp/5002",
|
||||
"Gateway": "/ip4/127.0.0.1/tcp/9090",
|
||||
"RPC": "/ip4/127.0.0.1/tcp/5003",
|
||||
"Delegates": [
|
||||
"/dns4/node0.delegate.ipfs.io/tcp/443/https",
|
||||
"/dns4/node1.delegate.ipfs.io/tcp/443/https",
|
||||
"/dns4/node2.delegate.ipfs.io/tcp/443/https",
|
||||
"/dns4/node3.delegate.ipfs.io/tcp/443/https"
|
||||
]
|
||||
},
|
||||
"Discovery": {
|
||||
"MDNS": {
|
||||
"Enabled": true,
|
||||
"Interval": 10
|
||||
},
|
||||
"webRTCStar": {
|
||||
"Enabled": true
|
||||
}
|
||||
},
|
||||
"Bootstrap": [
|
||||
"/ip4/104.131.131.82/tcp/4001/p2p/QmaCpDMGvV2BGHeYERUEnRQAwe3N8SzbUtfsmvsqQLuvuJ",
|
||||
"/dnsaddr/bootstrap.libp2p.io/p2p/QmNnooDu7bfjPFoTZYxMNLWUQJyrVwtbZg5gBMjTezGAJN",
|
||||
"/dnsaddr/bootstrap.libp2p.io/p2p/QmbLHAnMoJPWSCR5Zhtx6BHJX9KiKNN6tpvbUcqanj75Nb",
|
||||
"/dnsaddr/bootstrap.libp2p.io/p2p/QmZa1sAxajnQjVM8WjWXoMbmPd7NsWhfKsPkErzpm9wGkp",
|
||||
"/dnsaddr/bootstrap.libp2p.io/p2p/QmQCU2EcMqAqQPR2i9bChDtGNJchTbq5TbXJJ16u19uLTa",
|
||||
"/dnsaddr/bootstrap.libp2p.io/p2p/QmcZf59bWwK5XFi76CZX8cbJ4BhTzzA3gU1ZjYZcYW3dwt",
|
||||
"/dns4/node0.preload.ipfs.io/tcp/443/wss/p2p/QmZMxNdpMkewiVZLMRxaNxUeZpDUb34pWjZ1kZvsd16Zic",
|
||||
"/dns4/node1.preload.ipfs.io/tcp/443/wss/p2p/Qmbut9Ywz9YEDrz8ySBSgWyJk41Uvm2QJPhwDJzJyGFsD6",
|
||||
"/dns4/node2.preload.ipfs.io/tcp/443/wss/p2p/QmV7gnbW5VTcJ3oyM2Xk1rdFBJ3kTkvxc87UFGsun29STS",
|
||||
"/dns4/node3.preload.ipfs.io/tcp/443/wss/p2p/QmY7JB6MQXhxHvq7dBDh4HpbH29v4yE9JRadAVpndvzySN"
|
||||
],
|
||||
"Pubsub": {
|
||||
"Router": "gossipsub",
|
||||
"Enabled": true
|
||||
},
|
||||
"Swarm": {
|
||||
"ConnMgr": {
|
||||
"LowWater": 50,
|
||||
"HighWater": 200
|
||||
},
|
||||
"DisableNatPortMap": false
|
||||
},
|
||||
"Routing": {
|
||||
"Type": "dhtclient"
|
||||
},
|
||||
"Identity": {
|
||||
"PeerID": "12D3KooWG6vr7HxhaoLMWqkc93abwQ6RfYPQD2owwgozvPgfe1TC",
|
||||
"PrivKey": "CAESQD4zBURZN7QoAxfy5Xb68OS5TD3kGRAcFyDaroP2QQ4xXWRdS236oRn4oUhOV+zb01ffn+zTvJl72IPuq797MHc="
|
||||
},
|
||||
"Datastore": {
|
||||
"Spec": {
|
||||
"type": "mount",
|
||||
"mounts": [
|
||||
{
|
||||
"mountpoint": "/blocks",
|
||||
"type": "measure",
|
||||
"prefix": "flatfs.datastore",
|
||||
"child": {
|
||||
"type": "flatfs",
|
||||
"path": "blocks",
|
||||
"sync": true,
|
||||
"shardFunc": "/repo/flatfs/shard/v1/next-to-last/2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"mountpoint": "/",
|
||||
"type": "measure",
|
||||
"prefix": "leveldb.datastore",
|
||||
"child": {
|
||||
"type": "levelds",
|
||||
"path": "datastore",
|
||||
"compression": "none"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"Keychain": {
|
||||
"DEK": {
|
||||
"keyLength": 64,
|
||||
"iterationCount": 10000,
|
||||
"salt": "qnYA7CK3E2XkOL8tYifmavhc",
|
||||
"hash": "sha2-512"
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1 +0,0 @@
|
|||
MANIFEST-000002
|
|
@ -1 +0,0 @@
|
|||
2022/03/24-18:42:33.844017 7f04477fe700 Delete type=3 #1
|
Plik binarny nie jest wyświetlany.
|
@ -1 +0,0 @@
|
|||
{"mounts":[{"mountpoint":"/blocks","path":"blocks","shardFunc":"/repo/flatfs/shard/v1/next-to-last/2","type":"flatfs"},{"mountpoint":"/","path":"datastore","type":"levelds"}],"type":"mount"}
|
|
@ -1 +0,0 @@
|
|||
{"name":"self","id":"12D3KooWG6vr7HxhaoLMWqkc93abwQ6RfYPQD2owwgozvPgfe1TC"}
|
|
@ -1 +0,0 @@
|
|||
m7pKkJnU7cEqgXynwlFiK/nifQwKxz85MywWOMidVlXBBLXWkdQ/WGGjuIgiiVgEMbxgM+nxDiX/KQVJhGZkOHysjXVD0yja2N3CTi+tNAb1sugXMitXs4dwrbJDIOCOCsuOGyij0IQYP6vsek3aCeA
|
|
@ -1 +0,0 @@
|
|||
MANIFEST-000002
|
|
@ -1 +0,0 @@
|
|||
2022/03/24-18:42:34.011866 7f04467fc700 Delete type=3 #1
|
Plik binarny nie jest wyświetlany.
|
@ -1 +0,0 @@
|
|||
12
|
|
@ -1,8 +0,0 @@
|
|||
|
||||
ŽCome hang out in our IRC chat room if you have any questions.
|
||||
|
||||
Contact the ipfs dev team:
|
||||
- Bugs: https://github.com/ipfs/go-ipfs/issues
|
||||
- Help: irc.freenode.org/#ipfs
|
||||
- Email: dev@ipfs.io
|
||||
½
|
|
@ -1,3 +0,0 @@
|
|||
¡ewritexJ[
|
||||
"02dcff4db9fde226b934a77da816daa92eac4f8a44e0adc638075a581958b3b448"
|
||||
]
|
Plik binarny nie jest wyświetlany.
|
@ -1,9 +0,0 @@
|
|||
|
||||
¿·Some helpful resources for finding your way around ipfs:
|
||||
|
||||
- quick-start: a quick show of various ipfs features.
|
||||
- ipfs commands: a list of all commands
|
||||
- ipfs --help: every command describes itself
|
||||
- https://github.com/ipfs/go-ipfs -- the src repository
|
||||
- #ipfs on irc.freenode.org -- the community irc channel
|
||||
·
|
|
@ -1,115 +0,0 @@
|
|||
|
||||
½
µ
# 0.1 - Quick Start
|
||||
|
||||
This is a set of short examples with minimal explanation. It is meant as
|
||||
a "quick start". Soon, we'll write a longer tour :-)
|
||||
|
||||
|
||||
Add a file to ipfs:
|
||||
|
||||
echo "hello world" >hello
|
||||
ipfs add hello
|
||||
|
||||
|
||||
View it:
|
||||
|
||||
ipfs cat <the-hash-you-got-here>
|
||||
|
||||
|
||||
Try a directory:
|
||||
|
||||
mkdir foo
|
||||
mkdir foo/bar
|
||||
echo "baz" > foo/baz
|
||||
echo "baz" > foo/bar/baz
|
||||
ipfs add -r foo
|
||||
|
||||
|
||||
View things:
|
||||
|
||||
ipfs ls <the-hash-here>
|
||||
ipfs ls <the-hash-here>/bar
|
||||
ipfs cat <the-hash-here>/baz
|
||||
ipfs cat <the-hash-here>/bar/baz
|
||||
ipfs cat <the-hash-here>/bar
|
||||
ipfs ls <the-hash-here>/baz
|
||||
|
||||
|
||||
References:
|
||||
|
||||
ipfs refs <the-hash-here>
|
||||
ipfs refs -r <the-hash-here>
|
||||
ipfs refs --help
|
||||
|
||||
|
||||
Get:
|
||||
|
||||
ipfs get <the-hash-here> -o foo2
|
||||
diff foo foo2
|
||||
|
||||
|
||||
Objects:
|
||||
|
||||
ipfs object get <the-hash-here>
|
||||
ipfs object get <the-hash-here>/foo2
|
||||
ipfs object --help
|
||||
|
||||
|
||||
Pin + GC:
|
||||
|
||||
ipfs pin add <the-hash-here>
|
||||
ipfs repo gc
|
||||
ipfs ls <the-hash-here>
|
||||
ipfs pin rm <the-hash-here>
|
||||
ipfs repo gc
|
||||
|
||||
|
||||
Daemon:
|
||||
|
||||
ipfs daemon (in another terminal)
|
||||
ipfs id
|
||||
|
||||
|
||||
Network:
|
||||
|
||||
(must be online)
|
||||
ipfs swarm peers
|
||||
ipfs id
|
||||
ipfs cat <hash-of-remote-object>
|
||||
|
||||
|
||||
Mount:
|
||||
|
||||
(warning: fuse is finicky!)
|
||||
ipfs mount
|
||||
cd /ipfs/<the-hash-here>
|
||||
ls
|
||||
|
||||
|
||||
Tool:
|
||||
|
||||
ipfs version
|
||||
ipfs update
|
||||
ipfs commands
|
||||
ipfs config --help
|
||||
open http://localhost:5001/webui
|
||||
|
||||
|
||||
Browse:
|
||||
|
||||
webui:
|
||||
|
||||
http://localhost:5001/webui
|
||||
|
||||
video:
|
||||
|
||||
http://localhost:8080/ipfs/QmVc6zuAneKJzicnJpfrqCH9gSy6bz54JhcypfJYhGUFQu/play#/ipfs/QmTKZgRNwDNZwHtJSjCp6r5FYefzpULfy37JvMt9DwvXse
|
||||
|
||||
images:
|
||||
|
||||
http://localhost:8080/ipfs/QmZpc3HvfjEXvLWGQPWbHk3AjD5j8NEN4gmFN8Jmrd5g83/cs
|
||||
|
||||
markdown renderer app:
|
||||
|
||||
http://localhost:8080/ipfs/QmX7M9CiYXjVeFnkfVGf3y5ixTZ2ACeSGyL1vBJY1HvQPp/mdown
|
||||
µ
|
|
@ -1,27 +0,0 @@
|
|||
|
||||
’ Š IPFS Alpha Security Notes
|
||||
|
||||
We try hard to ensure our system is safe and robust, but all software
|
||||
has bugs, especially new software. This distribution is meant to be an
|
||||
alpha preview, don't use it for anything mission critical.
|
||||
|
||||
Please note the following:
|
||||
|
||||
- This is alpha software and has not been audited. It is our goal
|
||||
to conduct a proper security audit once we close in on a 1.0 release.
|
||||
|
||||
- ipfs is a networked program, and may have serious undiscovered
|
||||
vulnerabilities. It is written in Go, and we do not execute any
|
||||
user provided data. But please point any problems out to us in a
|
||||
github issue, or email security@ipfs.io privately.
|
||||
|
||||
- security@ipfs.io GPG key:
|
||||
- 4B9665FB 92636D17 7C7A86D3 50AAE8A9 59B13AF3
|
||||
- https://pgp.mit.edu/pks/lookup?op=get&search=0x50AAE8A959B13AF3
|
||||
|
||||
- ipfs uses encryption for all communication, but it's NOT PROVEN SECURE
|
||||
YET! It may be totally broken. For now, the code is included to make
|
||||
sure we benchmark our operations with encryption in mind. In the future,
|
||||
there will be an "unsafe" mode for high performance intranet apps.
|
||||
If this is a blocking feature for you, please contact us.
|
||||
Š
|
|
@ -1,4 +0,0 @@
|
|||
.
|
||||
" ’èžsÜL`•>¾P}ãÈD
|
||||
>ÚŸo_¸=¡"´u'Òintro§
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
|
||||
Index
|
||||
|
|
@ -1,36 +0,0 @@
|
|||
|
||||
¤œWIP
|
||||
|
||||
# 0.0 - Introduction
|
||||
|
||||
Welcome to IPFS! This tour will guide you through a few of the
|
||||
features of this tool, and the most common commands. Then, it will
|
||||
immerse you into the world of merkledags and the amazing things
|
||||
you can do with them.
|
||||
|
||||
|
||||
This tour has many parts, and can be taken in different sequences.
|
||||
Different people learn different ways, so choose your own adventure:
|
||||
|
||||
To start with the concepts, try:
|
||||
- The Merkle DAG
|
||||
- Data Structures on the Merkle DAG
|
||||
- Representing Files with unixfs
|
||||
- add, cat, ls, refs
|
||||
...
|
||||
|
||||
|
||||
To start with the examples, try:
|
||||
- add, cat, ls, refs
|
||||
- Representing Files with unixfs
|
||||
- Data Structures on the Merkle DAG
|
||||
- The Merkle DAG
|
||||
...
|
||||
|
||||
|
||||
To start with the network, try:
|
||||
- IPFS Nodes
|
||||
- Running the daemon
|
||||
- The Swarm
|
||||
- The Web
|
||||
œ
|
|
@ -1 +0,0 @@
|
|||
¢dtypedipfsfparams¡gaddressx1zdpuArtNdroXobxLgKyyjeLSPKMP1U6E4Np8wMg2VFQKeoigq
|
|
@ -1,28 +0,0 @@
|
|||
|
||||
ЛГHello and Welcome to IPFS!
|
||||
|
||||
в–€в–€в•—в–€в–€в–€в–€в–€в–€в•— в–€в–€в–€в–€в–€в–€в–€в•—в–€в–€в–€в–€в–€в–€в–€в•—
|
||||
в–€в–€в•‘в–€в–€в•”в•ђв•ђв–€в–€в•—в–€в–€в•”в•ђв•ђв•ђв•ђв•ќв–€в–€в•”в•ђв•ђв•ђв•ђв•ќ
|
||||
в–€в–€в•‘в–€в–€в–€в–€в–€в–€в•”в•ќв–€в–€в–€в–€в–€в•— в–€в–€в–€в–€в–€в–€в–€в•—
|
||||
в–€в–€в•‘в–€в–€в•”в•ђв•ђв•ђв•ќ в–€в–€в•”в•ђв•ђв•ќ в•љв•ђв•ђв•ђв•ђв–€в–€в•‘
|
||||
в–€в–€в•‘в–€в–€в•‘ в–€в–€в•‘ в–€в–€в–€в–€в–€в–€в–€в•‘
|
||||
в•љв•ђв•ќв•љв•ђв•ќ в•љв•ђв•ќ в•љв•ђв•ђв•ђв•ђв•ђв•ђв•ќ
|
||||
|
||||
If you're seeing this, you have successfully installed
|
||||
IPFS and are now interfacing with the ipfs merkledag!
|
||||
|
||||
-------------------------------------------------------
|
||||
| Warning: |
|
||||
| This is alpha software. Use at your own discretion! |
|
||||
| Much is missing or lacking polish. There are bugs. |
|
||||
| Not yet secure. Read the security notes for more. |
|
||||
-------------------------------------------------------
|
||||
|
||||
Check out some of the other files in this directory:
|
||||
|
||||
./about
|
||||
./help
|
||||
./quick-start <-- usage examples
|
||||
./readme <-- this file
|
||||
./security-notes
|
||||
Г
|
|
@ -1,3 +0,0 @@
|
|||
-
|
||||
" õR ;<3B>—¿ˆfq<66>aU¿õ0[Xè@÷8Ó·O§¦index
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Ładowanie…
Reference in New Issue