在AWS上搭建NEO私有链(2)

上周,我们创建了AWS的账户,部署了一个EC2 Linux实例,并了解了如何通过SSH登录该云服务器实例。通过使用Docker,我们将在刚创建的Linux AMI中部署一个私有的NEO网络。

Docker是什么?Docker是一个开源的应用容器引擎,它帮助我们运行镜像或程序包,这样我们不用去考虑NEO节点,网络,依赖包以及其他的一些预配置。所有的这些Docker镜像都帮我们实现了,我们只需下载后直接运行即可。

下面花一点时间了解下我们特有的Docker镜像。该镜像包括4个NEO共识节点,这是运行NEO网络所需的最少节点数,节点间通过TCP协议使用30333-30336这一端口范围进行内部通信。通过设置AWS的安全组,开放测试网的通信端口范围(20331–20334)。

Citizen of Zion(CoZ)是与NEO合作的开源社区。感兴趣的可以查看他们的Docker镜像源码。(https://github.com/CityOfZion/neo-privatenet-docker

通过SSH登录Amazon Linux云服务器实例后,下面我们将安装Docker。

步骤1: 安装Docker

sudo yum update -y
sudo yum install -y docker
sudo service docker start
sudo usermod -a -G docker ec2-user

步骤2: 查看并部署Docker NEO网络镜像

docker info #just a check
docker pull cityofzion/neo-privatenet

docker run --rm -d --name neo-privatenet --expose=20331-20334 --expose=30333-30336 -p 20333-20336:20333-20336/tcp -p 30333-30336:30333-30336/tcp cityofzion/neo-privatenet

查看一下镜像程序是否在运行。docker ps

步骤3: 将端口范围30331–30334添加到安全组

登录AWS控制台,Services > EC2. 点击网络&安全(NETWORK & SECURIT)栏下的安全组(Security Groups)。点击本实例安全组的编辑按钮,添加以下这些内网入方向规则:

*这些规则立即生效

步骤4: 使用neo-prompt连接

打开本地终端,输入:

ubuntu
sudo -i
cd <location of neo-python>
source venv/bin/activate

还记得之前文章提过的公网IP吗,将它填写到这里:

np-prompt -p <server IP>

很好,这些都做好了。

额外命令:重启NEO区块链网络

根据以往的经验,由于服务器内存的限制,镜像程序需要每周重启运行。 可以通过执行以下命令:

docker stop neo-privatenet

然后通过NEO的CLI np-prompt(Ubuntu),输入以下命令:

rm -rf /root/.neopython/Chains/

下一篇:部署NEP-5智能合约(1)

翻译:包子

原文链接:https://hackernoon.com/building-your-private-neo-network-on-aws-part-2-4dc975744bf8


NEOFANS 微博:https://www.weibo.com/neofanscommunity

NEOFANS Telegram群:t.me/NEOfansCN

发表评论

Top