Hi 游客

更多精彩,请登录!

比特池塘 区块链技术 正文

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

123458268
155 0 0
如果您还没搭建私有网络,请参考之前的文章先行搭建。9 _7 N# t; _# a' V3 O6 O& H
Photo by Markus Spiske on Unsplash
8 ~, k( o% ?" }- ~8 L0 A开始之前,我们需要先了解一下什么是智能合约。智能合约是函数式编码的集合(不是面向对象的),通过事务的形式写入区块链,然后由钱包调用。NEO的一个主要优势是它支持许多当前知名的程序语言,如C#,Python,Java ……文中我们使用Python语言进行讲解。7 l8 T1 a, E  o9 s& Z( t% B" o2 v
什么是NEP-5?与Ethereum的ERC20标准类似,NEP-5是一种Token标准协议,协议规定NEP-5 Token应该包括一些预定义的方法(name,symbol,balanceOf,transfer …)。与其他标准化系统一样,这使得开发数字钱包时更多的考虑用户偏好而不需要纠结Token本身,而智能合约开发者也不需要担心用户体验!
# j; \6 _( o0 h- g3 ?3 N# Q最后,谈论部署问题就不得不提到编译器!由于NEO节点不能识别Python,Java,C#等这样的高级语言,而能识别字节码,因此需要编译器将这些语言编译成字节码。我们使用的编译器是Neo-boa:将符合NEP-5标准的Python智能合约,编译转换为字节码或机器可读的代码。
5 U# q! r7 ?5 R2 I* _7 r工作流概述: 代码 -> 编译 -> 部署。下面就开始吧
1 n% Z+ \1 P# ^: }9 A步骤1:创建钱包  o! f5 @- p. l7 u7 @7 I: ?
在Ubuntu中打开neo-prompt, source venv/bin/activate , np-prompt -p ,输入命令:- O+ E. Q1 r; h. s# }  j. I( |
create wallet testWallet1/ N4 q- D! Q# c. S, [5 G) U; i
输入密码,长度不少于10个字符
8 I1 R/ n9 R1 v5 }2 o步骤2:获取费用
# R0 G+ @! ]6 L" U6 N& ?0 z
新创建的钱包里是没有GAS的(显然)……但是部署合约需要GAS。所幸网络提供了一个可导入的WIF /私钥,该私钥的钱包存有GAS。
1 j8 r6 J% d6 `# F$ F3 h+ [import wif KxDgvEKzgSBPPfuVfw67oPQBSjidEiqTHURKSDL1R7yGaGYAeYnr
0 T# t6 M( P! ^! Q/ o4 B, b1 rwallet rebuild
* j" I8 @; p( w, f" h* WIF可能随时变化,请参阅文档:https://hub.docker.com/r/cityofzion/neo-privatenet/8 O) n! d4 b" Y
步骤3:从网络中下载NEP-5标准模版0 l: D& n) G* N( ^( ?! h4 p" x- z8 ?- b
假定您本地已经安装了git,打开一个新的终端:# G/ [: g9 R6 S) E
:you may want to use the same base path as your neo-python install
+ D$ ?. o6 z* Q. J, C$ v. m$ \' bcd - U6 i! u7 G: ]
git clone https://github.com/neonexchange/neo-ico-template
; t1 v' j0 E# e2 U6 t0 ~步骤4:安装Neo-boa(编译器)+ j6 D( N/ {6 T/ a) @
:you may want to use the same base path as your neo-python install
# G9 z8 c( R, M' q$ j# o5 acd
4 n  H; g2 K! }! n3 `& x. {8 ^git clone https://github.com/CityOfZion/neo-boa.git
9 d. K2 g2 g; E0 I. n, Qcd neo-boa/+ [% A0 q/ I% i9 T% h5 V& m) L
python3.6 -m venv venv
5 c7 j8 T( O$ w0 q" }/ I& Gsource venv/bin/activate8 t! Q; p- n+ p& r! {
pip install -r requirements.txt) J0 o  u  G7 `  V
步骤5:编辑智能合约代码:获取钱包哈希值$ J" _& Z5 F# q& }4 p
打开np-prompt控制台,输入wallet,将显示以下信息:0 c& i# ?  C5 k
+ ?  ^9 i# u- ?, u
复制最上方的钱包哈希值,这里我的是b’\xc6\x04\x1c\x97\x15\xc1\xe4\x87/\xe5\xbf\xd4\t\xf5\xe1\sbd_>\scd\xf8′$ Y0 U  s# L9 a( {5 o9 {+ i
使用文本编辑器打开文档/nex/token.py。将TOKEN_OWNER替换成你的钱包哈希值。
  y, |, j6 I0 H$ J1 M( C: B您还可以重命名变量TOKEN_NAME和TOKEN_SYMBOL。
3 R4 i% `' r2 ~7 d- y0 ? % L, y; l2 _, f/ s: E8 u
现在可以编译和部署您专属的NEP5智能合约了。
, O1 J& c- K  F  x2 ]非常感谢thomas saunders和NEX团队提供了一个这么优秀的智能合约模版。
BitMere.com 比特池塘系信息发布平台,比特池塘仅提供信息存储空间服务。
声明:该文观点仅代表作者本人,本文不代表比特池塘立场,且不构成建议,请谨慎对待。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

成为第一个吐槽的人

123458268 小学生
  • 粉丝

    0

  • 关注

    0

  • 主题

    1