入门指南(Getting Started)
安装IPFS
如果你还没有使用过IPFS,那么第一步就是安装!多数人倾向于安装Prebuilt包,你可以在IPFS distributions page 页面上点击“安装go-ipfs(install go-ipfs)”(我们基于GO语言编写的应用),然后按照installing from a prebuilt package(从Prebuilt包安装)直到进行操作。
你可以在Introduction网页根据你的平台下载IPFS
不希望使用命令行操作么?你可以运行IPFS的桌面版APP,点击这里开始
(https://github.com/ipfs-shipyard/ipfs-desktop)
如需了解更多的安装选项,例如从源代码进行构建和了解疑难排解提示,可以参考我们的安装指南(Install guide)。如果你对运行程序有疑问或者程序卡住了,请随时在Https://discuss.ipfs.io或者#ipfs.on chat .freenode.net 中提问。
初始化储存库(Initializethe repository)
Ipfs 将所有的内部数据和设置数据储存在名叫储存库(Repository)的目录下。在首次使用IPFS前,你需要使用ipfs init 命令来初始化储存库。
> 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
如果你是在数据中心的服务器上运行IPFS,你应当在初始化IPFS时使用server描述文件。这项文件可以防止IPFS在寻找本地节点时于数据中心内产生过多的通信信息。
> ipfs init--profile server
你也许需要设置许多的服务器配置选项,你可以通过 完整参考资料来了解更多。
在 peeridentity 后的哈希是你节点的ID,它不同于上面(文件)的输出。网络中的其他节点通过ID来和你进行链接和通信。如有需要,你可以在任何时候运行 ipfs id
来获取。
现在,试着在 ipfs init
输出中运行其推荐给你的命令,就是看起来像 ipfs cat /ipfs//readme 的那个。
运行后你应当看到这个东西:
Hello and Welcome to IPFS!
██╗██████╗███████╗███████╗
██║██╔══██╗██╔════╝██╔════╝
██║██████╔╝█████╗ ███████╗
██║██╔═══╝██╔══╝ ╚════██║
██║██║ ██║ ███████║
╚═╝╚═╝ ╚═╝ ╚══════╝
If you're seeingthis, you have successfully installed
IPFS and are nowinterfacing with the ipfs merkledag!
-------------------------------------------------------
| Warning: |
| This is alpha software. use at your own discretion!|
| Much is missing or lacking polish. There arebugs. |
| Not yet secure. Read the security notes formore. |
-------------------------------------------------------
Check out someof the other files in this directory:
./about
./help
./quick-start <-- usage examples
./readme <-- this file
./security-notes
你可以试着探索下其他的东西,尤其是 quick-start
ipfs cat /ipfs/QmYwAPJzv5CZsnA625s3Xf2nemtYgPpHdWEz79ojWnPbdG/quick-start
这会给你展现一些有趣的东西。
上线(GoingOnline)
一旦你准备好在线处理某些东西,可以在另一个终端中运行:
> ipfs daemon
Initializingdaemon...
API serverlistening on /ip4/127.0.0.1/tcp/5001
Gateway serverlistening on /ip4/127.0.0.1/tcp/8080
等待上述三行信息的出现。
你需要记下你的TCP端口。如果命令显示的端口不同,那么下面的命令中将会用到他们。
让我们回到你之前的终端,如果你已经和网络进行了链接,你应当能在运行以下指令时看到:
> ipfs swarmpeers
/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
他们是<transportaddress>/ipfs/<hash-of-public-key>
的集合
现在你可以从网络中对象了,试着运行:
ipfs cat/ipfs/QmW2WQi7j6c7UgJTarActp7tDNikE4B2qXtFCfLPdsgaTQ/cat.jpg >cat.jpg
open cat.jpg
然后,你也能向网络提交新的对象了。试着加一个吧,然后在你最爱的浏览器里看看它。举个例子,我们以curl 作为浏览器,当然你一可以在其它浏览器中打开IPFSURL:
> hash=`echo"I <3 IPFS -$(whoami)" | ipfs add -q`
> curl"https://ipfs.io/ipfs/$hash"
I <3 IPFS-<your username>
很酷是不?网关将通过你的电脑来向网络提供文件。(流程包括)网关查询(文件)DHT,定位你的电脑,请求文件,你的电脑将文件发送到网关,然后网关再将内容送到你的浏览器中。
注意:根据网络状态,curl 指令也许需要一段时间(才能显示内容)。公共网关也有可能过载或者很难和你通信。
你也可以通过本地网关来查看内容:
> curl "http://127.0.0.1:8080/ipfs/$hash"
I <3 IPFS-<your username>
默认情况下本地网关不会公开,只会在本地运行。
有趣的网页控制台(Fancy Web Console)
IPFS也有一个网页端控制台来让你可以检查自己节点的状态,选择你常用的网页浏览器,输入URL:
http://localhost:5001/webui
这个链接会将你导向如下控制台:
浏览器拓展伴侣(CompanionBrowser Extension)
目前,IPFS Companion是一类浏览器的扩展,其简化了对IPFS资源访问的难度并新增了对IPFS协议的支持。
它会自动请求将IPFS网关重定向到你的本地daemon进程,以便你可以省略对远程网关的依赖和信任。
此类扩展可以运行在Firefox(安卓端与桌面端)和多种基于Chromium的浏览器(如谷歌Chrome、Brave等)你可以查阅相关网页并安装他们。
接下来,让我们了解更多的使用例子。