IPFS go-ipfs 搭建

2024-05-26 04:08
文章标签 go 搭建 ipfs

本文主要是介绍IPFS go-ipfs 搭建,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

ipfs 搭建

  • 1,系统环境
  • 2,使用go-ipfs搭建ipfs
  • 3,初始化节点
  • 4,节点服务进程
  • 5,浏览器访问ipfs
    • 5.1,本地访问
    • 5.2,网关访问

1,系统环境

$ cat /etc/redhat-release 
CentOS Linux release 7.6.1810 (Core)

2,使用go-ipfs搭建ipfs

  • go-ipfs 需要fq下载
  • go-ipfs 需要fq下载
  • go-ipfs_v0.4.22_linux-amd64.tar.gz 下载
  • 安装ipfs
$ ls
go-ipfs_v0.4.22_linux-amd64.tar.gz
$ tar -zxvf go-ipfs_v0.4.22_linux-amd64.tar.gz 
$ cd go-ipfs/
$ sudo ./install.sh 
Moved ./ipfs to /usr/local/bin
$ which ipfs
/usr/local/bin/ipfs
$ ipfs --version
ipfs version 0.4.22

3,初始化节点

$ ipfs init
initializing IPFS node at .ipfs
generating 2048-bit RSA keypair...done
peer identity: QmQamgdAXCC
to get started, enter:ipfs cat /ipfs/QmS4ustL54uo8F
  • peer identity节点ID hash值

  • ~/.ipfsipfs配置文件目录

$ pwd
/home/y50/.ipfs
$ ls
blocks  config  datastore  datastore_spec  keystore  version
  • ipfs add 添加文件
  • ipfs cat 查看内容
$ ipfs add Ipfs-logo-1024-ice-text.png 
added QmRACojSdFuqnyyfQZ9Zgiz6zrVCUX1JRkYZyvRGu1MCzG Ipfs-logo-1024-ice-text.png$ echo "ipfs测试" > test.txt
$ ipfs add test.txt 
added Qmd9xHahX5moKEFBupJeaFW5sWhzyiDF4ht8ecLGvKXgWD test.txt
$ ipfs cat Qmd9xHahX5moKEFBupJeaFW5sWhzyiDF4ht8ecLGvKXgWD							
ipfs测试
$ ipfs cat /ipfs/Qmd9xHahX5moKEFBupJeaFW5sWhzyiDF4ht8ecLGvKXgWD

4,节点服务进程

$ ipfs daemon
Initializing daemon...
go-ipfs version: 0.4.22-
Repo version: 7
  • http://127.0.0.1:5001/webui
  • 局域网下访问失败
    在这里插入图片描述
  • 使用ssh转发端口,局域网内可以访问
  • 本机为macOS执行下面命令转发端口
$ ssh -L 5001:localhost:5001 -L 8080:localhost:8080 -L 4001:localhost:4001  y50@192.168.1.7
  • http://127.0.0.1:5001/webui(macOS谷歌浏览器访问)
    在这里插入图片描述

5,浏览器访问ipfs

5.1,本地访问

  • http://localhost:8080/ipfs/
    在这里插入图片描述
    在这里插入图片描述

5.2,网关访问

  • https://ipfs.io/ipfs/(需要fq)
    在这里插入图片描述

  • ipfs pin ls

$ ipfs pin ls  --type=recursive
QmRACojSdFuqnyyfQZ9Zgiz6zrVCUX1JRkYZyvRGu1MCzG recursive		#IPFS图片
QmS4ustL54uo8FzR9455qaxZwuMiUhyvMcX9Ba8nUH4uVv recursive
QmUNLLsPACCz1vLxQVkXqqLX5R1X345qqfHbsf67hvA3Nn recursive
Qmd9xHahX5moKEFBupJeaFW5sWhzyiDF4ht8ecLGvKXgWD recursive		#ipfs测试		

参考:

  1. Github go-ipfs
  2. IPFS 使用入门
  3. 让其他机器能访问ipfs的管理界面(5001端口)
  4. 玩转SSH端口转发
  5. ipfs pin 详解

