# Quicksilver 节点部署教程-超过 50%的 Genesis 供应将被空投给社区 **Published by:** [syskey](https://paragraph.com/@syskeys/) **Published on:** 2022-05-10 **URL:** https://paragraph.com/@syskeys/quicksilver-50-genesis ## Content 一、项目信息Web:quicksilver.zone Twitter:quicksilverzone Discord:discord.gg二、硬件要求与任何 Cosmos-SDK 链一样,硬件要求非常适中。4 个 CPU;时钟速度越快越好8GB 内存40GB 磁盘(我们使用 statesync,所以磁盘要求很低)永久的 Internet 连接(在测试网期间流量将最小化;10Mbps 就足够了 - 对于生产,预计至少 100Mbps)三、操作系统(建议)Ubuntu 20.04(server版本)云服务器参考(商家已重新补货)云服务器使用参考之前的教程2G2核80G3T/月$26/年3G2核110G4T/月$33/年4G4核180G5T/月$47.8/年8G4核280G7T/月$89.6/年16G8核570G16T/月$171/年四、手动部署步骤4.1-更新系统并安装必要的组件sudo apt update && sudo apt upgrade --yes sudo apt install make clang pkg-config libssl-dev build-essential git jq ncdu bsdmainutils -y < "/dev/null" 4.2-安装golangcd $HOME wget -O go1.18.1.linux-amd64.tar.gz https://golang.org/dl/go1.18.1.linux-amd64.tar.gz rm -rf /usr/local/go && tar -C /usr/local -xzf go1.18.1.linux-amd64.tar.gz && rm go1.18.1.linux-amd64.tar.gz echo 'export GOROOT=/usr/local/go' >> $HOME/.bash_profile echo 'export GOPATH=$HOME/go' >> $HOME/.bash_profile echo 'export GO111MODULE=on' >> $HOME/.bash_profile echo 'export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin' >> $HOME/.bash_profile && . $HOME/.bash_profile go version 4.3-构建Quicksilvergit clone https://github.com/ingenuity-build/quicksilver.git --branch v0.1.10 cd quicksilver make build chmod +x ./build/quicksilverd && mv ./build/quicksilverd /usr/local/bin/quicksilverd 4.4-设置验证器配置 记得将$NODENAME替换为自己的节点名字cd $HOME quicksilverd init $NODENAME --chain-id=quicktest-3 quicksilverd config chain-id quicktest-3 quicksilverd config broadcast-mode block wget -qO $HOME/.quicksilverd/config/genesis.json "https://raw.githubusercontent.com/ingenuity-build/testnets/main/rhapsody/genesis.json" quicksilverd unsafe-reset-all 4.5-修改seeds和persistent_peers配置SEEDS="dd3460ec11f78b4a7c4336f22a356fe00805ab64@seed.quicktest-1.quicksilver.zone:26656" sed -i -e "/seeds =/ s/= .*/= \"$SEEDS\"/" $HOME/.quicksilverd/config/config.toml PEERS="8a6c7775df2a891133b994607b93eb92a4a00e2d@95.216.161.177:26656,f9a35b54f3e9e195ed109ac2ca29814b2deddcf9@164.92.212.102:26656,2b739b09350220485b7ecefd5b784307b3127f68@88.198.242.163:26656,259cd5234c4db46de71942ce21890bf25056ad27@65.21.1.224:26656,259cd5234c4db46de71942ce21890bf25056ad27@65.21.1.224:26656,2b739b09350220485b7ecefd5b784307b3127f68@88.198.242.163:26656,f9a35b54f3e9e195ed109ac2ca29814b2deddcf9@164.92.212.102:26656,3938a7bdaae1da2f88a5c0195534052b35e61bcf@49.12.74.226:26656,cf8dbe09fca0cba81ed3b3b46243fabd5c29c164@65.21.143.79:20556" sed -i.bak -e "s/^persistent_peers *=.*/persistent_peers = \"$PEERS\"/" $HOME/.quicksilverd/config/config.toml 4.6-配置pruningpruning="custom" pruning_keep_recent="100" pruning_keep_every="0" pruning_interval="10" sed -i -e "s/^pruning *=.*/pruning = \"$pruning\"/" $HOME/.quicksilverd/config/app.toml sed -i -e "s/^pruning-keep-recent *=.*/pruning-keep-recent = \"$pruning_keep_recent\"/" $HOME/.quicksilverd/config/app.toml sed -i -e "s/^pruning-keep-every *=.*/pruning-keep-every = \"$pruning_keep_every\"/" $HOME/.quicksilverd/config/app.toml sed -i -e "s/^pruning-interval *=.*/pruning-interval = \"$pruning_interval\"/" $HOME/.quicksilverd/config/app.toml 4.7-修改addrbookrm $HOME/.quicksilverd/config/addrbook.json wget -q -O $HOME/.quicksilverd/config/addrbook.json https://raw.githubusercontent.com/sourled/addrbook/main/addrbook.json 4.8-修改同步方式SNAP_RPC1="http://node02.quicktest-1.quicksilver.zone:26657" \ && SNAP_RPC2="http://node04.quicktest-1.quicksilver.zone:26657" LATEST_HEIGHT=$(curl -s $SNAP_RPC2/block | jq -r .result.block.header.height) \ && BLOCK_HEIGHT=$((LATEST_HEIGHT - 2000)) \ && TRUST_HASH=$(curl -s "$SNAP_RPC2/block?height=$BLOCK_HEIGHT" | jq -r .result.block_id.hash) sed -i.bak -E "s|^(enable[[:space:]]+=[[:space:]]+).*$|\1true| ; \ s|^(rpc_servers[[:space:]]+=[[:space:]]+).*$|\1\"$SNAP_RPC1,$SNAP_RPC2\"| ; \ s|^(trust_height[[:space:]]+=[[:space:]]+).*$|\1$BLOCK_HEIGHT| ; \ s|^(trust_hash[[:space:]]+=[[:space:]]+).*$|\1\"$TRUST_HASH\"|" $HOME/.quicksilverd/config/config.toml 4.9-将quicksilverd安装为服务sudo tee /etc/systemd/system/quicksilverd.service > /dev/null <<EOF [Unit] Description=Quicksilver After=network.target [Service] Type=simple User=$USER ExecStart=$(which quicksilverd) start Restart=on-failure RestartSec=10 LimitNOFILE=65535 [Install] WantedBy=multi-user.target EOF 4.10-重载并启动quicksilverdsudo systemctl daemon-reload sudo systemctl enable quicksilverd sudo systemctl start quicksilverd 4.10-查看同步日志journalctl -u quicksilverd -f 到此节点同步设置就完成了,观察下日志看同步是否有错。 4.11-查看同步是否完成quicksilverd status 2>&1 | jq .SyncInfo 运行上面的命令后如果输出的是下面的内容就代表同步完成。主要看“catching_up”字段false代表同步完成,true代表正在同步。root@quicks:~# quicksilverd status 2>&1 | jq .SyncInfo { "latest_block_hash": "5C6995D73B7DE49DB95D009B2564DA33ECC18B3AAA7800A9A431057D9B53B45C", "latest_app_hash": "08DB2173469F11E5EF7CB0C00C68A9062117E98721CCBF35D0FDB57A9FD2035E", "latest_block_height": "107746", "latest_block_time": "2022-05-10T02:56:55.681790966Z", "earliest_block_hash": "3800851F8170E3570DCFC7A0E56E72DA12FB2625B401CA74AEB1A3E6B5BADB15", "earliest_app_hash": "EA7027069F3E40904A53C0BC6A2BF1EE54FF70E93D84C74DD62D6940387A85EB", "earliest_block_height": "100501", "earliest_block_time": "2022-05-09T14:28:04.60522285Z", "catching_up": false } 4.12-创建QCK钱包并领水 将**$walletName替换为自己想要的名字(不要直接复制运行)**quicksilverd keys add $walletName 输入两次密码,钱包创建完成后会直接显示钱包地址还有助记词,记得保存下来。 到Discord中#qck-tap频道发送下面的指令领取uqck测试币**(将钱包地址替换为自己的)**$request quick1fssluasvna560a7djm3rzeht7k7x66w4j6yu8h rhapsody #atom-tap频道发送下面的指令领取uatom测试币**(直接用主网的钱包地址就可以的)**$request cosmos1eu2szhmms0dc07ufe5z7926eqhaksw8r32umhe rhapsody 4.13-创建验证器(这一步必须要在同步完成,并且钱包有余额的情况下才可以操作) 将**$walletName**修改为自己的钱包名字或者钱包地址 将**$monikername**修改为自己设置的节点名字quicksilverd tx staking create-validator \ --from=$walletName \ --amount=4900000uqck \ --moniker=$monikername \ --chain-id=quicktest-3 \ --commission-rate=0.1 \ --commission-max-rate=0.5 \ --commission-max-change-rate=0.1 \ --min-self-delegation=1 \ --fees=200uqck \ --pubkey=$(quicksilverd tendermint show-validator) 完成之后可以到区块链浏览器中查看运行的情况.五、可能有用的命令5.1-检查日志journalctl -fu quicksilverd -o cat 5.2-启动服务systemctl start quicksilverd 5.3-停止服务systemctl stop quicksilverd 5.4-重启服务5.5-节点同步状态quicksilverd status 2>&1 | jq .SyncInfo 更多命令请查看官方文档。 到此教程完结,有不懂的可以到官方Dis社区提问。 更多精彩内容欢迎关注我的twitter: ## Publication Information - [syskey](https://paragraph.com/@syskeys/): Publication homepage - [All Posts](https://paragraph.com/@syskeys/): More posts from this publication - [RSS Feed](https://api.paragraph.com/blogs/rss/@syskeys): Subscribe to updates - [Twitter](https://twitter.com/skyMetaverse): Follow on Twitter