Chainflip 是一种去中心化、无需信任的协议,可实现不同区块链之间的跨链交换。
我们消除了任何类型的用户障碍或繁重的权衡,因此无需以前的加密知识,只需点击几下即可交换您的代币。
600W美元 由 Framework Ventures 领投。
1000W美元 由 Framework Ventures、Blockchain Capital 和 Pantera Capital 领投。
详细的官方介绍可以查看官方推文线程,我这里简单说下:
1、这是个长期运行的测试网,如果要运行验证节点,要做好长期运行的准备,并且目前不是激励性测试网。
2、运行测试网验证器,最好是具备一些Linux系统的基础知识。
3、虽然说不是激励性测试网,但官方twitter说了,虽然不会立即受到激励,但我们会在未来为大家提供许多惊喜,以奖励大家的参与。
在教程开始之前非常感谢小师妹的提醒,要不我就可能错过了。
1.1 服务器要求
操作系统:Ubuntu 20.04 - 请仅使用此操作系统
CPU:4 GHz | 4+ 核心,专用更好
内存:8GB
磁盘:50 GB(这可能会随着时间的推移而增加)
带宽:推荐 1GBps 连接,每月 100 GB 组合上行/下行带宽
该机器必须 24/7 全天候可用,因此建议您仅在具有稳定可靠的互联网连接的机器上尝试此操作,例如 VPS 或专用服务器。
1.2 服务器必须开放以下端口
30333 (TCP)
8078 (TCP)
1.3 必须准备两个以太坊钱包(请一定要用新的钱包地址,因为需要用到钱包私钥)
Stake wallet : 用来质押的钱包 (也需要测试网 Goerli ETH,数量够发起交易就行,需要用此钱包地址到官方discord中领水)
Validator wallet : 操作验证器的钱包 (钱包内请提前准备至少0.1 Goerli ETH的测试币)
1.4 Alchemy Goerli测试网的RPC链接
这一块就不详细的介绍了,网上有很多教程,这里附上申请RPC的官方教程。最终我们需要的是HTTPS和WEBSOCKETS的链接地址。注意:key别泄露了。
正式开始之前,先说明下,我的教程和官方有些不太一样,主要是我没有创建验证器专用的账号,我是直接在root用户下进行安装的。当然为了安全来说,创建专用账户会好些,但都是相对的。不啰嗦了,正式开始。
2.1 获取Validator软件
sudo mkdir -p /etc/apt/keyrings \
&& curl -fsSL repo.chainflip.io/keys/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/chainflip.gpg
2.2 添加源信息
echo "deb [signed-by=/etc/apt/keyrings/chainflip.gpg] https://repo.chainflip.io/perseverance/ focal main" | sudo tee /etc/apt/sources.list.d/chainflip.list
2.3 更新系统,并安装Validator软件
sudo apt-get update \
&& sudo apt-get install -y chainflip-cli chainflip-node chainflip-engine
这一步更新可能会慢些,耐心等待完成。
3.1 创建密钥保存的目录,并进入此目录
sudo mkdir /etc/chainflip/keys \
&& cd /etc/chainflip/keys
3.2 还记的在1.3步骤中提前准备的两个钱包地址吗?现在就需要用到Validator wallet的私钥了,将验证器钱包的私钥导出,并运行下面的命令(注意将“你的验证器钱包私钥”替换为自己的钱包私钥)。注意:如果私钥前面有0x,请删除0x。
YOUR_VALIDATOR_WALLET_PRIVATE_KEY=你的验证器钱包私钥 \
&& echo -n "YOUR_VALIDATOR_WALLET_PRIVATE_KEY" | sudo tee /etc/chainflip/keys/ethereum_key_file
3.3 生成验证器Key
chainflip-node key generate
Secret phrase:验证器的助记词(不要泄露)
Secret seed:验证器私钥(不要泄露)
Public key (SS58):验证器公钥(stake时需要此地址)
3.3.1 将验证器私钥写入到文件,需要把下面命令中的YOUR_CHAINFLIP_SECRET_SEED替换为3.3步骤中Secret seed显示的内容(包含0x)。
SECRET_SEED=YOUR_CHAINFLIP_SECRET_SEED \
&& echo -n "${SECRET_SEED:2}" | sudo tee /etc/chainflip/keys/signing_key_file
3.4 生成节点密钥
sudo chainflip-node key generate-node-key --file /etc/chainflip/keys/node_key_file
已经过以上步骤后,你应该能在/etc/chainflip/keys
目录中看到如下三个文件。(请不要向任何人共享这些文件,绝对私密文件。)
4.1 创建配置文件目录及文件
sudo mkdir -p /etc/chainflip/config \
&& sudo touch /etc/chainflip/config/Default.toml
4.2 执行下面的命令,在执行之前,需要先将IP_ADDRESS_OF_YOUR_NODE字段修改为自己的服务器公网IP,将1.4步骤中申请的RPC链接分别替换WSS_ENDPOINT_FROM_ETHEREUM_CLIENT和HTTPS_ENDPOINT_FROM_ETHEREUM_CLIENT字段,其他内容不需要修改,然后执行即可。
cat>/etc/chainflip/config/Default.toml<<EOF
#Default configurations for the CFE
[node_p2p]
node_key_file = "/etc/chainflip/keys/node_key_file"
ip_address="IP_ADDRESS_OF_YOUR_NODE"
port = "8078"
[state_chain]
ws_endpoint = "ws://127.0.0.1:9944"
signing_key_file = "/etc/chainflip/keys/signing_key_file"
[eth]
#Ethereum RPC endpoints (websocket and http for redundancy).
ws_node_endpoint = "WSS_ENDPOINT_FROM_ETHEREUM_CLIENT"
http_node_endpoint = "HTTPS_ENDPOINT_FROM_ETHEREUM_CLIENT"
#Ethereum private key file path. This file should contain a hex-encoded private key.
private_key_file = "/etc/chainflip/keys/ethereum_key_file"
[signing]
db_file = "/etc/chainflip/data.db"
EOF
完成后的样子大概如下图所示
5.1 启动验证节点
sudo systemctl start chainflip-node
5.1.1 查看验证节点状态(active (running) 代表运行正常)
sudo systemctl status chainflip-node
5.1.2 设置chainflip-node开机启动
sudo systemctl enable chainflip-node
5.1.3 查看同步日志,整个同步速度还是很快的基本上半个小时左右就能同步完成了。
tail -f /var/log/chainflip-node.log
Syncing:代表正在同步
target:当前网络高度
best:当前同步进度
finalized:当前已同步完成
Idle: 代表当前节点已经同步完成
退出查看日志按键盘ctrl/control + c
即可。
5.2 启动chainflip-engine
重要说明:要运行此步骤必须要等待节点同步完成才可以,不然会报错。
重要说明:要运行此步骤必须要等待节点同步完成才可以,不然会报错。
重要说明:要运行此步骤必须要等待节点同步完成才可以,不然会报错。
sudo systemctl start chainflip-engine
5.2.1 查看chainflip-engine状态(active (running) 代表运行正常)
sudo systemctl status chainflip-engine
5.2.2 设置chainflip-engine开机启动
sudo systemctl enable chainflip-engine
5.2.3 查看chainflip-engine日志
tail -f /var/log/chainflip-engine.log
日志会显示我们当前还没有质押的警告,这个我们接下来操作质押。
6.1 在质押之前,我们需要先到官方discord中领水,进入discord中后先在join-testnet频道点击按钮才能显示出来faucet频道。
6.2 在faucet频道,发送 !drip stake钱包地址
即可领取官方发的测试币TFLIP。stake钱包就是我们在1.3步骤中提前准备的钱包。
6.3 打开官方stake网站,使用我们的stake钱包链接网站。然后点击Add node按钮,在弹出的输入框中填写我们的验证器公钥(就是3.3步骤中生成的SS58类型的公钥),填写质押的数量,最后点击下方按钮即可。这里需要两次操作approval和stakes因为我操作过了, 所以只显示了stakes。
6.4 当我们在网站上质押完成后,可以在My nodes页面查看验证器信息。你现在查看到的状态可能和我显示的不一样,这是因为在网站上质押之后,还需要到服务器上设置验证器的其他信息。
7.1 注册验证器密钥
sudo chainflip-cli \
--config-path /etc/chainflip/config/Default.toml \
register-account-role Validator
7.2 激活验证器
sudo chainflip-cli \
--config-path /etc/chainflip/config/Default.toml \
activate
7.3 开启rotate
sudo chainflip-cli \
--config-path /etc/chainflip/config/Default.toml rotate
7.4 可选,设置验证器的名字,将下面命令中的my-name
修改为其他任何你想显示的名字
sudo chainflip-cli \
--config-path /etc/chainflip/config/Default.toml \
vanity-name my-name
7.5 当运行完上面的命令后,还需要重启下chainflip-engine,稍等片刻后,再到stake网站上查看验证器状态就会发生变化了。
sudo systemctl restart chainflip-engine
整个教程基本到这里就结束了,如果你在运行过程中有什么问题,请到官方Discord中询问。
如果觉得教程还不错,请多多点赞关注转发哈。