IPFS是基於對等模式的網絡傳輸系統,相似於Git和BitTorrent的結合。node
若是尚未安裝,參考 install IPFS.web
若有任何問題,能夠到這裏討論 https://discuss.ipfs.io/ ,或者 #ipfs on chat.freenode.net.服務器
全部ipfs發佈的文件都歸入倉庫中,並創建索引。網絡
ipfs
採用全球統一索引的本地對象倉庫, 添加到 ~/.ipfs
:app
> ipfs init initializing ipfs node at /Users/jbenet/.go-ipfs generating 2048-bit RSA keypair...done peer identity: Qmcpo2iLBikrdf1d6QU6vXuNb6P7hwrbNPW9kLAH8eG67z to get started, enter: ipfs cat /ipfs/QmYwAPJzv5CZsnA625s3Xf2nemtYgPpHdWEz79ojWnPbdG/readme
注意這裏的 hash 值每一個節點和文件都是不同的。curl
如今, 試一下:tcp
ipfs cat /ipfs/QmYwAPJzv5CZsnA625s3Xf2nemtYgPpHdWEz79ojWnPbdG/readme
能夠看到以下的畫面(上面的/ipfs/QmYwAPJzv5CZsnA625s3Xf2nemtYgPpHdWEz79ojWnPbdG是ipfs的地址,是一個對等節點,而不是傳統意義上的主機服務器):ide
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
能夠接着訪問其餘對象,例如得到 quick-start
:ui
ipfs cat /ipfs/QmYwAPJzv5CZsnA625s3Xf2nemtYgPpHdWEz79ojWnPbdG/quick-start
將會看到幾個有趣的 examples。this
Once you’re ready to take things online, run the daemon in another terminal:
> ipfs daemon Initializing daemon... API server listening on /ip4/127.0.0.1/tcp/5001 Gateway server listening on /ip4/127.0.0.1/tcp/8080
Wait for all three lines to appear.
Make note of the tcp ports you get. if they are different, use yours in the commands below.
Now, if you’re connected to the network, you should be able to see the ipfs addresses of your peers:
> ipfs swarm peers /ip4/104.131.131.82/tcp/4001/ipfs/QmaCpDMGvV2BGHeYERUEnRQAwe3N8SzbUtfsmvsqQLuvuJ /ip4/104.236.151.122/tcp/4001/ipfs/QmSoLju6m7xTh3DuokvT3886QRYqxAzb1kShaanJgW36yx /ip4/134.121.64.93/tcp/1035/ipfs/QmWHyrPWQnsz1wxHR219ooJDYTvxJPyZuDUPSDpdsAovN5 /ip4/178.62.8.190/tcp/4002/ipfs/QmdXzZ25cyzSF99csCQmmPZ1NTbWTe8qtKFaZKpZQPdTFB
These are a combination of <transport address>/ipfs/<hash-of-public-key>
.
Now, you should be able to get objects from the network. Try:
ipfs cat /ipfs/QmW2WQi7j6c7UgJTarActp7tDNikE4B2qXtFCfLPdsgaTQ/cat.jpg >cat.jpg open cat.jpg
And, you should be able to give the network objects. Try adding one, and then viewing it in your favorite browser. In this example, we are using curl
as our browser, but you can open the IPFS URL in other browsers as well:
> hash=`echo "I <3 IPFS -$(whoami)" | ipfs add -q` > curl "https://ipfs.io/ipfs/$hash" I <3 IPFS -<your username>
Cool, huh? The gateway served a file from your computer. The gateway queried the DHT, found your machine, requested the file, your machine sent it to the gateway, and the gateway sent it to your browser.
Note: depending on the state of the network, the `curl` may take a while. The public gateways may be overloaded or having a hard time reaching you.
檢查一下local gateway是否工做:
> curl "http://127.0.0.1:8080/ipfs/$hash" I <3 IPFS -<your username>
缺省狀況下, 你的gateway 未對外部地址開放, 只能本地訪問。
目前有一個簡單的web console,能夠查看節點狀態。訪問輸入:
界面以下:
好來,如今基本系統已經搭建完畢。