Hi 游客

更多精彩,请登录!

比特池塘 区块链技术 正文

StepByStep 在AWS上搭建NEO私有链

博客园
97 0 0
部署自己的NEO私有链并在那里测试智能合约。要做到这一点,我们需要一个服务器…哪里比AWS网络服务更好呢!让我们开始吧!4 q( t- e0 r& B
1 B% x; O- c+ B6 N- j
“Fans and wires on the back of a computer server” by Thomas Kvistholt on Unsplash6 k* U  w; D0 A+ W2 [
步骤1:从AWS启动EC2实例( C- I2 C' N! E$ }8 }* Y$ [8 C
登录您的AWS账户,单击服务> EC2>启动实例
, j9 H/ L  D. {- E * s6 l4 A, w$ A- C
选择Amazon Linux 2 AMI6 o' T" j3 }' U1 P" S& Z9 X
选择t2.micro(免费!如果这是您的第一个也是唯一的实例)
& d9 d; K8 ], h- d4 c- S
$ q0 t6 S3 m- i# Y! X点击查看并启动>启动! 然后,你将遇到以下弹出窗口:8 E7 Q1 H5 H& q7 b0 B4 |6 @

# t- Z" p' Y" V5 ^7 s8 o- M9 L! Y如果这是你的第一个实例,请从下拉列表中选择“创建新密钥对”。为新密钥对命名>下载密钥对。然后发布!: G& R- Z& f1 M# i' w7 @) C
步骤2:为SSH准备密钥对
) x. [' f# i7 v如果你还没有这样做,请在这里下载putty。https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html; K+ f+ b4 i, \) X8 m$ T9 b3 V
我们需要先将.pem文件转换为putty可以使用的东西(.ppk)。 转到Windows开始,搜索PuTTYgen。
' g! F% M1 K5 d$ [3 X- { 3 D" g; r) N. J+ g: P8 ]5 w
打开后,单击“加载”>“下拉列表”以显示所有文件(*。*)>选择myfirstkeypair.pem。
% Z! K2 R% I* N, x4 d; d3 N单击“保存私钥”。
3 q5 W7 X9 i9 x( f6 m* x你确定要在没有密码的情况下保存此密钥吗? 是
, c, q/ n8 d& M, C$ j6 R) ]0 H步骤3:找到您的公共实例的IP6 D9 l! S8 x1 {( O. ~& h
你的实例现在应该启动并运行!返回AWS控制台,服务> EC2。单击Instances,你应该会看到以下内容:$ D+ `  N0 x$ n" ?6 A5 Z

2 B& @. l) V' c0 _* p9 Y记下公共DNS(IPv4)和IPv4公共IP。, Y( b6 R: C6 n3 b
步骤4:SSH时间!
5 m$ T) y( d& _' l; U启动PuTTY。 在类别下,连接> SSH>单击验证。 浏览你通过PuTTYgen生成的.ppk文件。" ^7 P4 }7 N5 S) C) ^6 Q- F9 I
4 K7 i+ @- x- n6 {5 X+ Z
接下来回到Session。在主机名下,将步骤3中的服务器的公共DNS放入。在已保存的会话下,为你的服务器命名! 点击保存!; N8 ^  {9 w  s( k( @4 ]$ J( _. V3 Q
- E" Z* Z* K  M- n
点击打开!用户名:ec2-user% H# g' H' u7 _2 H! G$ W
我们暂时学到这里。如果你是AWS网络服务的新手,那么AWS是一个非常重要的行业变革工具,我们只是触及了今天的表面。启动一个微型实例属于“免费套餐”,不应该花费你一毛钱!要小心:添加额外的基础设施(EBS卷,增加服务器大小……)将产生费用!1 b9 F7 v; I) }' u9 m( h- z
/ t7 M2 b4 k3 o' ^& u; k3 m
上周,我们创建了AWS的账户,部署了一个EC2 Linux实例,并了解了如何通过SSH登录该云服务器实例。通过使用Docker,我们将在刚创建的Linux AMI中部署一个私有的NEO网络。
# V1 R) ]- L8 a: j2 H* ^Docker是什么?Docker是一个开源的应用容器引擎,它帮助我们运行镜像或程序包,这样我们不用去考虑NEO节点,网络,依赖包以及其他的一些预配置。所有的这些Docker镜像都帮我们实现了,我们只需下载后直接运行即可。
: c2 W" b4 r3 Y* P7 z; i$ _2 ]( M1 I下面花一点时间了解下我们特有的Docker镜像。该镜像包括4个NEO共识节点,这是运行NEO网络所需的最少节点数,节点间通过TCP协议使用30333-30336这一端口范围进行内部通信。通过设置AWS的安全组,开放测试网的通信端口范围(20331–20334)。
, w! G6 I+ h; W( w  hCitizen of Zion(CoZ)是与NEO合作的开源社区。感兴趣的可以查看他们的Docker镜像源码。(https://github.com/CityOfZion/neo-privatenet-docker
) P) e( }  t6 W: t+ ]  X/ p, p7 k通过SSH登录Amazon Linux云服务器实例后,下面我们将安装Docker。
1 b) o# S" n5 n+ g; K步骤1: 安装Docker
- K# ]0 H* m. Q0 }, b/ x, Vsudo yum update -y
3 u3 _# i! F2 w( [) U1 dsudo yum install -y docker
  @; ^% b) v" h* c" g+ ?0 n; fsudo service docker start' u; y* L7 l! t9 H. y
sudo usermod -a -G docker ec2-user
# w% B* j5 R0 g( m步骤2: 查看并部署Docker NEO网络镜像* x7 K- F( P( n  C% }7 q
docker info #just a check
( {+ g; M- S6 s  y  K7 H0 Idocker pull cityofzion/neo-privatenet
' ^" F; _9 K6 V* Cdocker 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# m/ E+ ~! \& A) |- c- O% Z
查看一下镜像程序是否在运行。docker ps/ i) l. r" J% x8 ^5 `) x/ j

; l" c: s5 N( R1 t2 K, X步骤3: 将端口范围30331–30334添加到安全组
% x" X- u; W- q* x4 j登录AWS控制台,Services > EC2. 点击网络&安全(NETWORK & SECURIT)栏下的安全组(Security Groups)。点击本实例安全组的编辑按钮,添加以下这些内网入方向规则:3 N8 T: h1 m4 f' O( Y, B" G/ L
4 I) H# _, E" U4 |+ z
*这些规则立即生效
6 F$ L; n2 F5 x+ x步骤4: 使用neo-prompt连接8 P% x$ Q( N: f
打开本地终端,输入:& P  R- l. B" \. X
ubuntu# w# w/ c6 e9 I* P
sudo -i/ u: Q6 j/ g' D; a9 F3 \8 a
cd- V8 H8 f/ b' z  |1 d& ?
source venv/bin/activate- k2 E; j# |! V; ~
还记得之前文章提过的公网IP吗,将它填写到这里:0 |9 T2 i0 _  o
np-prompt -p4 P, H- g  k5 j2 L: c6 e( F
很好,这些都做好了。  |, w# z4 [9 W  h
额外命令:重启NEO区块链网络
% W- f/ n1 c4 }: ]根据以往的经验,由于服务器内存的限制,镜像程序需要每周重启运行。 可以通过执行以下命令:
) G' `& G3 \! ydocker stop neo-privatenet5 \: E% j( b4 p, I& u. U, [
然后通过NEO的CLI np-prompt(Ubuntu),输入以下命令:
# V6 V- R/ m! g5 A1 G2 hrm -rf /root/.neopython/Chains/
BitMere.com 比特池塘系信息发布平台,比特池塘仅提供信息存储空间服务。
声明:该文观点仅代表作者本人,本文不代表比特池塘立场,且不构成建议,请谨慎对待。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

成为第一个吐槽的人

博客园 初中生
  • 粉丝

    2

  • 关注

    4

  • 主题

    10