如何修改创建的html文件的ip,IPFS+IPNS+个人博客搭建

目录

1. 如何在IPFS新增一个文件

1.1 新建file.txt文件

1.2 查看ipfs相关命令

1.3 将file.txt添加到ipfs节点

2. 通过ipfs创建目录存储文件

3. 如何在IPFS新增一个目录

3.1 使用ipfs add -r可以上传一整个目录

3.2 通过路径访问contactme.txt文件数据

3.3 通过Hash查看数据IPFS网络数据

4. 创建简易的网页发布到IPFS

4.1 创建一个index.html文件

4.2 创建一个style.css文件

4.3 添加到ipfs

4.4 网络同步

4.5 访问网站

4.6 发布到IPNS

5. 发布个人博客

5.1 搭建静态博客

5.2 节点ID替换

5.3 浏览博客

6. 下篇预报

6.1

ipfs + ethereum``Dapp开发入门

1. 如何在IPFS新增一个文件

1.1 新建file.txt文件

打开终端,切换到桌面,新建一个文件夹1121,切换到1121中,通过vi新建一个文件file.txt,文件里面输入春哥微信号liyc1215保存并且退出。

localhost:Desktop yuechunli$ pwd

/Users/liyuechun/Desktop

localhost:Desktop yuechunli$ mkdir 1121

localhost:Desktop yuechunli$ cd 1121/

localhost:1121 yuechunli$ vi file.txt

localhost:1121 yuechunli$ cat file.txt

liyc1215

localhost:1121 yuechunli$

1.2 查看ipfs相关命令

localhost:1121 yuechunli$ ipfs help

USAGE

ipfs - Global p2p merkle-dag filesystem.

ipfs [--config= | -c] [--debug= | -D] [--help=] [-h=] [--local= | -L] [--api=] ...

SUBCOMMANDS

BASIC COMMANDS

init Initialize ipfs local configuration

add Add a file to IPFS

cat Show IPFS object data

get Download IPFS objects

ls List links from an object

refs List hashes of links from an object

DATA STRUCTURE COMMANDS

block Interact with raw blocks in the datastore

object Interact with raw dag nodes

files Interact with objects as if they were a unix filesystem

dag Interact with IPLD documents (experimental)

ADVANCED COMMANDS

daemon Start a long-running daemon process

mount Mount an IPFS read-only mountpoint

resolve Resolve any type of name

name Publish and resolve IPNS names

key Create and list IPNS name keypairs

dns Resolve DNS links

pin Pin objects to local storage

repo Manipulate the IPFS repository

stats Various operational stats

p2p Libp2p stream mounting

filestore Manage the filestore (experimental)

NETWORK COMMANDS

id Show info about IPFS peers

bootstrap Add or remove bootstrap peers

swarm Manage connections to the p2p network

dht Query the DHT for values or peers

ping Measure the latency of a connection

diag Print diagnostics

TOOL COMMANDS

config Manage configuration

version Show ipfs version information

update Download and apply go-ipfs updates

commands List all available commands

1.3 将file.txt添加到ipfs节点

localhost:1121 yuechunli$ ls

file.txt

localhost:1121 yuechunli$ ipfs add file.txt

added QmbrevseVQKf1vsYMsxCscRf6D7S2dftYpHwxkYf94pc7T file.txt

localhost:1121 yuechunli$ cat file.txt

liyc1215

localhost:1121 yuechunli$ ipfs cat QmbrevseVQKf1vsYMsxCscRf6D7S2dftYpHwxkYf94pc7T

liyc1215

localhost:1121 yuechunli$

当执行完ipfs add file.txt这个命令以后,会将file.txt添加到ipfs当前的节点中,并且会对file.txt文件生成一个唯一的hash``QmbrevseVQKf1vsYMsxCscRf6D7S2dftYpHwxkYf94pc7T,如果想查看本地ipfs节点的数据,可以通过ipfs cat QmbrevseVQKf1vsYMsxCscRf6D7S2dftYpHwxkYf94pc7T进行查看。

⚠️:当我试图通过http://ipfs.io/ipfs/QmbrevseVQKf1vsYMsxCscRf6D7S2dftYpHwxkYf94pc7T进行数据访问时,无法访问,如下图所示:

d428dce0e390?utm_campaign=haruki&utm_content=note&utm_medium=reader_share&utm_source=weixin

