IPFS_私网搭建

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

IPFS 私网搭建

1 安装go环境

1.1 下载go安装包

​ 打开 链接 选择并下载合适的安装包

ipfs客户端,区块链,分布式

1.2 解压安装包

将go安装包解压至 /usr/local/ 目录下

tar -zxvf go1.18.2.linux-amd64.tar.gz -C /usr/local/

ipfs客户端,区块链,分布式

1.3 添加环境变量

1 在控制台键进入vim /etc/profile

2 在最后一行添加

export GOROOT=/usr/local/go
export PATH=$PATH:$GOROOT/bin

3 键入 source/etc/profile

4 键入 go -version查看go的版本,控制台正常输出go版本号,则说明go安装成功

2 安装IPFS客户端

2.1 下载客户端

打开 官网链接 选择并下载合适的客户端版本

ipfs官网和客户端下载需要科学上网才可下载,可使用 百度网盘下载 ,提取码 xr7s,目前百度网盘提供的是0.12.2版本

2.2 安装ipfs

1 解压ipfs安装包,解压到当前目录即可

2 解压后,会在当前目录生成一个 go-ipfs 的文件夹

3 cd进入 go-ipfs文件夹

4 执行 install.sh 文件

tar -zxvf go-ipfs_v0.12.2_linux-amd64.tar.gz

cd go-ipfs 

./install.sh	

5 执行 ipfs help 检查ipfs安装是否成功,控制台输出ipfs相关命令,则说明ipfs安装成功

3 搭建私网

3.1 节点初始化

3.1.1 节点初始化

每个节点都要执行

键入 ipfs init ,控制台会输出节点的相关信息

信息主要包含节点的id和节点的初始化目录
ipfs客户端,区块链,分布式

用root账户登录的话,会在root目录下生成一个 .ipfs 文件夹,如果使用其他账户登录,则会在 /home/目录下生成 .ipfs文件夹

如果忘记节点id,可以通过 ipfs id 查看

ipfs客户端,区块链,分布式

3.1.2 跨域问题

每个节点都要执行

节点初始化完成后,非本地访问会产生跨域问题,分别键入以下命令解决跨域

本次搭建只是为了测试,”*” 表示允许所有域名访问,实际生产环境应该指定域名或关闭跨域

1 Linux

ipfs config --json API.HTTPHeaders.Access-Control-Allow-Origin '["*"]'

ipfs config --json API.HTTPHeaders.Access-Control-Allow-Methods '["PUT","GET","POST","OPTIONS"]'

ipfs config --json API.HTTPHeaders.Access-Control-Allow-Credentials '["true"]'

ipfs config --json API.HTTPHeaders.Access-Control-Allow-Headers '["Authorization"]'

ipfs config --json API.HTTPHeaders.Access-Control-Expose-Headers '["Location"]'

2 Windows

ipfs config --json API.HTTPHeaders.Access-Control-Allow-Origin "[\"*\"]"
 
ipfs config --json API.HTTPHeaders.Access-Control-Allow-Methods "[\"PUT\",\"GET\",\"POST\",\"OPTIONS\"]"
 
ipfs config --json API.HTTPHeaders.Access-Control-Allow-Credentials "[\"true\"]"

ipfs config --json API.HTTPHeaders.Access-Control-Allow-Headers "[\"Authorization\"]"

ipfs config --json API.HTTPHeaders.Access-Control-Expose-Headers "[\"Location\"]"
3.1.3创建共享密钥

任意一个节点执行

克隆密钥生成工具
git clone https://github.com/Kubuxu/go-ipfs-swarm-key-gen.git
编译
go build -o ipfs-swarm-key-gen go-ipfs-swarm-key-gen/ipfs-swarm-key-gen/main.go

编译时如果控制台输出 go.mod file not found in current directory or any parent directory 的错误的话,只需要暂时将 GO111MODULE 暂时关闭即可,键入

go env -w GO111MODULE=off

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

密钥生成后,将密钥复制到 .ipfs 文件夹中

cp swarm.key /root/.ipfs

若忘记 .ipfs 的路径,可通过 find / -name ".ipfs" 找到

3.1.4 分发密钥

将生成的密钥分发到各个节点

