新增文件
-
在桌面新建名字為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
?
?
?
?
?