Hi 游客

更多精彩,请登录!

比特池塘 区块链技术 正文

StepByStep 在AWS上搭建NEO私有链

博客园
150 0 0
部署自己的NEO私有链并在那里测试智能合约。要做到这一点,我们需要一个服务器…哪里比AWS网络服务更好呢!让我们开始吧!, f  m; T1 ?+ S; W1 R

1 ^& h5 q6 D: \, r- y1 s) ]/ S  @“Fans and wires on the back of a computer server” by Thomas Kvistholt on Unsplash9 k+ P  m" U) ]. z! ^
步骤1:从AWS启动EC2实例6 ?: L4 V4 ]% q6 [, h% h7 S/ f
登录您的AWS账户,单击服务> EC2>启动实例
  |% m) U  j6 J' G
2 K+ |; w2 a4 |- e# ^选择Amazon Linux 2 AMI
0 N8 F; S; {/ ~4 y( R选择t2.micro(免费!如果这是您的第一个也是唯一的实例)
3 H+ }6 h$ H% w$ C. f6 d! c 9 p0 |; ?( k1 y4 ?/ b
点击查看并启动>启动! 然后,你将遇到以下弹出窗口:- e+ a- o3 t4 x9 p

+ o2 ~3 U! B6 ?" ^/ y9 S如果这是你的第一个实例,请从下拉列表中选择“创建新密钥对”。为新密钥对命名>下载密钥对。然后发布!( B# v5 n$ X, a
步骤2:为SSH准备密钥对
5 J" G% X% b' s4 {+ H, ~/ v如果你还没有这样做,请在这里下载putty。https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html
3 }  S! @% }' C我们需要先将.pem文件转换为putty可以使用的东西(.ppk)。 转到Windows开始,搜索PuTTYgen。
9 |" |" f+ T9 k; c+ ~ 1 F' O: u: M! a" Q: k
打开后,单击“加载”>“下拉列表”以显示所有文件(*。*)>选择myfirstkeypair.pem。
, K/ ~8 ?) j* v  P5 q- u7 \% O单击“保存私钥”。
( W9 ]7 I, T( [2 y$ s3 J你确定要在没有密码的情况下保存此密钥吗? 是8 _) r5 y$ S# e
步骤3:找到您的公共实例的IP) s2 u6 c. J" \6 x. S0 @5 l0 |
你的实例现在应该启动并运行!返回AWS控制台,服务> EC2。单击Instances,你应该会看到以下内容:, Q( }6 y+ B$ X3 J: x

3 j" x# \( b% f1 |记下公共DNS(IPv4)和IPv4公共IP。% R* c  W' b  ?! v
步骤4:SSH时间!
3 k- Y/ L. g. R$ f! O* E启动PuTTY。 在类别下,连接> SSH>单击验证。 浏览你通过PuTTYgen生成的.ppk文件。% O  H/ O) x6 P  F