这篇关于IPFS go-ipfs 搭建的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1003483

相关文章

搭建Kafka+zookeeper集群调度

前言 硬件环境 172.18.0.5        kafkazk1        Kafka+zookeeper                Kafka Broker集群 172.18.0.6        kafkazk2        Kafka+zookeeper                Kafka Broker集群 172.18.0.7        kafkazk3

【IPV6从入门到起飞】5-1 IPV6+Home Assistant(搭建基本环境)

【IPV6从入门到起飞】5-1 IPV6+Home Assistant #搭建基本环境 1 背景2 docker下载 hass3 创建容器4 浏览器访问 hass5 手机APP远程访问hass6 更多玩法 1 背景 既然电脑可以IPV6入站,手机流量可以访问IPV6网络的服务,为什么不在电脑搭建Home Assistant(hass),来控制你的设备呢?@智能家居 @万物互联

pico2 开发环境搭建-基于ubuntu

pico2 开发环境搭建-基于ubuntu 安装编译工具链下载sdk 和example编译example 安装编译工具链 sudo apt install cmake gcc-arm-none-eabi libnewlib-arm-none-eabi libstdc++-arm-none-eabi-newlib 注意cmake的版本,需要在3.17 以上 下载sdk 和ex

Go Playground 在线编程环境

For all examples in this and the next chapter, we will use Go Playground. Go Playground represents a web service that can run programs written in Go. It can be opened in a web browser using the follow

go基础知识归纳总结

无缓冲的 channel 和有缓冲的 channel 的区别? 在 Go 语言中,channel 是用来在 goroutines 之间传递数据的主要机制。它们有两种类型:无缓冲的 channel 和有缓冲的 channel。 无缓冲的 channel 行为:无缓冲的 channel 是一种同步的通信方式,发送和接收必须同时发生。如果一个 goroutine 试图通过无缓冲 channel

如何确定 Go 语言中 HTTP 连接池的最佳参数?

确定 Go 语言中 HTTP 连接池的最佳参数可以通过以下几种方式: 一、分析应用场景和需求 并发请求量: 确定应用程序在特定时间段内可能同时发起的 HTTP 请求数量。如果并发请求量很高,需要设置较大的连接池参数以满足需求。例如,对于一个高并发的 Web 服务,可能同时有数百个请求在处理,此时需要较大的连接池大小。可以通过压力测试工具模拟高并发场景,观察系统在不同并发请求下的性能表现,从而

【Go】go连接clickhouse使用TCP协议

离开你是傻是对是错 是看破是软弱 这结果是爱是恨或者是什么 如果是种解脱 怎么会还有眷恋在我心窝 那么爱你为什么                      🎵 黄品源/莫文蔚《那么爱你为什么》 package mainimport ("context""fmt""log""time""github.com/ClickHouse/clickhouse-go/v2")func main(

Go Select的实现

select语法总结 select对应的每个case如果有已经准备好的case 则进行chan读写操作;若没有则执行defualt语句;若都没有则阻塞当前goroutine,直到某个chan准备好可读或可写,完成对应的case后退出。 Select的内存布局 了解chanel的实现后对select的语法有个疑问,select如何实现多路复用的,为什么没有在第一个channel操作时阻塞 从而导

Go Channel的实现

channel作为goroutine间通信和同步的重要途径,是Go runtime层实现CSP并发模型重要的成员。在不理解底层实现时,经常在使用中对channe相关语法的表现感到疑惑,尤其是select case的行为。因此在了解channel的应用前先看一眼channel的实现。 Channel内存布局 channel是go的内置类型,它可以被存储到变量中,可以作为函数的参数或返回值,它在r

Go 数组赋值问题

package mainimport "fmt"type Student struct {Name stringAge int}func main() {data := make(map[string]*Student)list := []Student{{Name:"a",Age:1},{Name:"b",Age:2},{Name:"c",Age:3},}// 错误 都指向了最后一个v// a