Phala是基于波卡(Polkadot)上的隐私计算平行链,学习Phala可以了解基于波卡体制下发链的运行机制。本教程旨在讲解如何建立Phala测试网的守门人节点。
守门人Gatekeeper,其实就是类似区块链网络中常见的见证人(Validator)机制,目前Phala正在进行测试网阶段。
— 本文建议在PC端阅读和操作 —
如何成为守门人
必备条件:
1.安装Linux系统的真机电脑,虚拟机、V*P*S、云服务器都不行。(最低配置:双核CPU / 内存2G / 硬盘40GB)
2.Intel 6代 Skylake以后的CPU,至少是2015年8月之后购买或组装的电脑,如果不确定自己电脑是否能跑,可以安装Linux系统后通过官方测试软件跑起来。(AMD CPU无法运行)
3.保持安装Linux并运行守门人节点的电脑一直运行,网络稳定畅通。
注:18年之后发布的Mac电脑无法参与,因为设备安装了T2芯片而无法安装Linux。(为此我还折腾了半天)
加分条件:
1.稳定且速度快的有线网络(不要求静态IP)。
2. 性能较好的电脑(四核+ /内存8G+)。
3.对Linux有一定了解,熟悉基本Linux命令和命令行操作。
安装Linux
安装Linux系统,建议安装Ubuntu 18.04 LTS。
注意安装前在BIOS设置中Secure Boot选择Disabled,Boot Mode选择UEFI,如果BIOS中有Intel Software Guard Extension (SGX)选项要选择Enabled,如果没有则不管。该部分对应的教程网上有很多,可自行搜索安装。
本教程以桌面版Ubuntu 18.04来进行讲解。
安装运行Phala环境和测试包
注意:这不仅仅是测试包,还包含了成为守门人所必须的运行环境Intel SGX,所以仅仅知道自己满足Intel 6代CPU依然需要运行该测试包以安装Intel SGX环境。
Linux系统安装完成后,先修改下镜像源,以便下载各种依赖库时提升速度。
点击左下角的应用程序,选择“软件和更新”
选择“下载自”——“其他站点”——“mirrors.aliyun.com”,然后选择“重新载入”,等待更新完成后即可。
下载Phala测试包。(使用浏览器或打开终端下载均可)
http://files.phala.network/phala-test.zip
下载好后,打开zip文件,将里面的phala-test文件夹拖放到桌面。
然后选择phala-test文件夹右键,选择“在终端打开”。
进入终端界面后,输入(或者复制)以下命令后回车
(To 小白:终端输入命令都是命令–回车的形式,每条命令输入后点回车;按鼠标中键可以在终端窗口内进行复制粘贴操作,或鼠标右键选择复制粘贴)
sudo ./phala-sgx-init.sh
因为使用sudo管理员权限,会要求输入用户密码,输入安装Linux时设置的用户密码(光标不会随输入变化,Linux终端输入密码的特性) ,然后回车。
等待下载更新安装系统的各种软件依赖安装包。如果你是新装的系统,那么这一步会等待较长的时间,如果中途有询问yes or no的,输入y。
安装完这样提示,表示CPU不支持Intel SGX,后面教程也就不用看了。(理论上Intel 6代以后CPU都支持,官方有个目前的已测试列表:https://shimo.im/sheets/3cTvckwKc3GDXWGC)
最后如果显示Intel SGX is already enabled on this system. 则表示SGX安装成功。
重启电脑,输入命令后回车。
sudo reboot
电脑重启完成后,依然选择桌面上phala-test文件夹,右键“在终端打开”。
输入以下命令后回车:(同样需要输入密码,输入密码后回车)
sudo ./phala-test.sh
程序检测机器是否能运行,通过测试展示如下信息:
1. 显示以下信息,恭喜你的电脑环境已经安装完毕并通过测试,可以运行Phala守门人节点!
2. 最后一行显示Test is FAILED!且前三行均为绿色则有可能是BIOS版本过低或者连接Intel服务器失败(国内连外网问题),建议再次输入sudo ./phala-test.sh。如果输入5-6次后仍然是这个结果,请咨询客服。
3.若出现红色的SGX HW TEST FAILED!则说明计算机不具备SGX功能。
4. 若出现红色的SGX Driver is NOT Readly 但有绿色的SGX HW TEST SUCCESSED!则可能是驱动安装有问题或者BIOS版本问题,确定BIOS设置没问题(Secure Boot选择Disabled,Boot Mode选择UEFI,如果BIOS中有Intel Software Guard Extension (SGX)选项要选择Enabled)。
5. 若出现红色的Phala.Network TestAPP is Crash!且前两行均为绿色则可能是主板BIOS支持问题或者系统安装问题。
创建账户并认证抵押
通过Phala测试后,恭喜你已经完成了一半!接下来就是些简单的体力活了。
首先需要在Phala测试网创建账号 https://app.phala.network/
可以在Settings中将界面设置为中文。
具体教程可以添加官方微信账号:phalanetwork 进行,添加微信账号后,发送“链上认证”四个字,有对应的创建账号和链上认证的视频教程进行学习。
创建守门人需要两个账号,所以建好两个账号,一定要保存好助记词(mnemonic seed),并且记好密码。
账号创建后领取测试币,然后在官方微信账号上进行账号认证(具体流程请参考微信账号上的视频教程),官方认证成功后Phala测试网上账号会显示绿色认证图标。
认证后,左侧选择Staking(质押),然后上方选择Account actions,再选择“+Stash”
绑定Stash账号和Controller账号,Stash账号将负责保管你的保证金,Controller账号将用于开启或暂停守门人的验证行为。Stash可以是较多资金的账号,用作质押。根据账户的资金来决定质押的数量。
注意:不要质押所有的资金,留部分资金用作交易手续费。
输入密码后,选择提交。
右上绿色标签表示提交成功,红色则为报错,可能是资金不足或者网络问题。
如果网页比较卡未看到标签状态更新,等待一会儿刷新一下看是否绑定成功,以下则为绑定质押成功(教程新加的账号未认证,正常应该为绿色认证图标账号绑定)
运行节点
打开Linux系统左下角的应用程序,选择“终端”
完整复制以下命令并粘贴到终端,下载phala节点程序,国内网络速度会慢一些,多等一下。
wgethttps://github.com/Phala-Network/phala-blockchain/releases/download/poc2-3.0-alpha1/phala-node
添加phala节点程序权限
sudo chmod +x phala-node
以守门人身份运行节点,注意名字与地址之间间隔的是“空格、半角竖线、空格”:
./phala-node –validator –name \”你的Stash账户名字 | 你的Controller地址\”
注意修改你的账户名字和地址,在上一节教程中曾用过Stash账户和Controller地址。
点击圆形账户图标可以获得你的账户地址,引号部分应该是这样形式的:
\”MER002 |5HmzM3bAz9rd8Z8rbSmcoMHRa76fTSnwUtaGPGQzEXFxvXMk\”
保持终端窗口打开,不要关闭,只要你运行节点,就永远不要关闭,耐心等待节点同步,你可以在Telemetry上查询自己的同步区块https://telemetry.polkadot.io/#list/Phala%20PoC-2
根据网速和机器性能,大概在6-24小时内可以同步完成。你可以在Telemetry网站上查看到当前网络区块和自己节点同步的区块,以确定是否同步完成。
生成密钥并提交
保持节点同步终端打开,右键选择终端,打开一个新的终端窗口。
完整复制以下命令:
curl -H \”Content-Type: application/json\” -d\'{\”id\”:1, \”jsonrpc\”:\”2.0\”, \”method\”:\”author_rotateKeys\”, \”params\”:[]}\’ http://localhost:9933
输出获得Session密钥,复制保存好密钥,可以关闭该终端。然后打开Phala测试网,选择质押(Staking)—Account actions——Session Key。
复制为以0x为开头的密钥并粘贴到这里,然后选择Set Session Key。
注册TEE设备
打开一个新的终端窗口,注意之前的节点终端窗口要一直保持打开运行。运行以下命令下载TEE模块。
wget https://github.com/Phala-Network/phala-blockchain/releases/download/poc2-3.0-alpha1/tee-release.zip
解压该文件
unzip tee-release.zip
进入解压后的文件夹
cd tee
运行程序
./app
再开一个新的终端窗口,保持刚刚运行tee终端的窗口,进入tee文件夹
cd tee
运行phost(以下代码全部复制然后粘贴),注意此处需要用到你的controller账号助记词,将之前保存的助记词完整粘贴过来(包括单词之间的空格),替换下面代码第二行的引号内部。然后回车运行。
./phost \\–mnemonic \’你的 Controller 账号私钥助记词\’ \\–no-sync \\–no-write-back \\–remote-attestation \\–substrate-ws-endpoint \’ws://localhost:9944\’
phost终端使用完后可以关闭。
开启验证
一切都准备就绪,终于到最后一步了,撒花~
打开Phala测试网,选择质押(Staking)—Account actions—Validate
填一个费率,1-10都可以,然后选择Validate。
恭喜你,目前已经基本完成了,稍等一下会在质押(Staking)—Waiting名单中看到你的名字,那么一般来说至多1个Era(6个小时1个Era)会进入守门人名单。
最后是官方关于守门人节点的FAQ,有问题也可以在社群中提问。
https://www.yuque.com/fagephalanetwork/uopqtn/dng4kg