[Filecoin相关]Filecoin开发版在Linux下安装

[Filecoin相关]Filecoin开发版在Linux下安装

1. 安装依赖软件

本文是基于filecoin源码编译运行程序,依赖环境项有:golang,rust,pkg-config,Clang/gcc,这几个软件必须安装成功,检测安装成功的命令如下图: [Filecoin相关]Filecoin开发版在Linux下安装

(1) Golang版本>=1.11.2;

(2) Rust版本>1.31.0;

(3) pkg-config版本不限;

(4) gcc版本>7.4.0,如果是Clang则版本不限.

2. 安装配置filecoin

下载源码

[Filecoin相关]Filecoin开发版在Linux下安装

mkdir -p ${GOPATH}/src/github.com/filecoin-project

git clone git@github.com:filecoin-project/go-filecoin.git ${GOPATH}/src/github.com/filecoin-project/go-filecoin

[Filecoin相关]Filecoin开发版在Linux下安装

1. 安装 gx 和 gx-go

gx 是为 IPFS 系统的包管理工具,由协议实验室的核心开发者 whyrusleeping 开发,在IPFS相关项目中广泛使用,主要用于管理存放于IPFS(当然以后包括Filecoin)网络中的包。此工具当然也可以用于其他项目。

[Filecoin相关]Filecoin开发版在Linux下安装

$ cd ${GOPATH}/src/github.com/filecoin-project/go-filecoin

$ go get -v -u github.com/whyrusleeping/gx

$ go get -v -u github.com/whyrusleeping/gx-go

$ gx install

$ gx-go rewrite

[Filecoin相关]Filecoin开发版在Linux下安装

请单步执行以上命令,强烈建议在 go get 时带 -v 参数,这样,你能够掌握详细信息。获取gx 或 gx-go的过程中需要FQ。根据你的配置不同方法不一样,比如我喜欢直接在命令中加入代理设置,就像这样:

[Filecoin相关]Filecoin开发版在Linux下安装

$ https_proxy=127.0.0.1:64513 go get -v -u github.com/whyrusleeping/gx

[Filecoin相关]Filecoin开发版在Linux下安装

请确保每一步成功,不成功请找出原因并解决掉。

 

2. 安装 gometalinter

这是 go 语言源码规范检查工具套装,是保证源码质量的辅助工具。

[Filecoin相关]Filecoin开发版在Linux下安装

$ go get -v -u github.com/alecthomas/gometalinter

$ gometalinter –install

[Filecoin相关]Filecoin开发版在Linux下安装

如果前一步没有问题,这一步一般不会有问题。

 

3. 安装一系列其他依赖包

依次安装就可以了。 

[Filecoin相关]Filecoin开发版在Linux下安装

$ go get -v -u github.com/stretchr/testify
$ go get -v -u github.com/xeipuuv/gojsonschema
$ go get -v -u github.com/ipfs/iptb
$ go get -v -u github.com/docker/docker/api/types
$ go get -v -u github.com/docker/docker/api/types/container
$ go get -v -u github.com/docker/docker/client
$ go get -v -u github.com/docker/docker/pkg/stdcopy
$ go get -v -u github.com/ipsn/go-secp256k1
$ go get -v -u github.com/json-iterator/go
$ go get -v -u github.com/prometheus/client_golang/prometheus
$ go get -v -u github.com/prometheus/client_golang/prometheus/promhttp
$ go get -v -u github.com/jstemmer/go-junit-report 
$ go get -v -u github.com/pmezard/go-difflib/difflib

[Filecoin相关]Filecoin开发版在Linux下安装

这里,我们看到有几个docker有关的包也被含进来了。真得希望日后Filecoin的发布可以通过容器的方式,这样适用面广,安装也简单。

 

好了,所有依赖包已经安装完毕,马上开始准备数据。

 

4. 产生存储证明需要的原始数据

 

注意:存储证明有关的代码基本上都是采用 rust 编写,因此你会看到 rust 和 C 相关的编译过程。

 

(1)编译安装存储证明模块

这一步需要这个环境变量了: FILECOIN_USE_PRECOMPILED_RUST_PROOFS

为了方便,你可以执行以下命令来设置环境变量。

$ export FILECOIN_USE_PRECOMPILED_RUST_PROOFS=true

 

其实等于啥都没有关系,只要定义了就行,在以下命令中只检查有没有定义。再其实,第一次安装定义不定义也没有关系,因为没有预编译的 rust_proofs,反正要从头编译。

接下来仍在我们前面步骤所在的目录下执行以下命令:

[Filecoin相关]Filecoin开发版在Linux下安装

$ ./scripts/install-rust-proofs.sh

