# 融资1600万美元 | ChainFlip 节点搭建教程 **Published by:** [dapaopao](https://paragraph.com/@dapaopao/) **Published on:** 2022-11-27 **URL:** https://paragraph.com/@dapaopao/1600-chainflip ## Content 背景介绍Chainflip 是一个基于权益证明验证者网络的跨链去中心化交所,它使用高效的阈值签名方案和独特的 AMM 设计,为用户提供最高效和低摩擦的方式在一个完全去中心化系统中交易数字资产。 官方链接:推特DiscordTelegram官方文档教程地址: https://docs.chainflip.io/perseverance-validator-documentation/准备工作一台稳定的服务器,带公网IP ,可以购买vps ,如何购买和配置可以看我之前的文章 服务器配置:操作系统: Ubuntu 20.04 以上CPU: 4核以上内存: 8 GBSSD: 50 GB (可能会随着时间增加)带宽: 千兆带宽这次需要开启的端口号是30333 (TCP) and 8078 (TCP) 一个RPC地址 我这里用的是alchemy提供的节点,如何申请可以查看我之前的文章 两个钱包 一个作为节点验证者,一个作为质押钱包 两个钱包都需要测试代币GoerliETH,可以去提前领取 https://goerlifaucet.com/节点验证0.1E左右即可,质押钱包需要去DEX兑换对应的测试代币tflip https://tflip-dex.thunderhead.world/兑换一定的量即可,准备工作完成。开始搭建先更新一下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到aptecho "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节点验证的钱包私钥,确保你的这个钱包已经有测试网的ethecho -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 keysudo 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,如果还没有,请查看之前的准备工作部分 来到竞标质押页面 https://stake-perseverance.chainflip.io/ 连接你的钱包,点击添加节点公钥选择之前备份的信息里的验证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,欢迎交流 https://twitter.com/dapaopao_eth ## Publication Information - [dapaopao](https://paragraph.com/@dapaopao/): Publication homepage - [All Posts](https://paragraph.com/@dapaopao/): More posts from this publication - [RSS Feed](https://api.paragraph.com/blogs/rss/@dapaopao): Subscribe to updates - [Twitter](https://twitter.com/dapaopao_eth): Follow on Twitter