image

⚠️:虽然数据已经添加到当前的你自己的IPFS节点中,但是并没有同步到IPFS网络,所以暂时在网络上无法访问。

⚠️:重要:接下来执行下面的命令同步节点数据到IPFS网络,再试图在网络上查看数据。

同步节点

新建一个终端,执行ipfs daemon。

localhost:.ipfs yuechunli$ ipfs daemon

Initializing daemon...

Adjusting current ulimit to 2048...

Successfully raised file descriptor limit to 2048.

Swarm listening on /ip4/111.196.246.151/tcp/3637

Swarm listening on /ip4/127.0.0.1/tcp/4001

Swarm listening on /ip4/169.254.170.167/tcp/4001

Swarm listening on /ip4/192.168.0.107/tcp/4001

Swarm listening on /ip6/::1/tcp/4001

API server listening on /ip4/127.0.0.1/tcp/5001

Gateway (readonly) server listening on /ip4/127.0.0.1/tcp/8080

Daemon is ready

从IPFS网络查看数据

2. 通过ipfs创建目录存储文件

在着上面的步骤走,我们可以通过ipfs cat QmbrevseVQKf1vsYMsxCscRf6D7S2dftYpHwxkYf94pc7T liyc1215查看添加到ipfs网络的file.txt文件的内容,如下:

localhost:1121 yuechunli$ ipfs cat QmbrevseVQKf1vsYMsxCscRf6D7S2dftYpHwxkYf94pc7T

liyc1215

localhost:1121 yuechunli$

当然,我们也可以通过ipfs的相关命令在ipfs的根目录下面创建文件夹,并且将file.txt文件移动或者拷贝到我们创建的文件夹中。

⚠️:cp不会改变文件hash,mv会改变hash寻址。

localhost:1121 yuechunli$ ipfs cat QmbrevseVQKf1vsYMsxCscRf6D7S2dftYpHwxkYf94pc7T

liyc1215

localhost:1121 yuechunli$ ipfs files mkdir /LiYueChun

localhost:1121 yuechunli$ ipfs files cp /ipfs/QmbrevseVQKf1vsYMsxCscRf6D7S2dftYpHwxkYf94pc7T /LiYueChun/file.txt

localhost:1121 yuechunli$ ipfs files ls /

LiYueChun

localhost:1121 yuechunli$ ipfs files ls /LiYueChun/

file.txt

localhost:1121 yuechunli$ ipfs files read /LiYueChun/file.txt

liyc1215

localhost:1121 yuechunli$

3. 如何在IPFS新增一个目录

3.1 使用ipfs add -r可以上传一整个目录

localhost:1121 yuechunli$ ipfs add -r ipfs-tutorial/

added QmYx4BnhnLXeMWF5mKu16fJgUBiVP7ECXh7qcsUZnXiRxc ipfs-tutorial/contactme.txt

added QmfKdWsguobA3aDPvSxLB3Bq4HMKyqKSgFr2NFUuVH8n31 ipfs-tutorial/eth-fabric.png

added QmXe8jTxTh5MZP6BK5cnj19mXNTKVMzNyUJZUHuYyr5dk1 ipfs-tutorial/gongzhonghao.png

added QmSsjQDVw1fvmG5RsZMgp2GjihiXn2zDv64mfHZN3AREek ipfs-tutorial

3.2 通过路径访问contactme.txt文件数据

如果我们上传的是目录,那么可以通过下面几种方式访问到contactme.txt文件的数据。

localhost:1121 yuechunli$ ipfs cat QmYx4BnhnLXeMWF5mKu16fJgUBiVP7ECXh7qcsUZnXiRxc

localhost:1121 yuechunli$ ipfs cat /ipfs/QmYx4BnhnLXeMWF5mKu16fJgUBiVP7ECXh7qcsUZnXiRxc

localhost:1121 yuechunli$ ipfs cat /ipfs/QmSsjQDVw1fvmG5RsZMgp2GjihiXn2zDv64mfHZN3AREek/contactme.txt

localhost:1121 yuechunli$

3.3 通过Hash查看数据IPFS网络数据

d428dce0e390?utm_campaign=haruki&utm_content=note&utm_medium=reader_share&utm_source=weixin

image

d428dce0e390?utm_campaign=haruki&utm_content=note&utm_medium=reader_share&utm_source=weixin

