本文由币乎(bihu.com)内容支持计划奖励
A peer-to-peer hypermedia protocol
to make the web faster, safer, and more open.
网站搭建
确保服务开启
ipfs daemon
创建一个简单的网站
- 结构如下
> tree first-ipfs-site
first-ipfs-site
├── img
│ └── cat.jpg
└── index.html
- 网站发布
> ipfs add -r first-ipfs-site
added Qmd286K6pohQcTKYqnS1YhWrCiS4gz7Xi34sdwMe9USZ7u first-ipfs-site/img/cat.jpg
added Qmc1rdFt2CT5Q8yCnvNbyknKrj4p6YTKAyE4Gfnt3UhPw9 first-ipfs-site/index.html
added QmW2WQi7j6c7UgJTarActp7tDNikE4B2qXtFCfLPdsgaTQ first-ipfs-site/img
added QmUMME3r3J96WVMN8uFHBaRwciPLqNCexGVqPGVd94bkN3 first-ipfs-site
返回的最靠近网站主目录的hash值就是我们发布的对应的网站的hash,在这里就是QmUMME3r3J96WVMN8uFHBaRwciPLqNCexGVqPGVd94bkN3
- 测试
本地测试,在浏览器中打开以下url http://localhost:8080/ipfs/QmUMME3r3J96WVMN8uFHBaRwciPLqNCexGVqPGVd94bkN3 ,你可以看到一只猫咪。。
我们还可以通过 http://gateway.ipfs.io/ipfs/QmUMME3r3J96WVMN8uFHBaRwciPLqNCexGVqPGVd94bkN3 来访问它,当然会有点慢。。,
- 网站更新
网站更新时,hash值在变,我们不可能每次访问的网站地址变化,解决的方式就是使用ipns(interplanetary Naming System),可理解为ipfs系统里面的域名系统,它可以解决ipfs网络上内容变更带来的hash值变化,使用方式简单,我们只需要
> ipfs name publish QmUMME3r3J96WVMN8uFHBaRwciPLqNCexGVqPGVd94bkN3
Published to QmasVX9rVSz52ZoRcK7NuFaBU4C1t2DRdLxta1g2yNFWef: /ipfs/QmUMME3r3J96WVMN8uFHBaRwciPLqNCexGVqPGVd94bkN3
稍等会会看到发布的peerid QmasVX9rVSz52ZoRcK7NuFaBU4C1t2DRdLxta1g2yNFWef,该值在网站发生变化时它保持不变,这样我们只需要保证始终使用如下方式访问网站
http://localhost:8080/ipns/QmasVX9rVSz52ZoRcK7NuFaBU4C1t2DRdLxta1g2yNFWef/
注意url中的ipfs已经替换成现在的ipns了
当能够通过ipns访问对应的peerid时,这时该peerid已经注册到ipns上了,就像我们域名注册一样
- 域名访问
现在访问以及网站变更是没有问题了,但是url中的这个hash串实在是太长了,下面介绍避免的方法,首先得有一个DNS TXT记录,包含
dnslink=/ipns/QmasVX9rVSz52ZoRcK7NuFaBU4C1t2DRdLxta1g2yNFWef
,这个需要dns运营商配置,配置好并生效后,那我们访问的方式就看起来非常简单了
http://your.domain