融资1600万美元 | ChainFlip 节点搭建教程

背景介绍

Chainflip 是一个基于权益证明验证者网络的跨链去中心化交所,它使用高效的阈值签名方案和独特的 AMM 设计,为用户提供最高效和低摩擦的方式在一个完全去中心化系统中交易数字资产。

官方链接:

官方文档教程地址:

准备工作

一台稳定的服务器,带公网IP ,可以购买vps ,如何购买和配置可以看我之前的文章

服务器配置:

  • 操作系统: Ubuntu 20.04 以上

  • CPU: 4核以上

  • 内存: 8 GB

  • SSD: 50 GB (可能会随着时间增加)

  • 带宽: 千兆带宽

这次需要开启的端口号是30333 (TCP) and 8078 (TCP)

一个RPC地址

我这里用的是alchemy提供的节点,如何申请可以查看我之前的文章

两个钱包

一个作为节点验证者,一个作为质押钱包

两个钱包都需要测试代币GoerliETH,可以去提前领取

节点验证0.1E左右即可,质押钱包需要去DEX兑换对应的测试代币tflip

兑换一定的量即可,准备工作完成。

开始搭建

先更新一下

apt update 
apt install git -y

1.获取Validator软件

sudo mkdir -p /etc/apt/keyrings
curl -fsSL repo.chainflip.io/keys/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/chainflip.gpg

执行完上两步后验证

gpg --show-keys /etc/apt/keyrings/chainflip.gpg

出现一下就是成功

添加Chainflip到apt

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

接着更新刚才添加的

sudo apt-get update
sudo apt-get install -y chainflip-cli chainflip-node chainflip-engine

如过出现红框中的提示执行以下步骤再重新安装,如果没有继续往下看

echo "deb http://security.ubuntu.com/ubuntu focal-security main" | sudo tee /etc/apt/sources.list.d/focal-security.list
sudo apt-get update
sudo apt-get install libssl1.1
sudo apt-get install -y chainflip-cli chainflip-node chainflip-engine

成功安装后如下

2.生成验证器密钥

创建目录

sudo mkdir -p /etc/chainflip/keys
cd /etc/chainflip/keys

生成key, YOUR_VALIDATOR_WALLET_PRIVATE_KEY的地方替换成你的node节点验证的钱包私钥,确保你的这个钱包已经有测试网的eth

echo -n "YOUR_VALIDATOR_WALLET_PRIVATE_KEY" |  sudo tee /etc/chainflip/keys/ethereum_key_file

生成签名key,不要泄露你的助记词

chainflip-node key generate

请备份以上信息到一个安全的地方

Secret seed 是你的私钥

Public key (SS58)是你验证编号,后面的只要需要用到

设置你的私钥,保持到一个文件中

SECRET_SEED=0x359bexxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
echo -n "${SECRET_SEED:2}" | sudo tee /etc/chainflip/keys/signing_key_file

接着生成node key

sudo chainflip-node key generate-node-key --file /etc/chainflip/keys/node_key_file

查看生成的key ,可以看到打印出来的内容

cat /etc/chainflip/keys/node_key_file

3.创建配置文件

创建目录

sudo mkdir -p /etc/chainflip/config

编辑配置文件

sudo nano /etc/chainflip/config/Default.toml

复制一下内容同时替换三个地方

IP_ADDRESS_OF_YOUR_NODE 替换为你公网的ip地址

WSS_ENDPOINT_FROM_ETHEREUM_CLIENT 替换为之前准备工作中的RPC对应的WSS地址

HTTPS_ENDPOINT_FROM_ETHEREUM_CLIENT替换为之前准备工作中的RPC对应的HTTPS地址

# 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"

替换后大概如下写入配置文件

保持后退出

4.启动验证节点

开启节点

sudo systemctl start chainflip-node

查看节点状态

sudo systemctl status chainflip-node

按ctrl+c退出,查看日志

tail -f /var/log/chainflip-node.log

可以查看到现在属于节点同步状态

需要等待同步,一直等待到同步完毕,这个过程比较长,需要耐心等待,成功同步后户显示如下

接着完成后开启引擎,一定要等待全部节点同步后再执行,不然会出错

sudo systemctl start chainflip-engine

查看引擎状态

sudo systemctl status chainflip-engine

最后开启开机后自动启动

sudo systemctl enable chainflip-node
sudo systemctl enable chainflip-engine

查看引擎日志

tail -f /var/log/chainflip-engine.log

竞标和质押

确定你的质押钱包已经兑换了一定量的tflip,如果还没有,请查看之前的准备工作部分

来到竞标质押页面

连接你的钱包,点击添加节点

公钥选择之前备份的信息里的验证ID,cF开头的

点击质押授权,这里可能会弹出两次提示授权和质押,允许即可

可以在我的节点里面查看

注意此时你可能还没有下面的显示,我这是已经完成的,需要继续操作,运行前请确认你的节点已经完全同步

注册验证密钥

sudo chainflip-cli \
      --config-path /etc/chainflip/config/Default.toml \
      register-account-role Validator

如果正常,你会在终端看到一串transaction hash,复制到区块浏览器中去查询

然后,激活帐户,同样有哈希可查询是否成功

sudo chainflip-cli \
    --config-path /etc/chainflip/config/Default.toml \
    activate

最后运行轮转密钥,也有哈希可查询是否成功

,sudo chainflip-cli \
    --config-path /etc/chainflip/config/Default.toml rotate

可选项目:修改你的验证名称

my-discord-username 可替换为你想要的名字

sudo chainflip-cli \
    --config-path /etc/chainflip/config/Default.toml \
    vanity-name my-discord-username

最后等待质押界面出现你的节点即可

总结

总体流程比较长,但是都不难,只要仔细每步确认就没什么问题

如果对本文章有什么意见和建议可以联系我推特@dapaopao_eth,欢迎交流

Subscribe to dapaopao
Receive the latest updates directly to your inbox.
Mint this entry as an NFT to add it to your collection.
Verification
This entry has been permanently stored onchain and signed by its creator.