Hi 游客

更多精彩,请登录!

比特池塘 区块链技术 正文

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

123458268
94 0 0
如果您还没搭建私有网络,请参考之前的文章先行搭建。+ M3 w* R& Z+ I# @. j
Photo by Markus Spiske on Unsplash5 }2 L' [9 F' m% c  G
开始之前,我们需要先了解一下什么是智能合约。智能合约是函数式编码的集合(不是面向对象的),通过事务的形式写入区块链,然后由钱包调用。NEO的一个主要优势是它支持许多当前知名的程序语言,如C#,Python,Java ……文中我们使用Python语言进行讲解。
  s& m$ L1 M* N9 _! J8 _什么是NEP-5?与Ethereum的ERC20标准类似,NEP-5是一种Token标准协议,协议规定NEP-5 Token应该包括一些预定义的方法(name,symbol,balanceOf,transfer …)。与其他标准化系统一样,这使得开发数字钱包时更多的考虑用户偏好而不需要纠结Token本身,而智能合约开发者也不需要担心用户体验!
" @$ r9 A  t; E+ |# [% P0 E最后,谈论部署问题就不得不提到编译器!由于NEO节点不能识别Python,Java,C#等这样的高级语言,而能识别字节码,因此需要编译器将这些语言编译成字节码。我们使用的编译器是Neo-boa:将符合NEP-5标准的Python智能合约,编译转换为字节码或机器可读的代码。3 i, `2 z$ L0 m3 w8 x0 S& O, Y
工作流概述: 代码 -> 编译 -> 部署。下面就开始吧; a. ~4 Z, n( ]3 ^4 d
步骤1:创建钱包
0 o* ~% A% n9 r7 Z. {- v在Ubuntu中打开neo-prompt, source venv/bin/activate , np-prompt -p ,输入命令:9 w  Q* R! G9 ]' d5 V$ r8 D
create wallet testWallet1
6 J0 d' Q+ W3 H, Y# S' s, R输入密码,长度不少于10个字符
. N5 ~8 f+ f9 a6 q8 \步骤2:获取费用

) e; w0 t2 L3 Q3 c4 g( U新创建的钱包里是没有GAS的(显然)……但是部署合约需要GAS。所幸网络提供了一个可导入的WIF /私钥,该私钥的钱包存有GAS。5 {- [  |0 Z% d
import wif KxDgvEKzgSBPPfuVfw67oPQBSjidEiqTHURKSDL1R7yGaGYAeYnr
9 [) z; K; x7 ?- gwallet rebuild
! l0 h: W8 b8 k0 q8 i% I1 r* WIF可能随时变化,请参阅文档:https://hub.docker.com/r/cityofzion/neo-privatenet/
, \6 Q9 ?. E* A$ v" k8 a步骤3:从网络中下载NEP-5标准模版
0 ]0 v4 E, V, J! @! D& |' K; h" x假定您本地已经安装了git,打开一个新的终端:
* G) \% }" r  Z6 M/ e9 ~:you may want to use the same base path as your neo-python install
) C* {8 E4 ]/ v5 icd $ J& R. R+ v& M5 L
git clone https://github.com/neonexchange/neo-ico-template
5 [3 v- k+ p0 m/ i步骤4:安装Neo-boa(编译器)
8 }  d* l, P' T# Z1 L:you may want to use the same base path as your neo-python install
0 [  y. ~( F! _6 j( qcd
7 H( `( o: L, [% j+ \2 W/ i) Kgit clone https://github.com/CityOfZion/neo-boa.git
, @$ r3 Q3 _* H9 S  \/ x1 Icd neo-boa/( r% M4 y+ `- c
python3.6 -m venv venv
* H) _! ]* B9 g5 i3 r1 n# A" Fsource venv/bin/activate
) f4 w9 Q5 n5 Y% jpip install -r requirements.txt
& I! v& T% v- ^: \; ~步骤5:编辑智能合约代码:获取钱包哈希值% R" U& F$ ~/ v: W* z! t
打开np-prompt控制台,输入wallet,将显示以下信息:
# U. u1 E& a* L3 ~
, E& c6 C1 a6 h- I% T& X! G1 t8 x复制最上方的钱包哈希值,这里我的是b’\xc6\x04\x1c\x97\x15\xc1\xe4\x87/\xe5\xbf\xd4\t\xf5\xe1\sbd_>\scd\xf8′
+ }  S: _( M/ H6 E4 C, Y使用文本编辑器打开文档/nex/token.py。将TOKEN_OWNER替换成你的钱包哈希值。# o! I; V9 a/ K# o- s5 v
您还可以重命名变量TOKEN_NAME和TOKEN_SYMBOL。
' Y* b0 ^; M+ F# [( O
) v  U3 s; T& e+ a" T现在可以编译和部署您专属的NEP5智能合约了。
. P5 ?  A! w/ v$ C8 `% A非常感谢thomas saunders和NEX团队提供了一个这么优秀的智能合约模版。
BitMere.com 比特池塘系信息发布平台,比特池塘仅提供信息存储空间服务。
声明:该文观点仅代表作者本人,本文不代表比特池塘立场,且不构成建议,请谨慎对待。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

成为第一个吐槽的人

123458268 小学生
  • 粉丝

    0

  • 关注

    0

  • 主题

    1