image

4. 创建简易的网页发布到IPFS

在这里我先自己写一个简单的网页给大家演示,先在桌面新建一个site文件夹,然后按照下面的步骤在site文件夹中建立index.html和style.css文件。

4.1 创建一个index.html文件

Hello IPFS!

Hello IPFS!

4.2 创建一个style.css文件

h1 {

color: green;

}

4.3 添加到ipfs

localhost:Desktop yuechunli$ ipfs add -r site/

added QmWG5rbgT9H77TGq49RXNoqN8M7DNKMnMX425nkmCB6BjS site/index.html

added QmfGLJ3mryLvicQqzdsghq4QRhptKJtBAPe7yDJxsBGSuy site/style.css

added QmdVEGkT5u7LtzzatTrn8JGNEF3fpuMPVs2rPCfvqRykRp site

最后一行是项目根目录的hash,你先通过ipfs daemon同步网络,然后可以通过https://ipfs.io/ipfs/,即https://ipfs.io/ipfs/QmdVEGkT5u7LtzzatTrn8JGNEF3fpuMPVs2rPCfvqRykRp访问项目。

4.4 网络同步

localhost:Desktop yuechunli$ ipfs daemon

4.5 访问网站

d428dce0e390?utm_campaign=haruki&utm_content=note&utm_medium=reader_share&utm_source=weixin

image

4.6 发布到IPNS

当我们修改网站内容重新添加到ipfs时,hash会发生变化,当我们网站更新时,我们可以将网站发布到IPNS,在IPNS中,允许我们节点的域名空间中引用一个IPFS hash,也就是说我们可以通过节点ID对项目根目录的IPFS HASH进行绑定,以后我们访问网站时直接通过节点·ID访问即可,当我们更新博客时,重新发布到IPNS`即可。

localhost:~ yuechunli$ ipfs name publish QmdVEGkT5u7LtzzatTrn8JGNEF3fpuMPVs2rPCfvqRykRp

Published to QmdKXkeEWcuRw9oqBwopKUa8CgK1iBktPGYaMoJ4UNt1MP: /ipfs/QmdVEGkT5u7LtzzatTrn8JGNEF3fpuMPVs2rPCfvqRykRp

localhost:~ yuechunli$ ipfs id

{

"ID": "QmdKXkeEWcuRw9oqBwopKUa8CgK1iBktPGYaMoJ4UNt1MP"

}

当我们执行ipfs name publish命令时,会返回我们的节点ID,你可以通过ipfs id进行查看验证是否是你的节点ID。

⚠️:验证

$ ipfs name resolve

localhost:~ yuechunli$ ipfs name resolve QmdKXkeEWcuRw9oqBwopKUa8CgK1iBktPGYaMoJ4UNt1MP

/ipfs/QmdVEGkT5u7LtzzatTrn8JGNEF3fpuMPVs2rPCfvqRykRp

localhost:~ yuechunli$

⚠️:当然我们现在就可以通过IPNS进行访问了。

https://ipfs.io/ipns/QmdKXkeEWcuRw9oqBwopKUa8CgK1iBktPGYaMoJ4UNt1MP

⚠️⚠️⚠️:注意上面是ipns而不是ipfs。

d428dce0e390?utm_campaign=haruki&utm_content=note&utm_medium=reader_share&utm_source=weixin

image

⚠️:如果你网站数据修改,需要重新发布到IPNS。

5. 发布个人博客

你可以通过Hugo按照官方文档创建一个漂亮的静态博客Hugo官方网站,当然你也可以自己编写,或者使用其他开源项目搭建。

5.1 搭建静态博客

大家可以自己搭建,也可以直接下载我的博客源码直接搭建。

5.2 节点ID替换

查看你的节点ID

localhost:ipfs_pin yuechunli$ ipfs id

{

"ID": "《your peer id》"

}

localhost:ipfs_pin yuechunli$

在上面的源码中全局搜索将源码里面的QmdKXkeEWcuRw9oqBwopKUa8CgK1iBktPGYaMoJ4UNt1MP替换成你自己的ID。

5.3 浏览博客

d428dce0e390?utm_campaign=haruki&utm_content=note&utm_medium=reader_share&utm_source=weixin

IPFS 博客项目效果图

6. 下篇预报

6.1

ipfs + ethereum``Dapp开发入门

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值