IPFS搭建私有网络

这篇具有很好参考价值的文章主要介绍了IPFS搭建私有网络。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

(87条消息) IPFS -- 节点搭建_躺在家里不干活的博客-CSDN博客_ipfs节点搭建

一、安装go-ipfs

1、下载

下载地址https://gitee.com/wang_ya_nan/go-ipfs/releases

wget https://gitee.com/wang_ya_nan/go-ipfs/releases/download/v0.7.0/go-ipfs_v0.7.0_linux-amd64.t
ar.gz

下载成功

ipfs私有网络,区块链

 2、安装

## 解压
tar -xvzf go-ipfs_v0.7.0_linux-amd64.tar.gz

## 执行安装
sudo ./go-ipfs/install.sh

## 查看版本
ipfs --version

安装成功

ipfs私有网络,区块链

 3、初始化仓库

ipfs init

初始化成功!

ipfs私有网络,区块链

 4、启动一个守护进程

## 启动一个守护进程
$ ipfs daemon

启动成功!

ipfs私有网络,区块链

 5、通过互联网访问

经过上一步,我们已经可以在本地机器上通过API的方式上传文件了,但是如果要通过互联网访问,还需要配置API的监听端口
 

配置API监听端口
## 0.0.0.0表示允许任何的IP访问
ipfs config --json Addresses.API '"/ip4/0.0.0.0/tcp/5001"'

## 配置网关的监听地址
ipfs config --json Addresses.Gateway '"/ip4/0.0.0.0/tcp/8080"'

##按需解决跨域问题
ipfs config --json API.HTTPHeaders.Access-Control-Allow-Origin '["*"]'
## 除了这种方式,也可以通过配置CROS的方式来解决跨域问题
  • 检查端口是否允许访问
    ⚠️⚠️ 如果使用的是云服务器,一般都会有安全组,要在安全组中打开相应的端口⚠️⚠️
  • 重新启动
    
    ## 启动一个守护进程
    $ ipfs daemon
    
    

    ipfs私有网络,区块链

二、搭建IPFS私有网络

(87条消息) 搭建IPFS私有网络_躺在家里不干活的博客-CSDN博客_ipfs搭建


IPFS私有网络
星际文件系统(InterPlanetary File System,缩写IPFS)是一个旨在创建持久且分布式存储和共享文件的网络传输协议。它是一种内容可寻址的对等超媒体分发协议。在IPFS网络中的节点将构成一个分布式文件系统。它是一个开放源代码项目,自2014年开始由Protocol Labs在开源社区的帮助下发展。其最初由Juan Benet设计。

为什么需要私有网络
IPFS是一个开放的网络,而每个人都会有一些私有的的内容需要存储或者进一步将这些内容在自己设备上或小范围内进行共享,又或是想用做家庭的数据存储中心,针对这些场景,搭建一个私有网络用于数据存储和数据传输都是非常有用的。
 


1、生成私有服务使用的密钥

IPFS私有服务其实就是指的一群IPFS节点使用的是同一个key。

修改环境变量IPFS_PATH,安装IPFS的时候,IPFS_PATH默认的路径是~/.ipfs/,IPFS服务各种配置,数据都会存储到这个路径下。我们需要把IPFS_PATH改成我们自己私有网络的路径。比如export IPFS_PATH='~/.private_ipfs'

2、生产IPFS私有网络使用的key——swarm.key

## 下载并安装ipfs-swarm-key-gen
# sparrow @ sparrow-power in ~ [15:24:41] 
$ go get github.com/Kubuxu/go-ipfs-swarm-key-gen/ipfs-swarm-key-gen
## 或者使用go get获取ipfs-swarm-key-gen没反应
## 此时修改一下环境变量启动GOPROXY,再用go get -v即可,-v参数能够显示go get执行的进度

# Enable the go modules feature
export GO111MODULE=on
# Set the GOPROXY environment variable
export GOPROXY=https://goproxy.io


##注意!!!这里要到ipfs-swarm-key-gen 目录执行
## 我的路径是 ~/go/pkg/mod/github.com/!kubuxu/go-ipfs-swarm-key-gen@v0.0.0-20170218193930-0ee739ec6d32/ipfs-swarm-key-gen

## 生产swarm.key到.private_ipfs/
# sparrow @ sparrow-power in ~ [15:24:41] 
$ ipfs-swarm-key-gen > ~/.private_ipfs/swarm.key


