新增文件
-
在桌面新建名字为1121的文件夹,在文件夹里面新建file.txt文件,在文件里面输入数据,保存退出
$ pwd
/Users/CHY/Desktop
$ mkdir 1121
$ cd 1121/
$ vi file.txt
$ cat file.txt
哈哈,为什么只有我不快乐
-
给文件输入内容的时候,使用i,开始输入
-
输入完成之后,按下Exc退出编辑,在同时按shift+冒号,输入wq保存修改
查看ipfs帮助命令
$ ipfs help
USAGEipfs - Global p2p merkle-dag filesystem.ipfs [--config=<config> | -c] [--debug=<debug> | -D] [--help=<help>] [-h=<h>] [--local=<local> | -L] [--api=<api>] <command> ...SUBCOMMANDSBASIC COMMANDSinit Initialize ipfs local configurationadd <path> Add a file to IPFScat <ref> Show IPFS object dataget <ref> Download IPFS objectsls <ref> List links from an objectrefs <ref> List hashes of links from an objectDATA STRUCTURE COMMANDSblock Interact with raw blocks in the datastoreobject Interact with raw dag nodesfiles Interact with objects as if they were a unix filesystemdag Interact with IPLD documents (experimental)ADVANCED COMMANDSdaemon Start a long-running daemon processmount Mount an IPFS read-only mountpointresolve Resolve any type of namename Publish and resolve IPNS nameskey Create and list IPNS name keypairsdns Resolve DNS linkspin Pin objects to local storagerepo Manipulate the IPFS repositorystats Various operational statsp2p Libp2p stream mountingfilestore Manage the filestore (experimental)NETWORK COMMANDSid Show info about IPFS peersbootstrap Add or remove bootstrap peersswarm Manage connections to the p2p networkdht Query the DHT for values or peersping Measure the latency of a connectiondiag Print diagnosticsTOOL COMMANDSconfig Manage configurationversion Show ipfs version informationupdate Download and apply go-ipfs updatescommands List all available commands
将文件添加到IPFS节点
$ ipfs add file.txt
added QmbrevseVQKf1vsYMsxCscRf6D7S2dftYpHwxkYf94pc7T file.txt
$ cat file.txt
哈哈,具体问题具体分析
$ ipfs cat QmbrevseVQKf1vsYMsxCscRf6D7S2dftYpHwxkYf94pc7T
哈哈,具体问题具体分析
-
当执行完
ipfs add file.txt
这个命令以后,会将file.txt
添加到ipfs
当前的节点中,并且会对file.txt
文件生成一个唯一的hash``QmbrevseVQKf1vsYMsxCscRf6D7S2dftYpHwxkYf94pc7T
,如果想查看本地ipfs
节点的数据,可以通过ipfs cat QmbrevseVQKf1vsYMsxCscRf6D7S2dftYpHwxkYf94pc7T
进行查看。 -
ipfs cat QmbrevseVQKf1vsYMsxCscRf6D7S2dftYpHwxkYf94pc7T和命令ipfs cat file.txt的内容是一致的
-
但是通过
http://ipfs.io/ipfs/QmbrevseVQKf1vsYMsxCscRf6D7S2dftYpHwxkYf94pc7T
进行数据访问时,无法访问,因为这个数据存储在我们本地,只有将其发布到IPFS的公有集群上才可以访问。
同步节点
-
使用命令ipfs daemon
$ ipfs daemon
Initializing daemon...
Adjusting current ulimit to 2048...
Successfully raised file descriptor limit to 2048.
Swarm listening on /ip4/111.196.246.151/tcp/3637
Swarm listening on /ip4/127.0.0.1/tcp/4001
Swarm listening on /ip4/169.254.170.167/tcp/4001
Swarm listening on /ip4/192.168.0.107/tcp/4001
Swarm listening on /ip6/::1/tcp/4001
API server listening on /ip4/127.0.0.1/tcp/5001
Gateway (readonly) server listening on /ip4/127.0.0.1/tcp/8080
Daemon is ready
-
从
IPFS
网络查看数据,在浏览器输入https://ipfs.io/ipfs/QmbrevseVQKf1vsYMsxCscRf6D7S2dftYpHwxkYf94pc7T链接
创建目录存储文件
- 使用命令
ipfs cat QmbrevseVQKf1vsYMsxCscRf6D7S2dftYpHwxkYf94pc7T liyc1215
查看添加到ipfs
网络的file.txt
文件的内容 -
也可以通过
ipfs
的相关命令在ipfs
的根目录下面创建文件夹,并且将file.txt
文件移动或者拷贝到我们创建的文件夹中。 -
cp不会改变文件hash,mv会改变hash寻址
-
ipfs files mkdir /1122 新建的1122文件夹前面必须有 /
$ ipfs files mkdir /1122
$ ipfs files cp /ipfs/QmbrevseVQKf1vsYMsxCscRf6D7S2dftYpHwxkYf94pc7T /1122/file.txt
$ ipfs files ls /
1122
$ ipfs files ls /1122/
file.txt
$ ipfs files read /1122/file.txt
赫赫
新增一个目录
使用ipfs add -r可以上传一整个目录
$ ipfs add -r ipfs-tutorial/
added QmYx4BnhnLXeMWF5mKu16fJgUBiVP7ECXh7qcsUZnXiRxc ipfs-tutorial/contactme.txt
added QmfKdWsguobA3aDPvSxLB3Bq4HMKyqKSgFr2NFUuVH8n31 ipfs-tutorial/eth-fabric.png
added QmXe8jTxTh5MZP6BK5cnj19mXNTKVMzNyUJZUHuYyr5dk1 ipfs-tutorial/gongzhonghao.png
added QmSsjQDVw1fvmG5RsZMgp2GjihiXn2zDv64mfHZN3AREek ipfs-tutorial
- QmSsjQDVw1fvmG5RsZMgp2GjihiXn2zDv64mfHZN3AREek是整体的哈希
- 对于txt文件可以直接使用ipfs cat 哈希的方式进行查看,而对于其余格式的文件必须下载并进行类型的转换才可以看,比如针对上面的eth-fabric.png的访问代码为
ipfs get /ipfs/QmfKdWsguobA3aDPvSxLB3Bq4HMKyqKSgFr2NFUuVH8n31 -o eth-fabric.png
- 文件名前的哈希是他们自己各自的哈希值
通过路径访问contactme.txt文件数据
- 如果我们上传的是目录,那么可以通过下面几种方式访问到
contactme.txt
文件的数据。
$ ipfs cat QmYx4BnhnLXeMWF5mKu16fJgUBiVP7ECXh7qcsUZnXiRxc$ ipfs cat /ipfs/QmYx4BnhnLXeMWF5mKu16fJgUBiVP7ECXh7qcsUZnXiRxc$ ipfs cat /ipfs/QmSsjQDVw1fvmG5RsZMgp2GjihiXn2zDv64mfHZN3AREek/contactme.txt
通过Hash查看数据IPFS网络数据
访问目录:https://ipfs.io/ipfs/QmSsjQDVw1fvmG5RsZMgp2GjihiXn2zDv64mfHZN3AREek通过目录访问文件:https://ipfs.io/ipfs/QmSsjQDVw1fvmG5RsZMgp2GjihiXn2zDv64mfHZN3AREek/contactme.txt通过文件hash直接访问:https://ipfs.io/ipfs/QmYx4BnhnLXeMWF5mKu16fJgUBiVP7ECXh7qcsUZnXiRxc