利用 IPFS 构建一个去中心化、不可篡改的分布式Wiki系统(三)

来源:IPFS联盟  作者:戴嘉乐  时间:2018-05-15

 

IPFS 项目实践

  利用 IPFS 构建一个去中心化、不可篡改的分布式Wiki系统

  3.1 新建workplace

  考虑到方便后期开源和推广,这边我是托管在github上,大家可以选择自己熟悉的代码托管服务,也可以克隆我的工程 ->ipfs-wiki-system,在其基础上进行你的二次开发,有任何问题,欢迎提交issue给我

mkdir workplace cd workplace git clone git@github.com:daijiale/ipfs-wiki-system.git

3.2 wiki系统搭建

cd workplace/ipfs-wiki-system/wiki-release ll

  可以看到如下文件:

  wiki-release

  index.html//markdown模板渲染

  navigation.md//导航markdown

  index.md//首页markdown

  大家可以参考ipfs-wikiDemo,根据自己的需求,通过markdown自定义不同的wiki内容和目录。

3.3 挂载本地节点

  利用 IPFS 构建一个去中心化、不可篡改的分布式Wiki系统(三)

  记住文件根目录的Hash值:QmV5ZVQxXURKPDcVDW8WjpLCiQYvNzg173XcB6rYFevoXm

3.4 发布到主网

ipfs daemon

  https://ipfs.io/ipfs/QmV5ZVQxXURKPDcVDW8WjpLCiQYvNzg173XcB6rYFevoXm/#!index.md

3.5 发布到IPNS

  由于ipfs的hash对应着一个不可变的内容,每次更新网站之后,website的hash都会变,旧的link不能访问到新的内容。

  ipfs提供了ipns来解决更新的问题。

  ipfs允许用户使用一个私有密钥来对哈希附加一个引用,使用一个公共密钥哈希(简称pubkeyhash)表示你的网站的最新版本。

  具体操作是:

  利用 IPFS 构建一个去中心化、不可篡改的分布式Wiki系统(三)

  通过上述方式,就完成了website和一个固定的link的绑定:
QmPS5NRXPCeAUtofKbW7c58Qm4PpM8mPEVJvaooE13LF78

3.6 绑定验证

ipfs name resolve QmPS5NRXPCeAUtofKbW7c58Qm4PpM8mPEVJvaooE13LF78 /ipfs/QmV5ZVQxXURKPDcVDW8WjpLCiQYvNzg173XcB6rYFevoXm

  IPNS访问固定节点Hash:

  https://ipfs.io/ipns/QmPS5NRXPCeAUtofKbW7c58Qm4PpM8mPEVJvaooE13LF78

  验证成功,出现如下效果:

  利用 IPFS 构建一个去中心化、不可篡改的分布式Wiki系统(三)

3.7 去中心化验证

  以之前发布到主网的节点为第一节点,我们本地再新建一个节点,用以模拟第二节点的身份,打开Web Console:

  利用 IPFS 构建一个去中心化、不可篡改的分布式Wiki系统(三)

  在第二节点上,我们依然可以通过IPFS HASH查询到第一节点主网上的ipfs-wiki-system目录文件数据

  同时,我们也能看到:控制台显示记录了我们发布至主网数据的区块节点数已经扩散至275个。

  利用 IPFS 构建一个去中心化、不可篡改的分布式Wiki系统(三)

  也就是说,来自另外全球其他274地方的个体,在自己的''记账本''中记下了你之前发布的数据,哪怕其中个别服务器宕机(天灾人祸,挖断电缆,世界末日等等),只要有一个节点安好,你的数据都不会丢失,真正意义实现了去中心化的服务机制

四、项目体验

  利用 IPFS 构建一个去中心化、不可篡改的分布式Wiki系统(三)

相关信息:
您可能喜欢
Copyright © 2017 iIPFS.com IPFS/FileCoin资讯站