###################################################################################
## 上面不成功是因为下载的文件没有编译
## 所以直接用下面的方法,注意下载路径

# 下载密钥工具
git clone https://github.com/Kubuxu/go-ipfs-swarm-key-gen.git

# 编译go-ipfs-swarm-key-gen,当前目录会成一个ipfs-swarm-key-gen的可执行二进制文件
go build -o ipfs-swarm-key-gen go-ipfs-swarm-key-gen/ipfs-swarm-key-gen/main.go

# 生成密钥
./ipfs-swarm-key-gen > ~/.ipfs/swarm.key

# 分发密钥
scp ~/.ipfs/swarm.key root@*.*.*.*:~/.ipfs/
复制代码

3、执行ipfs init,再次初始化节点

ipfs私有网络,区块链

我已经初始化完成 4、 修改config文件,让节点可以相应其它节点的请求 

更多修改请参考

# 这句是查看路由配置的,需要使用vim打开config文件将dth修改为dthserver,详细的在上面链接可以看什么意思
$ cat ~/.private_ipfs/config | grep dht


修改后执行结果

ipfs私有网络,区块链

 5、删除初始节点,增加私有网络中的节点

我们做的是私有网络,这些初始节点是实验室在维护,是公共网络的IPFS节点,所以直接删除就行了。另一方面我们要将我们的私有网络的其它节点添加到bootstrap列表中,这样是为了节点之间的发现,强烈建议能用一个固定的公网IP做一个为私有网络的一个节点,保证整个网络的稳定性,可用性。

关于IP地址:IP地址是指互联网协议地址,是IPAddress的缩写。IP地址是IP协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异。可以简单的理解为,一个能够上网的设备,就有一个IP地址。这个IP地址一般都是流动的,即:同一个IP地址,某一时段是A用户使用,其他时段是B用户使用。固定IP地址的意思是:某用户固定不变的IP地址

## 这里删除启动时会连接的默认节点
# sparrow @ sparrow-power in ~/tmp/share [17:39:28] C:130
$ ipfs bootstrap rm --all

# xxxx.xxxx.xxxx.xxxx填IP
$ ipfs bootstrap add /ip4/192.168.1.87/tcp/4001/p2p/12D3KooWSPP48SCHdrhC34cmjJL5p6Kp1Ay8yv8CNd6gN4x5gm8k

执行结果:

added /ip4/xxxx.xxxx.xxxx.xxxx/tcp/4001/p2p/12D3KooWSPP48SCHdrhC34cmjJL5p6Kp1Ay8yv8CNd6gN4x5gm8k

删除默认节点 

ipfs私有网络,区块链

 将我们的私有网络的其它节点添加到bootstrap列表中

ipfs私有网络,区块链

6、启动节点,检查节点的连接情况

## 启动节点
ipfs daemon

启动时可能报错,关闭Ubuntu或者多试几次。

ipfs私有网络,区块链

##
ipfs swarm peers
/ip4/192.168.1.87/tcp/4001/p2p/12D3KooWSPP48SCHdrhC34cmjJL5p6Kp1Ay8yv8CNd6gN4x5gm8k

 ipfs私有网络,区块链

至此,IPFS私有网络的搭建介绍完毕

当前博客内容的IPFS地址,可使用任意节点访问

官方节点:https://ipfs.io/ipfs/QmVmBtJvhJ3dh7j6LpKxFZoJo4bCh4M3Vn2MennEZz6cnC

 参考:

(87条消息) 搭建IPFS私有网络_躺在家里不干活的博客-CSDN博客_ipfs搭建https://blog.csdn.net/weixin_29491885/article/details/113760869文章来源地址https://www.toymoban.com/news/detail-805165.html

