Dfinity挖矿系列:编译和构建网络计算机(ICP)核心服务

Posted DFINITY中文区

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Dfinity挖矿系列:编译和构建网络计算机(ICP)核心服务相关的知识,希望对你有一定的参考价值。

DFINITY代码已开源


在DFINITY的GitHub页面,代码已经开源(https://github.com/DFINITY),其中三个主要组件的源代码已经上线,分别为replica、nodemanager和NNS canisters。根据项目的开源协议,互联网计算机的所有代码都在Apache 2.0许可下授权,少数组件在比Apache 2.0许可更严格的互联网计算机社区源许可和互联网计算机共享社区源许可下授权,以保护DFINITY基金会的知识产权。代码用Rust语言实现,西部超算第一时间对核心组件进行了编译、构建和测试。

搭建环境


配置Docker环境:

Windows安装教程:

Mac安装教程:

Linux使用如下命令安装:

curl -fsSL https://get.docker.com -o get-docker.sh

sudo sh get-docker.sh

sudo usermod --append --groups docker $USER

sudo service docker restart

退出终端session, 重新打开一个新的session使用docker。


配置git环境:

在Windows下需要

1.在Git git-scm.com 下载git安装包
2.使用该安装包默认安装

Mac和Linux自带git, 不需要安装


克隆项目:

在Windows下打开Git Bash, Mac 和 Linux打开终端 输入

git clone https://github.com/dfinity/ic.git

如果你已经配置好ssh密钥,输入

git clone git@github.com:dfinity/ic.git

该项目会克隆到该目录下ic目录,然后

cd ic

编译



构建编译容器镜像

以 ic 作为根目录,运行

gitlab-ci/docker/docker-build-local-image.sh

构建 replica 和 nodemanager

以 ic 作为根目录 进入容器中

gitlab-ci/tools/docker-run

上边的命令会进入到容器中的目录/builds/dfinity-lab/dfinity,如果不是该目录,就调整到该目录 然后cd到rust代码目录rs

cd rs

然后使用cargo编译replia和nodemanager

cargo build -p ic-replica -p nodemanager

编译时间根据网络和CPU性能的差异在10到50分钟


构建 NNS canisters

回到目录/builds/dfinity-lab/dfinity,输入 打开./gitlab-ci/tools/cargo-build-canisters 移除第30行statesync-test-canister, 这个target的作用尚不明确,不移除的话现在会导致编译失败,官方最近应该会修复. 编译多个canister,输入

./gitlab-ci/tools/cargo-build-canisters

查看构建的结果


replica和nodemanager编译的binary会保存在/cargo_target/debug 编译好的canister会打包保存在/builds/dfinity-lab/dfinity/artifacts/canisters

展望


目前互联网计算机由48个独立的数据中心支持,运行着1300个节点,预计到今年年底将有123个数据中心运行4300个节点。后续我们会对开源代码进行剖析和优化,并且展开矿机选型和测试工作,在DFINITY网络开放的第一时间,以数据中心申请加入白名单。

西部超算(dfinity.com.cn)

长期关注DFINITY,核心技术团队来自微软、华为等资深工程师,持续跟进DFINITY挖矿和生态建设,提供矿池、矿机、定制化挖矿软件等解决方案。


进DFINITY中文社群,请添加小助手微信:Dfinity007