linux 上 IPFS 源码编译

环境:ubuntu18.04   go 1.16

 

编程语言:go

在ubuntu上对IPFS源码编译步骤很简单,其最多的问题就是环境问题,无法访问github.com  拿不到相应包数据.,此博客为解决环境问题。

源码网址:GitHub - ipfs/go-ipfs: IPFS implementation in Go

具体安装过程可以根据github的安装介绍进行安装:

源码编译之前需要对go进行安装,注意的go  version 必须是go1.15.2版本以上才可以,这里我用的go1.16 version.

 安装步骤就以上几步简单的命令行输入即可。

安装过程中会存在无法访问github.com或者其他网址的问题? 

 因为go-ipfs的源码需要导入很多其他包文件:

相当于这些包的文件在安装过程中就会下载到本地pkg中存放,在自己配置go环境下所设置的路径 文件夹下。

解决办法如下:

配置go代理环境:

GO111MODULE="on"
GOPROXY="https://goproxy.cn,direct"

 可以通过go env命令查看相关的env配置。修改命令如下:

export go env  GO111MODULE="on"
export go env  GOPROXY="https://goproxy.cn,direct"

在这种情况下的编译可能还是会出现部分无法访问github.com的情况,则

先进行ping一下,看是否能ping通?

 如上就ping不通的。

修改/etc/hosts  文件,添加如下语句到末尾即可:

至于这个网址可以通过访问如下网址得到(这个地址是会变化的 好像):

https://github.com.ipaddress.com/#ipinfo

此网址好像需要翻墙才能访问,但好像google浏览器可以访问,得到:

 再调用命令重新启动网络:

sudo /etc/init.d/networking restart

这样就不会出现无法访问的问题了。

可以尝试是否能ping通?

 

最后再使用命令ipfs version查看一下:

然后进行相关的ipfs init  /daemonm命令即可。

最后吐槽一下,初探go语言,学习这个go-ipfs的源码  真难看懂特别是这些命令的方式执行,哈哈哈哈。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
IPFS 是分布式文件系统,寻求连接所有计算机设备的相同文件系统。在某些方面,这很类似于原始的 Web 目标,但是 IPFS 最终会更像单个比特流群交换的 git 对象。 IPFS = InterPlanetary File System IPFS 云成为一个新的,重要的网络子系统,如果构建得当,那么可以完善或者替换 HTTP,或者说可以完善或者替代更多,听起来很疯狂,但是确实很疯狂! IPFS 结合了 Git,BitTorrent,Kademlia,SFS 和 Web 的优势,提供跟 HTTP web 一样简单的接口。 IPFS 分为 3 个代码库:github.com/ipfs/ipfs - IPFS 规范github.com/ipfs/go-ipfs - Go 实现github.com/protocol/ipfs-webui - Web 工作台 使用:USAGE:     ipfs - global p2p merkle-dag filesystem     ipfs []  [] ...     BASIC COMMANDS         init          Initialize ipfs local configuration         add     Add an object to ipfs         cat      Show ipfs object data         get      Download ipfs objects         ls       List links from an object         refs     List hashes of links from an object     DATA STRUCTURE COMMANDS         block         Interact with raw blocks in the datastore         object        Interact with raw dag nodes         file          Interact with Unix filesystem objects     ADVANCED COMMANDS         daemon        Start a long-running daemon process         mount         Mount an ipfs read-only mountpoint         resolve       Resolve any type of name         name          Publish or resolve IPNS names         dns           Resolve DNS links         pin           Pin objects to local storage         repo gc       Garbage collect unpinned objects     NETWORK COMMANDS         id            Show info about ipfs peers         bootstrap     Add or remove bootstrap peers         swarm         Manage connections to the p2p network         dht           Query the dht for values or peers         ping          Measure the latency of a connection         diag          Print diagnostics     TOOL COMMANDS         config        Manage configuration         version       Show ipfs version information         update        Download and apply go-ipfs updates         commands      List all available commands

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值