# DeFund测试网节点部署教程-保姆级

By [syskey](https://paragraph.com/@syskeys) · 2022-04-26

---

虽然标题说是保姆级，但还是需要一些基础知识的，但基本通过搜索引擎都能解决。

参与测试的好处：
========

具体可以查看官方发布的空投介绍：[https://medium.com/defund-finance/airdrop-d-c2685d282858](https://medium.com/defund-finance/airdrop-d-c2685d282858)

准备工作：
=====

远程工具：[MobaXterm](https://mobaxterm.mobatek.net/download.html)

Luinx 服务器：Ubuntu 20.04 （建议全新系统）

需要的硬件配置：8核-32G内存-1T硬盘（但我实际测试可能用不了这么高）

远程工具，看个人喜好，这里推荐[MobaXterm](https://mobaxterm.mobatek.net/download.html)，直接从官方下载免费版本安装即可。

![](https://storage.googleapis.com/papyrus_images/144ebba3e60adf24ba1583eb02d3985f641d6947417473b6c93054eb87a9037d.png)

Linux服务器系统建议选择Ubuntu20.04，这里推荐个[云服务商](https://app.cloudcone.com/?ref=3999)，个人一直在使用，正好最近推出了新活动，4核-4G-180G-5T/月 仅仅$53/年可以说是非常便宜了。

打开[云服务商网站](https://app.cloudcone.com/?ref=3999)点击 Sign up 注册下会员。

![](https://storage.googleapis.com/papyrus_images/0b40d795ac013ffb0b5a3478a3fe71ded0ef6e2b2d6717e6863e4063f3067c6a.png)

填写下注册信息，最后点击注册。

![](https://storage.googleapis.com/papyrus_images/176a39caed11f9eb0ba7f00a37fa7b74c19600625d57c132f055c9f9160f7ba1.png)

注册完成并登录后，需要先充值金额才能开通服务器，点击头像-选择Billing

![](https://storage.googleapis.com/papyrus_images/18389cfef2a7d1172e21319e365f2f2d9450625f4e570615109d46b37c695533.png)

接着点击Add-Funds,输入想要充值的金额，最后点击添加就会跳转到支付宝的支付界面，最后支付就可以。

![](https://storage.googleapis.com/papyrus_images/b1bc6160d5bdfb54b3a3adf9ce23409d90d7c39b173ad666f328ea48c5e6cd9f.png)

这里提供下2种配置的机器，按个人承受能力选择。

4G- 4核-180G-5T/月 — $53/年 [链接地址](https://app.cloudcone.com/vps/83/create?token=hashtag%202022%20vps%20-%205&ref=14)

8G-4核-280G-7T/月 — $102/年 [链接地址](https://app.cloudcone.com/vps/84/create?token=hashtag%202022%20vps%20-%206&ref=14)

我这里以4G-4核的这个配置作为演示。可以看到配置已经是固定好的，无法更改并且价格是53刀每年。

![](https://storage.googleapis.com/papyrus_images/c075acad1de01aefa8e92f2be54e6a65ea56e219d3eb9be54fac2a2d14664774.png)

选择系统Ubuntu20.04 ，填写主机名，其他选项默认即可。

![](https://storage.googleapis.com/papyrus_images/68bfa1947ff65ac242ef04ee12834218e665ca8ec3fcf0148fce8a229954272a.png)

填写完成后，直接点击Deploy Server 即可部署了，部署过程中大概需要几分钟，等待部署完成后，可以点击最上方导航栏，点VPS查看已经开通的服务器。我图片打码的位置显示的是服务器IP，复制下来，等下要用到。

![](https://storage.googleapis.com/papyrus_images/d49019cfcbff50d4ab6ed66e6befc58cf3ea51661b6da544fe44ac7a174e9126.png)

开通成功后，会将默认密码发送到注册邮箱，如果没有发送密码，可以在管理界面重置服务器密码。

远程服务器
=====

打开[MobaXterm](https://mobaxterm.mobatek.net/download.html)软件，点击Session按钮，然后点击SSH，输入服务器IP后点击OK。

![](https://storage.googleapis.com/papyrus_images/653f4034952419d9826fae16a04b291b4b99cc1ffb7a6976d4a316df1ee8644c.png)

输入root，然后回车，在输入密码（密码是隐藏显示，直接输入，或者粘贴都行）

![](https://storage.googleapis.com/papyrus_images/79edc20791b3ca66b53a07390493759cbdde7c5572513028a5bca09e75e31bcd.png)

远程成功后的显示界面应该是下图这样

![](https://storage.googleapis.com/papyrus_images/12c910bbb94d3e10f3536f99e9b39e75af2134f7830559c0fc7d10fd179ffd24.png)

开始部署验证器节点
=========

更新系统和安装必要的组件

    sudo apt update
    sudo apt install curl tar wget clang pkg-config libssl-dev jq build-essential bsdmainutils git make ncdu gcc git chrony liblz4-tool screen -y < "/dev/null"
    

安装go

    wget https://golang.org/dl/go1.18.1.linux-amd64.tar.gz
    rm -rf /usr/local/go && sudo 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
    

![](https://storage.googleapis.com/papyrus_images/faedea64439c340076f54340cfcedfa4ac19ada2ed0d2dc6f77592ebaecc97cb.png)

下载官方程序

    git clone https://github.com/defund-labs/defund
    

![](https://storage.googleapis.com/papyrus_images/f7093e7f521e568705f446d3ca0f927e57a4a4855fe95152d6f208f2c17f678a.png)

编译安装

    cd defund
    git checkout v0.0.2
    make install
    

![](https://storage.googleapis.com/papyrus_images/0511247de1a4eb53164708f2e5205479ed6ab703ba95cc20e92ddc357eb7b21d.png)

安装完成后，运行下面的命令，NODE\_NAME可以修改为任意的名字，需要记下来。

    defundd config chain-id defund-private-1
    defundd init NODE_NAME
    

![](https://storage.googleapis.com/papyrus_images/b1c79648b7d91f56a9762e38b7a736a83e8c93fb2e13a0b118197948dee6af6d.png)

修改种子文件和对等节点信息

    wget -O $HOME/.defund/config/addrbook.json https://raw.githubusercontent.com/skyMetaverse/seeds/main/addrbook.json
    wget -O $HOME/.defund/config/config.toml https://raw.githubusercontent.com/skyMetaverse/seeds/main/config.toml
    wget -O $HOME/.defund/config/app.toml https://raw.githubusercontent.com/skyMetaverse/seeds/main/app.toml
    

![](https://storage.googleapis.com/papyrus_images/a651d1d745e5c6d76df5926062044fad74773ac428f0da00b63ac0d33d604d9b.png)

下载创世纪文件

    wget -O $HOME/.defund/config/genesis.json https://raw.githubusercontent.com/defund-labs/defund/v0.0.2/testnet/private/genesis.json
    

![](https://storage.googleapis.com/papyrus_images/32ea73b48831fad6f209205378aba4564e9da95edbc4084aae5028bcb43691c0.png)

检查创世纪文件hash

sha256sum ~/.defund/config/genesis.json

    sha256sum ~/.defund/config/genesis.json
    

输出内容必须和下面的一致: 268f625672ed618a844ee32bcfc3a66d51921b12e6a966a0965aa296fb82c032

![](https://storage.googleapis.com/papyrus_images/c3ab9fe7395ca25ee6534f205b27e948a2ce4fda33aac99607ddaf22e9c08885.png)

重置状态

    defundd tendermint unsafe-reset-all
    

![](https://storage.googleapis.com/papyrus_images/aec30eea886bd7e4d8f5b8414bc103754279ce0ac641126910bbcf0983f36ca8.png)

创建钱包（可以和上面设置的节点名字一致），执行此命令会让输入钱包密码，大于8位即可。 defundd keys add <key-name> 注意保存好助记词信息 **钱包地址还有助记词记录下来，后面的步骤需要用到。** 创建服务文件（以一下内容，需要整块复制并粘贴） sudo tee /lib/systemd/system/defund.service > /dev/null <<EOF \[Unit\] Description=Defund daemon After=network-online.target \[Service\] User=$USER ExecStart=${HOME}/go/bin/defundd start Restart=always RestartSec=3 LimitNOFILE=infinity LimitNPROC=infinity \[Install\] WantedBy=multi-user.target EOF 加载和启动服务 sudo systemctl daemon-reload systemctl restart systemd-journald sudo systemctl start defund 查看启动日志 journalctl -f -n 100 -u defund -o cat 可以看到上图日志中出现了很多报错，这个是因为刚开始连接节点，另外也是测试网不稳定等原因，暂时不用管报错信息。 等待一会后就会发现日志变成下图的样子了，这就代表正在同步节点中。关注下height=5358字段和[区块链浏览器](https://defund.explorers.guru/)中的块高对比，可以看同步进度，\*\*当日志看到的块高和浏览器显示的一致时代表同步完成，\*\*经测试服务器配置越高，同步的越快，我当时4核4G同步了大概8–9小时。 区块链浏览器 领取测试币 将替换为自己的钱包地址，其他不变。 curl -X POST -d '{"address": "<defund\_address>", "coins": \["20000000ufetf"\]}' http://146.190.235.132:8000 第二种方式领水 打开[水龙头网站](https://bitszn.com/faucets.html)输入钱包地址，点击请求。 **以下步骤需要等同步完成后才能执行，不然的话，会报错。** **以下步骤需要等同步完成后才能执行，不然的话，会报错。** **以下步骤需要等同步完成后才能执行，不然的话，会报错。** 创建验证器 --amount= 字段代表质押的测试币数量 --moniker= 名字之类的 --from= 这里填写上面自己创建的钱包地址defundd tx staking create-validator \\ --amount=1000000ufetf \\ --pubkey=$(defundd tendermint show-validator) \\ --moniker="choose a moniker" \\ --chain-id=defund-private-1 \\ --commission-rate="0.10" \\ --commission-max-rate="0.20" \\ --commission-max-change-rate="0.01" \\ --min-self-delegation="1000000" \\ --gas="auto" \\ --from=<key\_name> 执行完成后就代表验证器运行成功了。 可以到[这个网站](https://defund.explorers.guru/)查看是否运行成功。 **可以看到是未活跃，这里主要是因为只有质押排名前100的才是活跃，而截止到教程发布，第100名质押了1914枚测试币。另外官方解释了不管是活跃还是未活跃都是有空投的，并且空投是平均分配的，而不是按照质押数量分配。** 到此教程就完结，有不懂的可以到官方[Dis社区](https://discord.gg/Hvkh9WcuWt)提问。 更多精彩内容欢迎关注我的twitter： [https://twitter.com/skyMetaverse](https://twitter.com/skyMetaverse)

---

*Originally published on [syskey](https://paragraph.com/@syskeys/defund)*
