注意事项

你可以参考这份手册快速创建一个开发或者测试环境,理想情况下并不需要利用VPS等类似服务。但是这里没有使用任何增加服务器安全性的措施。考虑到Tezos代码的复杂性以及潜在的和恶意节点通信的可能,我们不能排除服务器上的任何信息都有被泄露或被窃取的可能性。

 

步骤

登录一个新的Debian 9系统,更新基础软件包。

ssh root@192.155.xxx.xxx

apt-get update

apt-get upgrade -y

 

生成一个用户,用来创建和运行tezos。

adduser tezos

adduser tezos sudo

su – tezos

 

为了开始创建tezos二进制文件,我们需要安装一些debian软件包。实际的构建脚本过程中将会安装更多的软件包。

sudo apt-get install -y patch unzip make gcc m4 git g++ aspcud

 

(如果你使用的是Mac,请从这里开始。唯一需要变动的是在下面的wget命令中将“linux”改成“darwin”。)

为了构建Ocaml代码,我们需要安装OPAM实例。(opam的2.0.0~rc版本似乎比默认的稳定版1.2.2运行得更好,所以我们选择了前者)

wget https://github.com/ocaml/opam/releases/download/2.0.0-rc/opam-2.0.0-rc-x86_64-linux

sudo mv opam-2.0.0-rc-x86_64-linux /usr/local/bin/opam

sudo chmod a+x /usr/local/bin/opam

 

现在建立一个opam开关,用于之后创建tezos。(这里我们假定是第一次安装。如果它已经存在,请转移或删除~/.opam文件目录)

opam init –bare

opam switch create 4.06.1

eval $(opam env)

 

得到zeronet源代码。

git clone -b zeronet https://gitlab.com/tezos/tezos.git

cd tezos

 

安装OCaml相关代码(以及一些系统软件包相关代码)。如果有弹出是否安装depext软件包的信息,选择‘同意’。万一这一步的操作失败了,请查看下面‘替代方案’章节的内容。

make build-deps

 

绑定 Jbuilder。之所以这么做是为了防止任何opam 在升级过程中触及它。我个人不是很确定这个操作有必要。这似乎是有帮助的。

opam pin add jbuilder 1.0+beta19

 

编译二进制文件。

make

 

配置节点标识。

./tezos-node identity generate 24.

 

运行节点。(我喜欢在界面(1)的对话进程中运行节点(没有nohup或者&),这样一来,这个进程可以保留在前台,我可以暂时离开它,稍后从其他的ssh对话进程中切回来。)

nohup ./tezos-node run –rpc-addr :8732 –connections 10 &

 

替代方案

如果make build-deps这一步没有成功,有些时候你可以手动安装这些软件包。

opam install astring base biniou cmdliner cohttp cohttp-lwt cohttp-lwt-unix conduit conduit-lwt conduit-lwt-unix cppo_ocamlbuild cpuid cstruct cstruct-lwt ezjsonm fieldslib fmt hex ipaddr irmin js_of_ocaml js_of_ocaml-compiler jsonm logs lwt mtime nocrypto ocaml-migrate-parsetree ocb-stubblr ocp-ocamlres ocplib-endian ocplib-json-typed ppx_ast ppx_core ppx_deriving ppx_driver ppx_fields_conv ppx_metaquot ppx_optcomp ppx_sexp_conv ppx_tools_versioned ppx_type_conv stdio topkg uri uutf yojson base64 cppo easy-format magic-mime ocaml-compiler-libs ppx_derivers ppx_traverse_builtins re result sexplib stringext

 

有些时候你需要删除整个~/.opam文件目录,然后从opam init步骤重新开始。虽然慢,但是你可以清楚看到OPAM软件包的启动。值得注意的是,如果你正在用同一个用户构建alphanet或者其他项目,那些处于OPAM的内容都会被清除掉。

rm -rf ~/.opam

 

make build-deps这一步将许多的软件包绑定在了一个特定的版本。在删除~/.opam之后,如果你想要一个全新的启动,你可以解除那些绑定。

opam pin list -s | xargs opam pin remove

 

如果你想要利用最新的代码重新创建一遍zeronet,你可以转移或者删除“tezos”文件目录,然后从git clone这一步重新开始。或者,你也可以利用下面这个步骤升级。

git fetch

git reset –hard origin/zeronet

git clean -dxf

make build-deps

make

有关更多烘焙技术及开发信息请登入Tezos开发者文档

编译:Tezos中文社区/Song.W