这个脚本主要是编译 proofs/rust-proofs/ 目录下的代码。经过大约140多个警告错误(看来需要优化和改进),经过200多个步骤后,正常退出,表示完成。

 

(2)安装签名模块

[Filecoin相关]Filecoin开发版在Linux下安装

$ ./scripts/install-bls-signatures.sh

签名模块大家都懂的,就是证明你是你需要用到的代码部分。这在去中心化的系统中至关重要,不然大家都可以冒名顶替了。

 

(3)产生存储证明需要的数据

这一步是最为耗时的一步,在我的两核+4G内存的Mac上起了六个线程,几乎占据所有内存,运行了将近 3 个小时,简直就是煎熬。当然,相信你们的配置会好很多,一个小时之内可以搞定。运行的时候尽管去洗澡好了,泡个吧回来也行。

[Filecoin相关]Filecoin开发版在Linux下安装

$ ./proofs/bin/paramcache

paramcache 是在前面编译证明模块的时候生成的。这里paramcache到底做什么呢?需要那么久?它就是用来产生在数据存储封印(sealing)和存储证明(proving)的时候需要的魔法信息。 这些信息在后面的 zigzag证明(Filecoin的存储证明算法)中要用的。因为很大,所以需要很久。

 

运行结束后,你可以检查你的以下目录,应该可以看到相关文件如下:

[Filecoin相关]Filecoin开发版在Linux下安装

$ pwd/

tmp/filecoin-proof-parameters

$ ls -l

total 4784144

lrwxr-xr-x  1 zxm  wheel          95 Feb 17 14:22 params.out -> v9-zigzag-proof-of-replication-52431242c129794fe51d373ae29953f2ff52abd94c78756e318ce45f3e4946d8

-rw-r–r–  1 zxm  wheel  1670980536 Feb 17 14:21 v9-zigzag-proof-of-replication-52431242c129794fe51d373ae29953f2ff52abd94c78756e318ce45f3e4946d8

-rw-r–r–  1 zxm  wheel   770902584 Feb 17 12:30 v9-zigzag-proof-of-replication-f8b6b5b4f1015da3984944b4aef229b63ce950f65c7f41055a995718a452204d

[Filecoin相关]Filecoin开发版在Linux下安装

怎么样,产生两个很大的文件,总共差不多 2.5GB。

 

注:这两个文件实际上对任何节点都是一样的,完全可以放到网上下载就可以,项目方在以后的版本中也准备这么做。这样以后的安装应该轻松多了。

 

5. 生成Filecoin的运行代码 

最后一步了,激动不?如果前面没问题,这一步非常简单。

[Filecoin相关]Filecoin开发版在Linux下安装

$ go run ./build/main.go build

$ go run ./build/main.go install 

初始化节点:

go-filecoin init –devnet-user –genesisfile=http://user.kittyhawk.wtf:8020/genesis.car

测试网络有多种类型:devnet-user 针对普通用,devnet-nightly 针对开发者用户.

启动节点服务:

go-filecoin daemon

设置/修改节点专属昵称

go-filecoin config heartbeat.nickname 昵称

查看连接节点

go-filecoin swarm peers

节点ID查看

go-filecoin id

与filecoin网络监控建立连接:

go-filecoin config heartbeat.beatTarget “/dns4/stats-infra.kittyhawk.wtf/tcp/8080/ipfs/QmUWmZnpZb6xFryNDeNU7KcJ1Af5oHy7fB9npU67sseEjR”

【🎡活动通知】
主题:2019开宗明义:ProtoSchool 上海开学&Filecoin研究项目组成立

时间:2019年2月26日(周二)19:00 ~  21:00

地点:(上海浦东)世纪大道201号渣打银行大厦7楼HuoBiClub
点击“阅读原文”报名参加

[Filecoin相关]Filecoin开发版在Linux下安装

【IPFS原力区】

总部位于上海,深耕IPFS社区发展与商业生态建设。

Force系列产品布局IPFS商业应用,贯通视频娱乐、文件共享、浏览器入口、数据加密管理等服务,为企业与个人的使用提供一站式服务。

旗下IPFS原力区是IPFS顶级价值生态社区,聚集了众多技术大咖和IPFS爱好者,通过持续输出全面、精细、优质的IPFS咨询和技术支持,将生态中的爱好者转化为IPFS支持者和参与者,推动IPFS生态的健康发展。

[Filecoin相关]Filecoin开发版在Linux下安装

原文始发于微信公众号(IPFS原力区):[Filecoin相关]Filecoin开发版在Linux下安装

原创文章,作者:admin,如若转载,请注明出处:https://blog.ipfsforce.com/8c66e64e08/

发表评论

电子邮件地址不会被公开。 必填项已用*标注

联系我们

135-8568-8154

在线咨询:点击这里给我发消息

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息