# 在一台VPS上设置多个Masternode

## 1. 获取支持IPv6的VPS服务器 <a href="#id-1-huo-qu-zhi-chi-ipv-6-de-vps-fu-wu-qi" id="id-1-huo-qu-zhi-chi-ipv-6-de-vps-fu-wu-qi"></a>

你需要具有IPv6支持的VPS服务器才能在其上运行多个masternode，你可以从一些VPS提供商处获取一些参考如下：

* [Aruba](https://www.arubacloud.com/)
* [DigitalOcean](https://www.digitalocean.com/)
* [Hetzner](https://www.hetzner.de/)
* [Vultr](https://www.vultr.com)

选择具有以下规格的VPS服务器：

* 至少**1 GB的内存**
* **Ubuntu 16.04 LTS**作为操作系统
* **IPv6支持**（有的提供商默认提供，有的提供商必须另外选择）

为默认的“root”用户设置一个**强密码**（24个字符或更多）并保存。

选择VPS服务器的名称，提供商提供不同地区部署的VPS - 选择你喜欢的地区，这应该需要几分钟。

**保存VPS服务器的IP地址。**

另一个重要步骤是找出你的服务器分配的IPv6地址，。 VPS提供商将为你分配一系列的IPv6地址，你只需要保存第一个IPv6地址，因为我们将使用连续的地址， IPv6地址如下所示：

```
2a00:6d40:0040:5C0b:0000:0000:0000:0001
```

连续的IPv6地址如下所示：

```
2a00:6d40:0040:5C0b:0000:0000:0000:00022a00:6d40:0040:5C0b:0000:0000:0000:0003etc.
```

## 2. 登录和系统设置 <a href="#id-2-deng-lu-he-xi-tong-she-zhi" id="id-2-deng-lu-he-xi-tong-she-zhi"></a>

下载[PuTTY](https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html)，我们将用来访问我们的VPS的SSH客户端，选择适合你的操作系统版本（64位或32位）， 安装PuTTY并运行它。

你会看到这个屏幕：

![](https://blobscdn.gitbook.com/v0/b/gitbook-28427.appspot.com/o/assets%2F-LYvndWBvrmJxi5m4Vyp%2F-LYzI-Iul0K6-wvLqROc%2F-LYzKKO90QjqDqAtenfS%2F50.png?alt=media\&token=413b83dd-2ec7-4c8b-9773-f2c2543cf6d7)

在“*Host name (or IP address)*”框中输入你的**VPS IP地址**。

保持其他设置不变，在“*Saved Sessions*”框中输入任意Session名称，然后单击“保存”，这将保存你的VPS信息，你只需要双击Session名称以连接到你的VPS。

通过单击“打开”或双击列表中的Session名称连**接到你的VPS**，当你第一次连接时，PuTTY将显示一个警告窗口：

![](https://blobscdn.gitbook.com/v0/b/gitbook-28427.appspot.com/o/assets%2F-LYvndWBvrmJxi5m4Vyp%2F-LYzI-Iul0K6-wvLqROc%2F-LYzKtmT_11gPkMiBK--%2F51.png?alt=media\&token=3d62a924-237e-41ef-b19b-690e8e77ef72)

单击“Yes”继续连接且让此窗口以后不显示。

你将看到要求你登录的PuTTY终端屏幕：

![](https://blobscdn.gitbook.com/v0/b/gitbook-28427.appspot.com/o/assets%2F-LYvndWBvrmJxi5m4Vyp%2F-LYzI-Iul0K6-wvLqROc%2F-LYzLDJmRzzcAwP1tKXm%2F52.png?alt=media\&token=2cadbc47-71df-4ae4-8f06-0f304065ee21)

输入你的VPS用户名“root”，然后按Enter键，。之后系统会要求你输入密码，输入它并再次按Enter键，你现在将看到与此类似的屏幕：

![](https://blobscdn.gitbook.com/v0/b/gitbook-28427.appspot.com/o/assets%2F-LYvndWBvrmJxi5m4Vyp%2F-LYzI-Iul0K6-wvLqROc%2F-LYzLVj8U3Im81KLER_t%2F53.png?alt=media\&token=216203d2-357a-4829-b109-aa89fb85b8ee)

更新VPS服务器：你的VPS需要更新。您可以使用以下命令运行它：

```
apt-get update -y && apt-get upgrade -y
```

{% hint style="info" %}
你可以通过**右键**将命令**粘贴**到PuTTY终端窗口中。只需将光标放在要粘贴文本的位置，然后点击鼠标右键即可。

你也可以从终端窗口使用鼠标**复制**字段。
{% endhint %}

等待更新过程完成，你将返回到命令提示符：

![](https://blobscdn.gitbook.com/v0/b/gitbook-28427.appspot.com/o/assets%2F-LYvndWBvrmJxi5m4Vyp%2F-LYzI-Iul0K6-wvLqROc%2F-LYzMFvPh_TTJ8tGYaUC%2F54.png?alt=media\&token=12913757-aef6-4fe1-bc28-58d8612f2ac0)

## 3. 为你的masternodes设置网络 <a href="#id-3-wei-ni-de-masternodes-she-zhi-wang-luo" id="id-3-wei-ni-de-masternodes-she-zhi-wang-luo"></a>

{% hint style="warning" %}
某些VPS提供商允许你通过控制面板配置IPv6地址，因此不需要执行此步骤，你可以跳到**第4部分 - Nodemaster脚本安装**。

只需确保你的masternodes配置足够的IPv6地址！
{% endhint %}

{% hint style="warning" %}
有的VPS提供商没有自动的IPv6配置，但允许你在VPS配置过程中启用IPv6，在这种情况下，interfaces文件中的第一个IPv6地址已经配置好，因此你需要在下面的配置过程中跳过第一个IPv6地址，然后添加缺少的地址。
{% endhint %}

现在开始为你的masternodes建立网络。我们将使用Linux内置的文本编辑器Nano来完成这项工作。输入以下内容：

```
nano /etc/network/interfaces
```

Nano将打开包含网络配置的interfaces文件：

![](https://blobscdn.gitbook.com/v0/b/gitbook-28427.appspot.com/o/assets%2F-LYvndWBvrmJxi5m4Vyp%2F-LYzI-Iul0K6-wvLqROc%2F-LYzNH485ObTARRCRgyG%2F55.png?alt=media\&token=042ffa5a-63df-4cf8-8690-68e8c43caea2)

决定要运行多少个masternode，因为你必须为它们配置足够的IPv6地址。

需要先前VPS提供商分配给你的IPv6地址。

将以下文本复制到文本编辑器中，并**将“YourIPv6address”部分替换为你的IPv6地址**：

```
up ip addr add YourIPv6address/64 dev eth0
```

现在看起来应该类似于：

```
up ip addr add 2a01:6e60:0010:23fd:0000:0000:0000:0001/64 dev eth0
```

将包含IPv6地址的文本复制到剪贴板中。

现在切换到PuTTY并将光标移动到文件尾的新一行。

确保它位于行的开头，然后通过右键单击粘贴文本，按Enter进入下一行并再次粘贴文本，根据需要重复多次。

现在你的终端屏幕应该与此类似：

![](https://blobscdn.gitbook.com/v0/b/gitbook-28427.appspot.com/o/assets%2F-LYvndWBvrmJxi5m4Vyp%2F-LYzI-Iul0K6-wvLqROc%2F-LYzOO5iL1j5G2UmJ28h%2F56.png?alt=media\&token=d35b58c5-bea2-48a5-822d-c4005945ba0a)

请注意，此VPS提供商没有提供自动配置IPv6地址，因此我必须自己配置它们。

要退出Nano，请按CTRL + X，然后按Y和Enter确认并将更改写入文件，你将返回到命令提示符。

现在是时候**重启你的VPS**了，请输入：

```
reboot
```

然后按Enter键，你将与​​VPS断开连接并关闭此终端窗口，重新启动PuTTY并再次登录。

{% hint style="danger" %}
**不要跳过重启步骤，因为这对设置IPv6地址至关重要！**
{% endhint %}

现在我们需要测试IPv6地址是否处于活动状态，请输入：

```
ping6 <your IPv6 address>
```

如果地址处于活动状态，你将收到类似回复：

![](https://blobscdn.gitbook.com/v0/b/gitbook-28427.appspot.com/o/assets%2F-LYvndWBvrmJxi5m4Vyp%2F-LZ80nHtYON4dAmjIivx%2F-LZ86JJTgSQ8VVk46tPR%2F1.png?alt=media\&token=38a1e555-e768-4ba1-9a92-a769deae8c3f)

按CTRL + C取消ping

对所有masternode IPv6地址重复此过程。如果所有这些都响应你的ping，那么你就可以安装Nodemaster脚本了。

## 4. Nodemaster脚本安装 <a href="#id-4-nodemaster-jiao-ben-an-zhuang" id="id-4-nodemaster-jiao-ben-an-zhuang"></a>

将命令复制到VPS并输入：

```
git clone https://github.com/NewCapital/nodemaster MNVPS && cd MNVPS
```

这会将Nodemaster脚本克隆到VPS上的MNVPS目录。

成功克隆後应该给你这个响应并返回到命令提示符：

![](https://blobscdn.gitbook.com/v0/b/gitbook-28427.appspot.com/o/assets%2F-LYvndWBvrmJxi5m4Vyp%2F-LYzP-Wmi8z6lIVOYfRW%2F-LYzQ25QlJ0QtfyzWFdc%2F57.png?alt=media\&token=78159070-450d-4b43-901e-31245a239afc)

{% hint style="info" %}
你可以先设置更多的masternodes，并在你获得足够的抵押品后再启动它们。
{% endhint %}

开始实际安装，请输入（在此示例中，**4**是我们要安装的**masternode数量**）：

```
./install.sh -p twins -n 6 -c 4
```

该脚本将开始设置你的masternode并编译FIX源文件。

要有耐心，因为这需要一段时间（在我的情况下需要18分钟）。

这是脚本完成设置VPS并编译FIX源代码后看到的屏幕：

![](https://blobscdn.gitbook.com/v0/b/gitbook-28427.appspot.com/o/assets%2F-LYvndWBvrmJxi5m4Vyp%2F-LiCIj_RZEcPMiSXc_cX%2F-LiCJ3sC-Wf9acmajyAA%2F1.png?alt=media\&token=9feca0c1-5961-4868-890a-385b3e665a47)

{% hint style="danger" %}
**不要运行**屏幕上列出的命令，因为你必须先编辑VPS上的各个masternode配置文件！
{% endhint %}

现在我们需要编辑masternode配置文件。它们位于/etc/masternodes目录中，因此请输入以下命令移至该目录：

```
cd /etc/masternodes
```

获取配置文件列表

```
ls
```

![](https://blobscdn.gitbook.com/v0/b/gitbook-28427.appspot.com/o/assets%2F-LYvndWBvrmJxi5m4Vyp%2F-LiCIj_RZEcPMiSXc_cX%2F-LiCJDWzU97wgfxwhHKk%2F2.png?alt=media\&token=22a3c8ea-3f18-4aec-8385-4efbc6236edd)

我们需要使用nano编辑文件并填写一些信息。为此，请输入：

```
nano fix_nX.conf
```

用适当数量替换X。 \
有一个重要栏位：Masternode私钥栏。我在图片上标明了它：

![](https://blobscdn.gitbook.com/v0/b/gitbook-28427.appspot.com/o/assets%2F-LYvndWBvrmJxi5m4Vyp%2F-LiCIj_RZEcPMiSXc_cX%2F-LiCJSRWI_4G9Q7MEMqe%2F3.png?alt=media\&token=bd807881-5566-44ee-b925-539a54851c14)

删除Masternode私钥字段&#x4E2D;***=符号***&#x540E;的字串 并粘贴你的**masternode私钥**。

现在按CTRL + X，然后按Y和ENTER保存文件。

重复此步骤的次数与要配置的masternodes一样多。

## 5. 开始你的masternodes <a href="#id-5-kai-shi-ni-de-masternodes" id="id-5-kai-shi-ni-de-masternodes"></a>

现在已准备好启动masternode守护进程：

**如果你配置好了脚本内的所有masternodes**，则只需输入即可

```
activate_masternodes_twins
```

你的masternodes将被启动。

**如果你只配置了脚本内的某些masternode**，则必须为每个masternode输入3个命令：

```
systemctl daemon-reload
systemctl enable fix_n1
systemctl restart fix_n1
```

将X替换为你配置的masternode的编号，现在你要通过输入以下内容来**验证你的守护程序是否正在运行**：

```
systemctl status fix_nX.service
```

将X替换为要检查的masternode的编号。

成功运行的masternode将回覆以下响应：

![](https://blobscdn.gitbook.com/v0/b/gitbook-28427.appspot.com/o/assets%2F-LYvndWBvrmJxi5m4Vyp%2F-LiCIj_RZEcPMiSXc_cX%2F-LiCJx2KJEpEH9b5OTgv%2F4.png?alt=media\&token=1a57e1a9-3c4d-4e1b-a5a6-c53b150ab9a5)

键入CTRL + C退出并重复所有masternode的过程。

就是这样，你已经完成了，现在你只需要从你的控制钱包中启动你的masternodes。

## 6. 检查你的Masternodes <a href="#id-6-jian-cha-ni-de-masternodes" id="id-6-jian-cha-ni-de-masternodes"></a>

我们现在可以检查每个masternode的状态&#x20;

将X替换为你配置的masternode的编号

```
fix-cli -conf=/etc/masternodes/fix_nX.conf masternode status 
```

并查看masternode是否已成功启动。&#x20;

你应该看到类似的信息：\
`{`\
`“txhash” : “334545645643534534324238908f36ff4456454dfffff51311”,`\
`“outputidx” : 0,`\
`“netaddr” : “45.11.111.111:17464”,`\
`“addr” : “FB1NnSssudT8rPSvnHWeTR7v5qstmxeVNC”,`\
`“status” : 4,`\
`“message” : “Masternode successfully started”`\
`}`

**在钱包中启动masternode后，你也可以在区块浏览器检查masternode。**

要执行此操作，请使用鼠标（在上面的示例中）从终端窗口复制您的masternode钱包地址(上面的释例 `FB1NnSssudT8rPSvnHWeTR7v5qstmxeVNC`)，访问[FIX区块浏览器](https://explorer.fix.network/masternodes)的masternode部分，在masternodes列表搜索你的masternode地址。你的masternode状态应显示为“ACTIVE”。

{% hint style="info" %}
启动masternode后，其状态将按以下顺序更改：

"ACTIVE" --> 启动后约2-3小时

"EXPIRED" --> 只需几分钟

"REMOVE" --> 只需几分钟

"ENABLED" --> 最终masternode将保持此状态， "Active" 时间将开始增加

注意：若你的本地钱包中的masternode状态为“MISSING”，请检查其在[区块浏览器](https://explorer.fix.network/masternodes)中masternode的状态，它可能是EXPIRED / REMOVE。
{% endhint %}

{% hint style="danger" %}
不要着急！收到第一次masternode奖励后，之后再次获得奖励的时间要花**2倍到3倍**。\
如果从钱包再次启动masternode，此计时器将重置为零。
{% endhint %}

恭喜！你已成功创建了masternode。
