IPFS的配置安装

目录

  • 1. IPFS简介
  • 2. IPFS本地环境安装
    • 2.1 下载ipfs压缩包
    • 2.2 安装
  • 3. 项目配置
    • 3.1 创建ipfs节点
    • 3.2 修改节点默认存储空间
    • 3.3 查看节点id
    • 3.4 启动节点服务器
    • 3.5 跨域资源共享CORS配置
    • 3.6 验证

1. IPFS简介

IPFS(InterPlanetary File System)是一个点对点的分布式超媒体分发协议,它整合了过去几年最好的分布式系统思路,为所有人提供全球统一的可寻址空间,包括Git、自证明文件系统SFSBitTorrentDHT,同时也被认为是最有可能取代HTTP的新一代互联网协议。

IPFS用基于内容的寻址替代传统的基于域名的寻址,用户不需要关心服务器的位置,不用考虑文件存储的名字和路径。我们将一个文件放到IPFS节点中,将会得到基于其内容计算出的唯一加密哈希值。哈希值直接反映文件的内容,哪怕只修改1比特,哈希值也会完全不同。当IPFS被请求一个文件哈希时,它会使用一个分布式哈希表找到文件所在的节点,取回文件并验证文件数据。

IPFS是通用目的的基础架构,基本没有存储上的限制。大文件会被切分成小的分块,下载的时候可以从多个服务器同时获取。IPFS的网络是不固定的、细粒度的、分布式的网络,可以很好的适应内容分发网络的要求。这样的设计可以很好的共享各类数据,包括图像、视频流、分布式数据库、整个操作系统、模块链、8英寸软盘的备份,还有静态网站。

协议实现
Go、JavaScript、Python
客户端库:Go、Java、JavaScript、Python、Scala、Haskell、Swift、CommonLisp、Rust、Ruby、Swift、PHP、C#

IPFS提供了一个友好的WEB访问接口,用户可通过http://ipfs.io/hash

获取IPFS网络中的内容,也许在不久的将来,IPFS协议将会彻底替代传统的HTTP协议。

2. IPFS本地环境安装

2.1 下载ipfs压缩包

image
image
image
image
image

2.2 安装

liyuechun:Downloads yuechunli$ pwd
/Users/liyuechun/Downloads
liyuechun:Downloads yuechunli$ ls
go-ipfs_v0.4.10_darwin-amd64.tar.gz
liyuechun:Downloads yuechunli$ tar xvfz go-ipfs_v0.4.10_darwin-amd64.tar.gz 
x go-ipfs/build-log
x go-ipfs/install.sh
x go-ipfs/ipfs
x go-ipfs/LICENSE
x go-ipfs/README.md
liyuechun:Downloads yuechunli$ ls
go-ipfs                 go-ipfs_v0.4.10_darwin-amd64.tar.gz
liyuechun:Downloads yuechunli$ cd go-ipfs
liyuechun:go-ipfs yuechunli$ ls
LICENSE     README.md   build-log   install.sh  ipfs
liyuechun:go-ipfs yuechunli$ mv ipfs /usr/local/bin/ipfs

tar xvfz go-ipfs_v0.4.10_darwin-amd64.tar.gz文件解压。

mv ipfs /usr/local/bin/ipfs,将已解压的文件夹中的ipfs文件移动到/usr/local/bin/文件夹中。

3. 项目配置

3.1 创建ipfs节点

为了运行项目,我们需要通过ipfs init在本地计算机建立一个IPFS节点。

localhost:.ipfs yuechunli$ cd ~/.ipfs
-bash: cd: /Users/liyuechun/.ipfs: No such file or directory
localhost:.ipfs yuechunli$ ipfs init
initializing IPFS node at /Users/liyuechun/.ipfs
generating 2048-bit RSA keypair...done
peer identity: QmdKXkeEWcuRw9oqBwopKUa8CgK1iBktPGYaMoJ4UNt1MP
to get started, enter:

    ipfs cat /ipfs/QmVLDAhCY3X9P2uRudKAryuQFPM5zqA3Yij1dY8FpGbL7T/readme

localhost:.ipfs yuechunli$ cd ~/.ipfs
localhost:.ipfs yuechunli$ ls
blocks      datastore   version
config      keystore
localhost:.ipfs yuechunli$ open ./
localhost:.ipfs yuechunli$ 

ipfs blockchain

3.2 修改节点默认存储空间

执行完ipfs init命令后,会在根目录生成一个.ipfs的文件夹存储节点数据。.ipfs节点默认存储空间为10个G

