Hi 游客

更多精彩,请登录!

比特池塘 区块链技术 正文

只需要5个步骤:部署NEP-5智能合约

123458268
146 0 0
如果您还没搭建私有网络,请参考之前的文章先行搭建。3 C, E8 M1 Z' {0 I& ~
Photo by Markus Spiske on Unsplash( W. M+ P3 y% k  S. l1 `7 @  _" p% s
开始之前,我们需要先了解一下什么是智能合约。智能合约是函数式编码的集合(不是面向对象的),通过事务的形式写入区块链,然后由钱包调用。NEO的一个主要优势是它支持许多当前知名的程序语言,如C#,Python,Java ……文中我们使用Python语言进行讲解。% P9 X3 z# g# l: z3 K6 ^- O4 d
什么是NEP-5?与Ethereum的ERC20标准类似,NEP-5是一种Token标准协议,协议规定NEP-5 Token应该包括一些预定义的方法(name,symbol,balanceOf,transfer …)。与其他标准化系统一样,这使得开发数字钱包时更多的考虑用户偏好而不需要纠结Token本身,而智能合约开发者也不需要担心用户体验!6 Q! S  R  s( @5 J7 j, Z9 @
最后,谈论部署问题就不得不提到编译器!由于NEO节点不能识别Python,Java,C#等这样的高级语言,而能识别字节码,因此需要编译器将这些语言编译成字节码。我们使用的编译器是Neo-boa:将符合NEP-5标准的Python智能合约,编译转换为字节码或机器可读的代码。
# p7 K% e$ T& P" _工作流概述: 代码 -> 编译 -> 部署。下面就开始吧
8 E- n. `5 c" P! h步骤1:创建钱包
' ^) Q5 \9 n: O$ {( Z  k+ M在Ubuntu中打开neo-prompt, source venv/bin/activate , np-prompt -p ,输入命令:
. \5 Y: y9 b- A2 d4 ]create wallet testWallet1- s! o0 I  x8 S
输入密码,长度不少于10个字符
0 v8 N1 h0 O6 K$ \9 A$ x; C步骤2:获取费用

/ f! h* k0 U1 d* p6 l新创建的钱包里是没有GAS的(显然)……但是部署合约需要GAS。所幸网络提供了一个可导入的WIF /私钥,该私钥的钱包存有GAS。
& Y; C1 I1 q( ~- J- h8 r. I% Himport wif KxDgvEKzgSBPPfuVfw67oPQBSjidEiqTHURKSDL1R7yGaGYAeYnr
4 g- t- q. E5 t6 _wallet rebuild' M! k  `8 `. @! h5 S6 H6 g
* WIF可能随时变化,请参阅文档:https://hub.docker.com/r/cityofzion/neo-privatenet/
) }* w; H  p0 G7 `3 ^步骤3:从网络中下载NEP-5标准模版: d8 r7 h4 x* G" e/ Y1 `' g
假定您本地已经安装了git,打开一个新的终端:
  M% b; N; x+ j7 I0 N* G1 n5 ?7 \1 p) @3 k:you may want to use the same base path as your neo-python install. i5 ~+ Z3 r+ l7 T, b
cd
9 O: w2 N# f/ {/ P$ @5 ^/ ~$ Rgit clone https://github.com/neonexchange/neo-ico-template# r5 }0 ~% m( j' b1 F
步骤4:安装Neo-boa(编译器)9 P1 W- X# w5 |& i  k5 ?
:you may want to use the same base path as your neo-python install4 Y; r% {4 N! v$ A
cd ) x, b* i. X" I: _. ~
git clone https://github.com/CityOfZion/neo-boa.git
' S% \2 @( f) h+ h: n0 R0 ]cd neo-boa/
3 F4 d. Y/ j# y+ o7 X6 _& Bpython3.6 -m venv venv& N+ X! R$ \" R8 I% [
source venv/bin/activate
+ `9 i" z. x3 ~/ y$ y% ^pip install -r requirements.txt
! E" B7 O9 c& _  n# o步骤5:编辑智能合约代码:获取钱包哈希值, U' t8 U% L" y9 |. y! W
打开np-prompt控制台,输入wallet,将显示以下信息:  B8 @' i" N' N$ B8 \4 _1 V

3 p* m" Y; m$ X7 m; q3 g% [复制最上方的钱包哈希值,这里我的是b’\xc6\x04\x1c\x97\x15\xc1\xe4\x87/\xe5\xbf\xd4\t\xf5\xe1\sbd_>\scd\xf8′
- Q0 C/ _0 {" c使用文本编辑器打开文档/nex/token.py。将TOKEN_OWNER替换成你的钱包哈希值。
2 M7 }. R3 ?% m3 D7 Q您还可以重命名变量TOKEN_NAME和TOKEN_SYMBOL。) M- ?, ~$ M9 v- ^, {4 d; U5 p; ~

# O9 Q; h. a) F7 {" w现在可以编译和部署您专属的NEP5智能合约了。
, B3 I) b  s( t2 Z. n2 P4 A- D4 c2 s非常感谢thomas saunders和NEX团队提供了一个这么优秀的智能合约模版。
BitMere.com 比特池塘系信息发布平台,比特池塘仅提供信息存储空间服务。
声明:该文观点仅代表作者本人,本文不代表比特池塘立场,且不构成建议,请谨慎对待。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

成为第一个吐槽的人

123458268 小学生
  • 粉丝

    0

  • 关注

    0

  • 主题

    1