前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Golang语言情怀--第94期 区块链技术-centos安装部署IPFS

Golang语言情怀--第94期 区块链技术-centos安装部署IPFS

作者头像
李海彬
发布2022-12-14 14:16:13
4240
发布2022-12-14 14:16:13
举报
文章被收录于专栏:Golang语言社区

centos安装部署IPFS

下载IPFS
  • 官网(https://dist.ipfs.io/#go-ipfs) 下载Linux版本的ipfs(需要访问国外网站)
  • 使用wget下载
代码语言:javascript
复制
wget https://github.com/ipfs/go-ipfs/releases/download/v0.4.23/go-ipfs_v0.4.23_linux-amd64.tar.gz
解压文件
代码语言:javascript
复制
tar zxvf go-ipfs_v0.12.0_linux-amd64.tar.gz
进入主目录并进行安装
代码语言:javascript
复制
cd go-ipfs/
./install.sh
查看IPFS版本
代码语言:javascript
复制
ipfs version
查看配置文件
代码语言:javascript
复制
ipfs config show

注意:

建议5001端口只开放给业务服务器,其他禁止访问!为了安全!!!!

修改配置文件
代码语言:javascript
复制
ipfs config edit

// 可能会出现下面的错误
// Error: ENV variable $EDITOR not set

// 为ipfs选择编辑器
export EDITOR=vi
ipfs config edit
启动ipfs,并打开web页面
代码语言:javascript
复制
ipfs daemon

输入地址http://xxx.xxx.com:8088/ipfs/QmSoASxb8aNVGk3pNWpZvXEZTQKxjGeu9bvpYHuo5bP1VJ可查看刚才上传的文件

输入网址http://xxx.xxx.com:5001/webui进入可视化页面

Go连接ipfs
代码语言:javascript
复制
func MainTest() {
    hashMap := make(map[int]string, 10000)
    // 上传文件 -- 可以是前端上传,也可以是后端上传
    file := fmt.Sprintf("ipfs/1111.png")
    raw := Read(file)
    if raw != nil {
        hash, err := UploadIPFS(raw)
        if err != nil {
            log.Println("UploadIPFS err", err)
        } else {
            hashMap[0] = fmt.Sprintf("https://ipfs.io/ipfs/%s?filename=%s", hash, hash)
        }
        log.Println("hash", hash)
    }
    // 存储文件中
    WriteHash("hash.json", hashMap)
}

func UploadIPFS(raw []byte) (string, error) {
    sh := shell.NewShell(IPFS_Host)
    reader := bytes.NewReader(raw)
    fileHash, err := sh.Add(reader)
    if err != nil {
        return "", err
    }
    fmt.Println(fileHash)
    return fileHash, nil
}

func NewShell(url string) *Shell {
    c := &gohttp.Client{
        Transport: &gohttp.Transport{
            Proxy:             gohttp.ProxyFromEnvironment,
            DisableKeepAlives: true,
        },
    }

    return NewShellWithClient(url, c)
}

var IPFS_Host = "http://xxx.xxx.com:5001"

本期就到这里,下期继续未完讲解。

同学们,兴趣是最好的老师;只争朝夕,不负韶华!加油!


参考资料:

Go语言中文文档

http://www.golang.ltd/

Go语言在线编辑器:

http://OL.Golang.LTD/

LollipopGo社区(筹建中)

https://www.LollipopGo.Com/

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-10-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Golang语言情怀 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • centos安装部署IPFS
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档