如果你自己想修改节点默认存储空间,可打开终端执行下面的命令。

localhost:.ipfs yuechunli$ export EDITOR=/usr/bin/vim
localhost:.ipfs yuechunli$ ipfs config edit

执行完ipfs config edit命令后会打开一个文件,在这个文件中找到下图中春哥「微信:liyc1215」绘制红线的位置,将10GB修改成你自己想要的存储空间。修改完毕,保存退出。(PS:输入i可以开始编辑,编译完毕后按esc键,再输入:,再次输入wq保存并且退出)。

修改ipfs默认存储空间大小

3.3 查看节点id

localhost:.ipfs yuechunli$ ipfs id 
{
    "ID": "QmdKXkeEWcuRw9oqBwopKUa8CgK1iBktPGYaMoJ4UNt1MP",
    "PublicKey": "CAASpgIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDqJlLivZerwIYTI5K8pEzbRnmNti3rObvpa17AixKpgTPnWAvPmZr1SLBzYUjpy3coymLHkNldcEZixnWTIihKIF1pVhxJG2MzFg8vHnG7uF8vxyYE4wOZ6V4rTauYbGau1Tj/TSjzI9oKOoezitTn6ggD3p2Y6Y1/FWGRfAvG7UUBFXSMtwVkwM/F0aaP2k8vHgsZDeYLY8UCpq67dC+AgbVNieLrX/tht6D7iTYS5Ch5dMIpwxMdRLkrNx8k9CVFgvnILhdTJL4QfdNA4L5FnWJy3axhj6bRdVkBpcdgn2WAHxYW6FwkB/eFSKxwNCKsO2/C52mUNNMouN2XlObTAgMBAAE=",
    "Addresses": null,
    "AgentVersion": "go-ipfs/0.4.10/",
    "ProtocolVersion": "ipfs/0.1.0"
}
localhost:.ipfs yuechunli$ 

QmdKXkeEWcuRw9oqBwopKUa8CgK1iBktPGYaMoJ4UNt1MP为你的节点ID每个节点都会有一个唯一的ID

3.4 启动节点服务器

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.241.208/tcp/7723
Swarm listening on /ip4/127.0.0.1/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

3.5 跨域资源共享CORS配置

为了后续的开发方便,我们还需要对跨域资源共享( CORS )进行配置,ctrl- c退出ipfs,然后按照下面的步骤进行跨域配置。

  • ctrl- c退出ipfs
  • ipfs config --json API.HTTPHeaders.Access-Control-Allow-Methods '["PUT", "GET", "POST", "OPTIONS"]'
  • ipfs config --json API.HTTPHeaders.Access-Control-Allow-Origin '["*"]'

3.6 验证

  • 启动服务器
$ ipfs daemon

  • 新建终端执行下面的命令
ipfs cat /ipfs/QmYwAPJzv5CZsnA625s3Xf2nemtYgPpHdWEz79ojWnPbdG/readme

localhost:~ yuechunli$ ipfs cat /ipfs/QmYwAPJzv5CZsnA625s3Xf2nemtYgPpHdWEz79ojWnPbdG/readme
Hello and Welcome to IPFS!

██╗██████╗ ███████╗███████╗
██║██╔══██╗██╔════╝██╔════╝
██║██████╔╝█████╗  ███████╗
██║██╔═══╝ ██╔══╝  ╚════██║
██║██║     ██║     ███████║
╚═╝╚═╝     ╚═╝     ╚══════╝

If you're seeing this, you have successfully installed
IPFS and are now interfacing with the ipfs merkledag!

 -------------------------------------------------------
| Warning:                                              |
|   This is alpha software. Use at your own discretion! |
|   Much is missing or lacking polish. There are bugs.  |
|   Not yet secure. Read the security notes for more.   |
 -------------------------------------------------------

Check out some of the other files in this directory:

  ./about
  ./help
  ./quick-start     <-- usage examples
  ./readme          <-- this file
  ./security-notes
localhost:~ yuechunli$ 

  • 浏览器输入下面的网址

打开http://localhost:5001/webui会看到一个漂亮的UI界面。

image
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,233评论 4 360
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,013评论 1 291
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,030评论 0 241
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,827评论 0 204
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,221评论 3 286
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,542评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,814评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,513评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,225评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,497评论 2 244
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 31,998评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,342评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,986评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,055评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,812评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,560评论 2 271
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,461评论 2 266