到了这里,关于IPFS搭建私有网络的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 基于区块链与IPFS的数据共享系统搭建步骤

    购买专栏前请认真阅读:《基于区块链与IPFS的数据共享系统》专栏简介 视频演示: https://www.bilibili.com/video/BV1y24y1v7RX 系统简介: 本系统使用RSA算法生成密钥对, RSA私钥用于用户身份认证;用户发送的数据将存储于IPFS, IPFS返回的CID(IPFS Hash)使用用户的RSA公钥加密后存储于

    2024年02月03日
    浏览(38)
  • 基于区块链与IPFS的数据共享系统设计与搭建(附区块链部分源码与搭建视频)

    购买专栏前请认真阅读:《基于区块链与IPFS的数据共享系统》专栏简介 视频演示: https://www.bilibili.com/video/BV1y24y1v7RX 系统简介: 本系统使用RSA算法生成密钥对, RSA私钥用于用户身份认证;用户发送的数据将存储于IPFS, IPFS返回的CID(IPFS Hash)使用用户的RSA公钥加密后存储于

    2023年04月19日
    浏览(31)
  • 基于区块链与IPFS的视频版权存证系统搭建步骤

    购买专栏前请认真阅读:《基于区块链与IPFS的视频版权存证系统》专栏简介 系统简介: 本系统使用RSA算法生成密钥对, RSA私钥用于用户身份认证,这里的用户包括普通用户(创作者)与机构;用户登记版权的视频将存储于IPFS, IPFS返回的CID(IPFS Hash)以及详细的版权信息存

    2024年02月04日
    浏览(36)
  • 基于区块链/Hyperledger Fabric与IPFS的电子病历数据传输系统搭建流程

    购买专栏前请认真阅读:《Fabric项目学习笔记》专栏介绍 从0开始的搭建视频请看介绍内的QQ群获取 原项目链接:https://github.com/the-chain/airmedfoundation-terminal 本项目链接 https://gitee.com/real__cool/data_transfer 项目视频演示 https://www.bilibili.com/video/BV1f34y1v7hM 可以同时参考原项目的搭建

    2023年04月10日
    浏览(35)
  • 基于区块链/Hyperledger Fabric与IPFS的电子病历数据传输系统搭建流程与视频

    购买专栏前请认真阅读:《Fabric项目学习笔记》专栏介绍 从0开始的搭建视频请看介绍内的QQ群获取 原项目链接:https://github.com/the-chain/airmedfoundation-terminal 本项目链接 https://gitee.com/real__cool/data_transfer 项目视频演示 https://www.bilibili.com/video/BV1f34y1v7hM 可以同时参考原项目的搭建

    2023年04月20日
    浏览(29)
  • 【区块链 | IPFS】浅谈 | IPFS数据存储原理

    IPFS在数据存储方面采用的是分散式的文件存储,区别于HTTP协议的位置寻址,IPFS是基于内容寻址,当文件上传到IPFS节点存储时,节点会对文件进行Merkle DAG(默克尔有向无环图)的格式组织分块存储,在存储完毕后,文件将以Merkle DAG的根哈希数来表示该文件,用户可以从IPF

    2024年02月10日
    浏览(27)
  • 在Linux上不会部署私有IPFS?(保姆级教程!!!)教你一步一步部署。

    系统要求 至少需要2G内存,2 核 CPU。 实验环境 共计两个节点,192.168.159.102、192.168.159.103,系统采用centos7 环境准备后,按照如下步骤部署ipfs,每个节点都要单独部署ipfs。 配置 golang 环境 下载go 配置 golang 环境变量 所有节点上 都需要部署ipfs: 1、安装 2、指定IPFS的存储位置

    2024年01月18日
    浏览(30)
  • 基于区块链与IPFS的数据共享系统之区块链部分设计

    本节对数据共享系统的区块链部分做一个简单的介绍,包括目录结构、文件作用、设计思路。 购买专栏前请认真阅读:《基于区块链与IPFS的数据共享系统》专栏简介 启动脚本为启动区块链网络以及IPFS容器,之后使用sed命令更换区块链浏览器、tape配置文件中的私钥。 这里解

    2024年02月15日
    浏览(28)
  • 《基于区块链与IPFS的数据共享系统》专栏简介

    本专栏包含了“基于区块链与IPFS的数据共享系统”的全部源码与从0开始的搭建视频(订阅专栏后请站内私信)、搭建教程与系统设计分析。对专栏内文章有疑问可以评论,一般一天内回复,然后会整理到:数据共享系统专栏问题汇总 演示视频:Bilibili 需要注意: 不含任何形

    2024年02月12日
    浏览(32)
  • IPFS_私网搭建

    1.1 下载go安装包 ​ 打开 链接 选择并下载合适的安装包 1.2 解压安装包 将go安装包解压至 /usr/local/ 目录下 tar -zxvf go1.18.2.linux-amd64.tar.gz -C /usr/local/ 1.3 添加环境变量 1 在控制台键进入 vim /etc/profile 2 在最后一行添加 3 键入 source/etc/profile 4 键入 go -version查看go的版本,控制台正常

    2024年01月25日
    浏览(21)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包