盛锐音乐视野筱虹|IPFS在分布式文件存储系统中的运用( 二 )


在速度和可靠性方面 , IPFS系统的性能优于HTTP协议 。 与依赖服务器地址获取文件的方式不同 , 内容寻址存储系统可以从用户附近的各种服务器(例如 , IPFS网络上的对等点或节点)提供文件 。 换句话说 , 用户可以简单地对文件进行搜索 , 而无需搜索引擎提供坐标 , 即服务器名称或地址 。 相反 , 用户可以通过文件的哈希值对其进行引用 , 而且可以通过网络附近的可用节点获取到相应文件 。
IPFS系统的安装
IPFS的常规安装有2个节点选择
1.IPFS桌面——直接从一台计算机(笔记本电脑或台式机)存储或分享文件 。 用户可以安装一款IPFS配套应用程序 , 从而可以通过网页浏览器对本地节点进行访问 。 这是对等网络文件共享的安装形式 。
2.IPFS集群——用于大规模地存储和共享文件 , 该集群允许跨IPFS节点对识别号组合(pinsets)进行编排和协调 。 通过IPFS集群 , 用户可以利用分布式节点构建一个大规模的文件存储系统 。
在安装基础IPFS桌面之后 , 节点配置从初始化存储库开始 。 以下是用户从WindowsPowershell或Mac/Linuxterminalshell中输入的指令 。
ipfsinit
&gtinitializingipfsnodeat/Users/&ltusername&gt/.go-ipfs
&gtgenerating2048-bitRSAkeypair...done
&gtpeeridentity:Qmcpo2iLBikrdf1d6QU6vXuNb6P7hwrbNPW9kLAH8eG67z
&gttogetstarted,enter:
&gt
初始化操作是在第一次使用IPFS系统时需执行的步骤 。 下一步是运行IPFS的程式处理进程 , 将节点连接到网络 。
ipfsdaemon
&gtInitializingdaemon...
&gtAPIserverlisteningon/ip4/127.0.0.1/tcp/5001
&gtGatewayserverlisteningon/ip4/127.0.0.1/tcp/8080
这项指令是指在本地计算机127.0.0.1上初始化并运行程式处理进程 。 它将启动侦听TCP端口5001的API服务器以及侦听TCP端口8080的网关服务器 。 现在 , 通过发出集群指令 , 用户即可看到网络上的其他IPFS节点 。 指令如下所示:
【盛锐音乐视野筱虹|IPFS在分布式文件存储系统中的运用】ipfsswarmpeers
&gt/ip4/104.131.131.82/tcp/4001/p2p/QmaCpDMGvV2BGHeYERUEnRQAwe3N8SzbUtfsmvsqQLuvuJ
&gt/ip4/104.236.151.122/tcp/4001/p2p/QmSoLju6m7xTh3DuokvT3886QRYqxAzb1kShaanJgW36yx
&gt/ip4/134.121.64.93/tcp/1035/p2p/QmWHyrPWQnsz1wxHR219ooJDYTvxJPyZuDUPSDpdsAovN5
&gt/ip4/178.62.8.190/tcp/4002/p2p/QmdXzZ25cyzSF99csCQmmPZ1NTbWTe8qtKFaZKpZQPdTFB
正如IPFS说明中所解释的 , 对等点所采用的格式是:
&lttransportaddress&gt/p2p/&lthash-of-public-key&gt
以下是一个在网络上获取文件的指令示例:
ipfscat/ipfs/QmW2WQi7j6c7UgJTarActp7tDNikE4B2qXtFCfLPdsgaTQ/cat.jpg&gtcat.jpgopencat.jpg
该指令将从名为“cat.jpg”的指定对等点获取一个对象 , 并在本地打开它 。
IPFS的脚本语言
以下是利用RunkitNPM和Infura网关(对公众免费开放)向IPFS网络写入数据的测试代码 。
constIPFS=require("ipfs-mini"1.1.5)
constipfs=newIPFS({host:"ipfs.infura.io",port:5001,protocol:"https