# j( y4 T  d; n$ i: y. q接下来回到Session。在主机名下,将步骤3中的服务器的公共DNS放入。在已保存的会话下,为你的服务器命名! 点击保存!
" W5 m. s- I; N/ q
9 ?$ M# p" {6 c4 M6 i点击打开!用户名:ec2-user
4 o) c4 o6 [" z- ?( \# |: X我们暂时学到这里。如果你是AWS网络服务的新手,那么AWS是一个非常重要的行业变革工具,我们只是触及了今天的表面。启动一个微型实例属于“免费套餐”,不应该花费你一毛钱!要小心:添加额外的基础设施(EBS卷,增加服务器大小……)将产生费用!, K; t) }" h$ ?

$ d% p$ v6 N4 {/ A: ]* s上周,我们创建了AWS的账户,部署了一个EC2 Linux实例,并了解了如何通过SSH登录该云服务器实例。通过使用Docker,我们将在刚创建的Linux AMI中部署一个私有的NEO网络。
4 N3 o2 V' B8 w3 ?' RDocker是什么?Docker是一个开源的应用容器引擎,它帮助我们运行镜像或程序包,这样我们不用去考虑NEO节点,网络,依赖包以及其他的一些预配置。所有的这些Docker镜像都帮我们实现了,我们只需下载后直接运行即可。
! F' ~$ u3 x2 ^下面花一点时间了解下我们特有的Docker镜像。该镜像包括4个NEO共识节点,这是运行NEO网络所需的最少节点数,节点间通过TCP协议使用30333-30336这一端口范围进行内部通信。通过设置AWS的安全组,开放测试网的通信端口范围(20331–20334)。9 P" y$ l) |$ J6 l
Citizen of Zion(CoZ)是与NEO合作的开源社区。感兴趣的可以查看他们的Docker镜像源码。(https://github.com/CityOfZion/neo-privatenet-docker
8 ?; ^% P9 N" m! H7 I通过SSH登录Amazon Linux云服务器实例后,下面我们将安装Docker。
1 s7 I4 X: _! p' K- r步骤1: 安装Docker  z3 N8 Y1 P! c
sudo yum update -y$ R6 Z1 N9 r, u5 O
sudo yum install -y docker( y% g: W- b" l- S6 b3 J
sudo service docker start! X5 C* a# x/ w/ N7 w$ P
sudo usermod -a -G docker ec2-user
: n$ y: {. U3 O$ A4 R# \步骤2: 查看并部署Docker NEO网络镜像- P7 o; r+ X* U4 `6 M6 J+ @4 o+ s
docker info #just a check- Q- f& }' n" e' a
docker pull cityofzion/neo-privatenet
4 Z4 x/ x1 W+ F! n9 P, `4 |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! K6 S8 V* U/ ~5 h" P
查看一下镜像程序是否在运行。docker ps* _6 V$ E( E- v( _* V4 I
/ ~) j% e6 K+ m+ V
步骤3: 将端口范围30331–30334添加到安全组
* D9 c2 u8 Z4 ~登录AWS控制台,Services > EC2. 点击网络&安全(NETWORK & SECURIT)栏下的安全组(Security Groups)。点击本实例安全组的编辑按钮,添加以下这些内网入方向规则:7 o4 S/ m# ~- \
6 k8 W/ _% {# O
*这些规则立即生效2 M# X" j& W7 e- v7 Q: D
步骤4: 使用neo-prompt连接1 v$ c  U' D( M" E+ d+ I
打开本地终端,输入:, w7 t5 Y. I4 z; x
ubuntu4 n8 g- U6 @) U
sudo -i
, |# ~. a2 [5 V. r& ?* ]5 ^/ ccd9 O2 D0 ?* _6 s0 U) c: N7 ?
source venv/bin/activate9 [6 b7 L: f9 W6 C
还记得之前文章提过的公网IP吗,将它填写到这里:
1 d  S" Y$ m! anp-prompt -p
0 J7 n8 w/ F8 ]6 T) s$ X很好,这些都做好了。: D- k6 P' e4 w+ ~9 \% Q# I' J0 n
额外命令:重启NEO区块链网络
4 F* y7 f* G" _) n5 t0 }' v! t- ?根据以往的经验,由于服务器内存的限制,镜像程序需要每周重启运行。 可以通过执行以下命令:
2 _, |) S7 \4 Y2 o; w+ p5 e. L/ ydocker stop neo-privatenet
+ X3 f8 K  r$ A; C/ R+ _然后通过NEO的CLI np-prompt(Ubuntu),输入以下命令:
+ U4 F# }7 F# S/ u2 f/ ~% ~/ Frm -rf /root/.neopython/Chains/
BitMere.com 比特池塘系信息发布平台,比特池塘仅提供信息存储空间服务。
声明:该文观点仅代表作者本人,本文不代表比特池塘立场,且不构成建议,请谨慎对待。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

成为第一个吐槽的人

博客园 初中生
  • 粉丝

    2

  • 关注

    4

  • 主题

    10