要确保密钥分发到每一个节点上

scp swarm.key user@ip:.ipfs_path

eg. scp swarm.key root@172.24.7.101:/root/.ipfs/

如果要发送到windows节点,windows需要打开ssh服务,

windows开启ssh服务步骤:

a. 设置–>更新和安全–>开发者选项–>开启‘开发人员模式’

b. 设置–>应用–>应用和功能–> 可选功能–>安装‘OpenSSH客户端’

c. 重启电脑

d. 管理员启动控制台–> 键入ssh

ipfs客户端,区块链,分布式

e. 管理员启动控制台–> net start sshd

3.1.5 删除默认节点

每个节点执行

删除公网节点

ipfs bootstrap rm all
3.1.6 添加节点

各个节点分别添加其他节点

ipfs bootstrap add /ip4/ip地址/tcp/4001/ipfs/另一个节点id

eg

ipfs bootstrap add /ip4/172.24.7.101/tcp/4001/ipfs/12D3KooWK1ivQRSyL3aSS6TLx4YkvB3diiiVckerUAs6MK5aA9q9
3.1.7 启动节点

每个节点执行

键入 ipfs daemon 节点即可启动

windows节点启动 ipfs daemon 可能会报 Only one usage of each socket address (protocol/network address/port) is normally permitted. 这个错误;可以通过修改注册表解决:

在注册表中找到下图的目录,然后添加红色框的四个参数和对应的值,重启电脑

ipfs客户端,区块链,分布式

3.1.8 文件上传与读取

新增一个test.txt的文件,文件内容是‘this is a test file’
在一个节点上上传一个文件

ipfs客户端,区块链,分布式

新增成功后,会返回该文件的cid

在另一个节点上键入 ipfs cat QmShXqLJmGrTgkq3BFZgvBiz1HnWtH2fGMMn8ierCvQyLL

就可以看到文件内容

ipfs客户端,区块链,分布式文章来源地址https://www.toymoban.com/news/detail-824907.html

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

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

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

相关文章

  • 基于区块链与IPFS的数据共享系统设计与搭建(附区块链部分源码与搭建视频)

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

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

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

    2024年02月04日
    浏览(45)
  • 基于区块链/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日
    浏览(50)
  • 基于区块链/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日
    浏览(42)
  • 【区块链 | IPFS】浅谈 | IPFS数据存储原理

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

    2024年02月10日
    浏览(37)
  • 分布式软件架构——客户端缓存

    当万维网刚刚出现的时候,浏览器的缓存机制差不多就已经存在了。在 HTTP 协议设计之初,人们便确定了服务端与客户端之间“无状态”(Stateless)的交互原则,即要求客户端的每次请求是独立的,每次请求无法感知、也不能依赖另一个请求的存在,这既简化了 HTTP 服务器的

    2024年02月12日
    浏览(47)
  • IPFS系列03-搭建 IPFS 私有网络

    本文讲述如何使用 IPFS 搭建自己的私有存储网络,如果你对 IPFS 还了解的话,建议你先看看下面两篇文章 IPFS系列01-IPFS 前世今生 IPFS系列02-IPFS 与 web3.0 有两种安装方式,一种是 clone 源码 编译安装(前提是你已经安装了 Go 语言的运行环境): 项目源码依赖较多,编译需要一

    2024年02月02日
    浏览(47)
  • web3.0系列之分布式存储IPFS

    web3.0主打去中心化,将数据归还于用户,目前行之有效的底层存储为分布式存储ipfs。这个协议通过将数据分成多段,进行多节点备份,然后通过hash聚合获取原始文件。有几个特点是:全世界分布式网络,分段存储、merkle-tree聚合,多备份,永久,难以攻击等。在web3.0中有望替

    2024年02月01日
    浏览(101)
  • 为什么需要分布式存储技术?IPFS价值在哪?

    IPFS中文翻译是星际文件系统,是硬盘共享的互联网底层协议,主要用于访问数据。简单来说,IPFS可以创建一个存储网络,让更多的人在分享闲置存储空间的同时获得收入。 这种人人都可以参与共享硬盘的存储模式,称为分布式存储。为什么我们需要这种分布式存储技术?要

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

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

    2024年02月15日
    浏览(41)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包