差異處
這裏顯示兩個版本的差異處。
兩邊的前次修訂版 前次修改 下次修改 | 前次修改 | ||
tech:ipfs [2016/09/07 18:38] – [開始使用] jonathan | tech:ipfs [2022/09/07 06:32] (目前版本) – jonathan | ||
---|---|---|---|
行 1: | 行 1: | ||
+ | ====== ipfs 使用測試 ====== | ||
+ | ===== Alpine 3 安裝 ===== | ||
+ | * 安裝環境 Alpine Linux 3.16 | ||
+ | * ipfs 0.12.2 <cli> | ||
+ | su - | ||
+ | apk add go-ipfs | ||
+ | </ | ||
+ | ~# ipfs version | ||
+ | ipfs version 0.12.2 | ||
+ | </ | ||
+ | |||
+ | ===== CentOS 6 安裝 ===== | ||
+ | * 安裝環境 CentOS 6.8 x86_64 | ||
+ | * ipfs v0.4.2 | ||
+ | <code sh> | ||
+ | wget https:// | ||
+ | tar xvfz go-ipfs_*.tar.gz | ||
+ | mv go-ipfs/ | ||
+ | </ | ||
+ | * 測試是否可正常運作 <code sh> | ||
+ | ipfs help | ||
+ | </ | ||
+ | [root@localhost ipfs]# ipfs help | ||
+ | USAGE | ||
+ | ipfs - Global p2p merkle-dag filesystem. | ||
+ | |||
+ | ipfs [< | ||
+ | |||
+ | SUBCOMMANDS | ||
+ | BASIC COMMANDS | ||
+ | init Initialize ipfs local configuration | ||
+ | add < | ||
+ | cat < | ||
+ | get < | ||
+ | ls < | ||
+ | refs < | ||
+ | |||
+ | DATA STRUCTURE COMMANDS | ||
+ | block | ||
+ | : | ||
+ | diag Print diagnostics | ||
+ | |||
+ | TOOL COMMANDS | ||
+ | config | ||
+ | version | ||
+ | update | ||
+ | commands | ||
+ | |||
+ | Use 'ipfs < | ||
+ | |||
+ | ipfs uses a repository in the local file system. By default, the repo is located | ||
+ | at ~/.ipfs. To change the repo location, set the $IPFS_PATH environment variable: | ||
+ | |||
+ | export IPFS_PATH=/ | ||
+ | |||
+ | </ | ||
+ | |||
+ | ===== Windows 10 安裝 ===== | ||
+ | * 安裝環境 Windows 10 64 bit | ||
+ | * ipfs v0.4.2 | ||
+ | * 下載 https:// | ||
+ | * 解開至 c: | ||
+ | 2016/ | ||
+ | 2016/ | ||
+ | 2016/ | ||
+ | 2016/ | ||
+ | 2016/ | ||
+ | </ | ||
+ | cd c:\ipfs | ||
+ | ipfs.exe help | ||
+ | </ | ||
+ | C: | ||
+ | USAGE | ||
+ | ipfs - Global p2p merkle-dag filesystem. | ||
+ | |||
+ | ipfs [< | ||
+ | |||
+ | SUBCOMMANDS | ||
+ | BASIC COMMANDS | ||
+ | init Initialize ipfs local configuration | ||
+ | add < | ||
+ | : | ||
+ | : | ||
+ | update | ||
+ | commands | ||
+ | |||
+ | Use 'ipfs < | ||
+ | |||
+ | ipfs uses a repository in the local file system. By default, the repo is located | ||
+ | at ~/.ipfs. To change the repo location, set the $IPFS_PATH environment variable: | ||
+ | |||
+ | export IPFS_PATH=/ | ||
+ | |||
+ | </ | ||
+ | |||
+ | ===== Rapsberry Pi 安裝 ===== | ||
+ | <code sh> | ||
+ | sudo su - | ||
+ | wget https:// | ||
+ | |||
+ | </ | ||
+ | |||
+ | ===== 啟用設定 ===== | ||
+ | * 初始化 ipfs 目錄< | ||
+ | ipfs init | ||
+ | </ | ||
+ | [root@localhost ~]# ipfs init | ||
+ | initializing ipfs node at /root/.ipfs | ||
+ | generating 2048-bit RSA keypair...done | ||
+ | peer identity: QmaU6Qwnu75JjiKr23VMEfT191sEJVcYcTLPnVSMmbua7n | ||
+ | to get started, enter: | ||
+ | |||
+ | ipfs cat / | ||
+ | |||
+ | </ | ||
+ | * 查看初始化建立的目錄< | ||
+ | ipfs ls / | ||
+ | </ | ||
+ | [root@localhost ~]# ipfs ls / | ||
+ | QmZTR5bcpQD7cFgTorqxZDYaew1Wqgfbd2ud9QqGPAkK2V 1688 about | ||
+ | QmYCvbfNbCwFR45HiNP45rwJgvatpiW38D961L5qAhUM5Y 200 contact | ||
+ | QmY5heUM5qgRubMDD1og9fhCPA6QdkMp3QCwd4s7gJsyE7 322 help | ||
+ | QmdncfsVm2h5Kqq9hPmU7oAVX2zTSVP3L869tgTbPYnsha 1728 quick-start | ||
+ | QmPZ9gcCEpqKTo6aq61g2nXGUhM4iCL3ewB6LDXZCtioEB 1102 readme | ||
+ | QmTumTjvcYCAvRRwQ8sDRxh8ezmrcr88YFU7iYNroGGTBZ 1027 security-notes | ||
+ | |||
+ | </ | ||
+ | * 啟動 ipfs daemon 加入 ipfs 的服務群集< | ||
+ | ipfs daemon | ||
+ | </ | ||
+ | [root@localhost ~]# ipfs daemon | ||
+ | Initializing daemon... | ||
+ | Swarm listening on / | ||
+ | : | ||
+ | : | ||
+ | Swarm listening on / | ||
+ | API server listening on / | ||
+ | Gateway (readonly) server listening on / | ||
+ | Daemon is ready | ||
+ | </ | ||
+ | * 查看目前可以看到的連結點< | ||
+ | ipfs swarm peers | ||
+ | </ | ||
+ | [root@localhost ~]# ipfs swarm peers | ||
+ | / | ||
+ | / | ||
+ | / | ||
+ | : | ||
+ | : | ||
+ | / | ||
+ | / | ||
+ | </ | ||
+ | |||
+ | < | ||
+ | * 要建立自己封閉的 ipfs Cluster 可透過修改 config 內的 " | ||
+ | cd .ipfs | ||
+ | vi config | ||
+ | </ | ||
+ | : | ||
+ | : | ||
+ | " | ||
+ | "/ | ||
+ | "/ | ||
+ | ], | ||
+ | : | ||
+ | : | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | ===== 基本操作 ===== | ||
+ | * 將 /tmp/test 目錄與底下檔案上傳至 ipfs 內<code sh> | ||
+ | ipfs add -r /tmp/test | ||
+ | </ | ||
+ | [root@xpc-ideas tmp]# ipfs add -r /tmp/test | ||
+ | added QmR3Y6ZHkvVyEvjVAjbqMQfrAyC5mCfH5CcDg9ZcYhu3f6 test/ | ||
+ | added QmUPGSG2BR9zSJYRtXRVhDK5thJEE7kXgfjV7RgXXqtM5e test/ | ||
+ | added QmaVZADgMeibd7xX2MJuoBk9yJe6DWdAWuiN3hYpkbdJoX test/ | ||
+ | added QmWSQKyVbtWz3B4GjPSj68gtWQKVwQnZjiyFLRTe2jrXbq test/ | ||
+ | added QmaP366L4P2zRzGHRW7qa4VThckk2KjiqtNM6QmSMw6PNu test/ | ||
+ | added QmdujYFtXRpqdjoxc2rvbp5LEYTi1J2Qxe7x74eJsCHdQx test/ | ||
+ | added QmWR7tngmYs17rcKfBe19xuzfTf3DSbR5CsRymtpAfCCin test/ | ||
+ | added QmQbnDQXboZv9TDgTQJf1T2kniEjQof3ue9eUWhEPnvbuW test/ | ||
+ | added QmbzTnPVzPgRvVJQMWXNsGiA48WRnV7JMGuSmyDCvBaMbA test/ | ||
+ | added QmVavKj5mD7z37Z32YHGhAgML4PadDbE3j1JzEgNoBo5Qu test | ||
+ | </ | ||
+ | * 將檔案 / | ||
+ | ipfs add / | ||
+ | </ | ||
+ | [root@xpc-ideas tmp]# ipfs add / | ||
+ | added QmZRLdzkexfEiFkwwdyJ5g46BFtrCQwa47TL1e4gHok8rf test1.txt | ||
+ | </ | ||
+ | * 查詢 QmVavKj5mD7z37Z32YHGhAgML4PadDbE3j1JzEgNoBo5Qu | ||
+ | ipfs ls QmVavKj5mD7z37Z32YHGhAgML4PadDbE3j1JzEgNoBo5Qu | ||
+ | </ | ||
+ | [root@kvm-ipfs3 ~]# ipfs ls QmVavKj5mD7z37Z32YHGhAgML4PadDbE3j1JzEgNoBo5Qu | ||
+ | QmR3Y6ZHkvVyEvjVAjbqMQfrAyC5mCfH5CcDg9ZcYhu3f6 1712841 IMAG5471.jpg | ||
+ | QmUPGSG2BR9zSJYRtXRVhDK5thJEE7kXgfjV7RgXXqtM5e 2046221 IMAG5472.jpg | ||
+ | QmaVZADgMeibd7xX2MJuoBk9yJe6DWdAWuiN3hYpkbdJoX 1322887 IMAG5473.jpg | ||
+ | QmWSQKyVbtWz3B4GjPSj68gtWQKVwQnZjiyFLRTe2jrXbq 1489588 IMAG5474.jpg | ||
+ | QmaP366L4P2zRzGHRW7qa4VThckk2KjiqtNM6QmSMw6PNu 1637953 IMAG5475.jpg | ||
+ | QmdujYFtXRpqdjoxc2rvbp5LEYTi1J2Qxe7x74eJsCHdQx 1486240 IMAG5476.jpg | ||
+ | QmWR7tngmYs17rcKfBe19xuzfTf3DSbR5CsRymtpAfCCin 1369639 IMAG5477.jpg | ||
+ | QmQbnDQXboZv9TDgTQJf1T2kniEjQof3ue9eUWhEPnvbuW 2208829 IMAG5478.jpg | ||
+ | QmbzTnPVzPgRvVJQMWXNsGiA48WRnV7JMGuSmyDCvBaMbA 1800607 IMAG5479.jpg | ||
+ | </ | ||
+ | * 直接顯示 QmZRLdzkexfEiFkwwdyJ5g46BFtrCQwa47TL1e4gHok8rf 檔案內容< | ||
+ | ipfs cat QmZRLdzkexfEiFkwwdyJ5g46BFtrCQwa47TL1e4gHok8rf | ||
+ | </ | ||
+ | [root@kvm-ipfs3 ~]# ipfs cat QmZRLdzkexfEiFkwwdyJ5g46BFtrCQwa47TL1e4gHok8rf | ||
+ | # chkweblog.pl Ver 1.00 (2014/ | ||
+ | Hostname: | ||
+ | Keyword#3 : [/ | ||
+ | ----- | ||
+ | : | ||
+ | : | ||
+ | </ | ||
+ | * 下載 QmZRLdzkexfEiFkwwdyJ5g46BFtrCQwa47TL1e4gHok8rf 檔案至 / | ||
+ | ipfs get QmZRLdzkexfEiFkwwdyJ5g46BFtrCQwa47TL1e4gHok8rf -o /tmp/t1.txt | ||
+ | </ | ||
+ | [root@kvm-ipfs3 ~]# ipfs get QmZRLdzkexfEiFkwwdyJ5g46BFtrCQwa47TL1e4gHok8rf -o /tmp/t1.txt | ||
+ | Saving file(s) to /tmp/t1.txt | ||
+ | 6.50 KB 0 | ||
+ | </ | ||
+ | * 下載 QmVavKj5mD7z37Z32YHGhAgML4PadDbE3j1JzEgNoBo5Qu 目錄至 / | ||
+ | ipfs get QmVavKj5mD7z37Z32YHGhAgML4PadDbE3j1JzEgNoBo5Qu -o /tmp/t2 | ||
+ | </ | ||
+ | [root@kvm-ipfs3 ~]# ipfs get QmVavKj5mD7z37Z32YHGhAgML4PadDbE3j1JzEgNoBo5Qu -o /tmp/t2 | ||
+ | Saving file(s) to /tmp/t2 | ||
+ | 14.38 MB 0 | ||
+ | [root@kvm-ipfs3 ~]# cd /tmp/t2/ | ||
+ | [root@kvm-ipfs3 t2]# ls | ||
+ | IMAG5471.jpg | ||
+ | </ | ||
+ | |||
+ | ===== 進階操作 ===== | ||
+ | * 當上傳至 ipfs 後,一開始只會存在本機的 ipfs repos 內, 當其他節點有 get / cat 時,才會將檔案區塊同步過去, | ||
+ | ipfs pin add -r QmVavKj5mD7z37Z32YHGhAgML4PadDbE3j1JzEgNoBo5Qu | ||
+ | </ | ||
+ | [root@kvm-ipfs1 ~]# ipfs pin add -r QmVavKj5mD7z37Z32YHGhAgML4PadDbE3j1JzEgNoBo5Qu | ||
+ | pinned QmVavKj5mD7z37Z32YHGhAgML4PadDbE3j1JzEgNoBo5Qu recursively | ||
+ | </ | ||
+ | * 上傳至 ipfs 的檔案原則上應該很難完全刪除掉, | ||
+ | ipfs pin rm -r QmVavKj5mD7z37Z32YHGhAgML4PadDbE3j1JzEgNoBo5Qu | ||
+ | ipfs repo gc | ||
+ | </ | ||
+ | [root@xpc-ideas tmp]# ipfs pin rm -r QmVavKj5mD7z37Z32YHGhAgML4PadDbE3j1JzEgNoBo5Qu | ||
+ | unpinned QmVavKj5mD7z37Z32YHGhAgML4PadDbE3j1JzEgNoBo5Qu | ||
+ | [root@xpc-ideas tmp]# ipfs repo gc | ||
+ | removed QmeHRZmBmeGLuszjAZczMA1f9uYrrxTggjNaLnKhMG1iw2 | ||
+ | removed QmeUeLi59BU7szstx95vWSdKBXqojraGTACPXHxGqJMXz2 | ||
+ | removed QmfBiCoFsu5jyETpywAUBWDWyj6Lru9PHYxcqgeTZQqnE8 | ||
+ | removed QmfNHKknAV5qEdg8nktPj4qUAH6Hi9r7JEKexDPw7ZxJrp | ||
+ | |||
+ | [root@kvm-ipfs1 ~]# ipfs pin rm -r QmVavKj5mD7z37Z32YHGhAgML4PadDbE3j1JzEgNoBo5Qu | ||
+ | unpinned QmVavKj5mD7z37Z32YHGhAgML4PadDbE3j1JzEgNoBo5Qu | ||
+ | [root@kvm-ipfs1 ~]# ipfs repo gc | ||
+ | removed QmeHRZmBmeGLuszjAZczMA1f9uYrrxTggjNaLnKhMG1iw2 | ||
+ | removed QmeUeLi59BU7szstx95vWSdKBXqojraGTACPXHxGqJMXz2 | ||
+ | removed QmfBiCoFsu5jyETpywAUBWDWyj6Lru9PHYxcqgeTZQqnE8 | ||
+ | removed QmfNHKknAV5qEdg8nktPj4qUAH6Hi9r7JEKexDPw7ZxJrp | ||
+ | |||
+ | [root@kvm-ipfs2 ~]# ipfs pin rm -r QmVavKj5mD7z37Z32YHGhAgML4PadDbE3j1JzEgNoBo5Qu | ||
+ | Error: not pinned | ||
+ | [root@kvm-ipfs2 ~]# ipfs repo gc | ||
+ | |||
+ | [root@kvm-ipfs3 t2]# ipfs pin rm -r QmVavKj5mD7z37Z32YHGhAgML4PadDbE3j1JzEgNoBo5Qu | ||
+ | Error: not pinned | ||
+ | [root@kvm-ipfs3 t2]# ipfs repo gc | ||
+ | |||
+ | </ | ||
+ | ipfs ls QmVavKj5mD7z37Z32YHGhAgML4PadDbE3j1JzEgNoBo5Qu | ||
+ | </ | ||
+ | |||
+ | |||
+ | ===== 參考網址 ===== | ||
+ | * https:// | ||
+ | * https:// | ||
+ | * https:// | ||
+ | |||
+ | {{tag> | ||