Hi 游客

更多精彩,请登录!

比特池塘 区块链技术 正文

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

123458268
149 0 0
如果您还没搭建私有网络,请参考之前的文章先行搭建。' m9 v+ C6 H9 S; |  |
Photo by Markus Spiske on Unsplash/ j5 \  |8 }$ q1 G0 J  I
开始之前,我们需要先了解一下什么是智能合约。智能合约是函数式编码的集合(不是面向对象的),通过事务的形式写入区块链,然后由钱包调用。NEO的一个主要优势是它支持许多当前知名的程序语言,如C#,Python,Java ……文中我们使用Python语言进行讲解。1 }5 }' ]; n, f3 k) h/ w8 a: m
什么是NEP-5?与Ethereum的ERC20标准类似,NEP-5是一种Token标准协议,协议规定NEP-5 Token应该包括一些预定义的方法(name,symbol,balanceOf,transfer …)。与其他标准化系统一样,这使得开发数字钱包时更多的考虑用户偏好而不需要纠结Token本身,而智能合约开发者也不需要担心用户体验!
7 l$ A- T8 ^$ U( S! }( Z最后,谈论部署问题就不得不提到编译器!由于NEO节点不能识别Python,Java,C#等这样的高级语言,而能识别字节码,因此需要编译器将这些语言编译成字节码。我们使用的编译器是Neo-boa:将符合NEP-5标准的Python智能合约,编译转换为字节码或机器可读的代码。
) H5 {, O2 ?3 I* U) ^6 Z工作流概述: 代码 -> 编译 -> 部署。下面就开始吧
* t/ d2 u  X: ^( }& _步骤1:创建钱包
: \+ H, P( X0 Z1 p. p$ b2 ~" O5 ]在Ubuntu中打开neo-prompt, source venv/bin/activate , np-prompt -p ,输入命令:  i1 L0 \. |% l: e2 V8 E; f
create wallet testWallet1) y  V6 p. ?+ ?
输入密码,长度不少于10个字符5 c; v: x9 c# k2 R
步骤2:获取费用

* T9 E3 N- S4 Z8 v( M# f新创建的钱包里是没有GAS的(显然)……但是部署合约需要GAS。所幸网络提供了一个可导入的WIF /私钥,该私钥的钱包存有GAS。# A+ Z, B1 h; o* a2 Z
import wif KxDgvEKzgSBPPfuVfw67oPQBSjidEiqTHURKSDL1R7yGaGYAeYnr3 V9 T8 {3 `4 l0 @% M
wallet rebuild
" H; T+ M" b& l8 O4 x2 w* WIF可能随时变化,请参阅文档:https://hub.docker.com/r/cityofzion/neo-privatenet/
1 N. D# o% f8 r- G步骤3:从网络中下载NEP-5标准模版
  v: h, l1 a% R( k0 A假定您本地已经安装了git,打开一个新的终端:6 O, }1 H* P9 a# m7 \) c  Y
:you may want to use the same base path as your neo-python install8 H) N5 X" `9 x: h/ R
cd # B1 }/ `' C0 j: L7 @
git clone https://github.com/neonexchange/neo-ico-template. h1 Y, u$ ^9 H. v( d' W  w
步骤4:安装Neo-boa(编译器)
/ k0 e7 B4 x# A:you may want to use the same base path as your neo-python install' @; n( z' O$ z) e
cd 9 H  y- m/ k3 ]% ^) ]9 G: B0 P
git clone https://github.com/CityOfZion/neo-boa.git
- u& D) p/ w2 i  x6 R& icd neo-boa/% l& [% T: z# f: V% A7 F
python3.6 -m venv venv" J: v! C  h% I' g- W1 {6 D
source venv/bin/activate
* c$ @' N  L' X+ B: Y; ]; Qpip install -r requirements.txt' k. z# g* q/ V1 R
步骤5:编辑智能合约代码:获取钱包哈希值
; b, E* o  t" w# T# }3 F打开np-prompt控制台,输入wallet,将显示以下信息:
8 {$ Z6 W" Q1 }% ^" L5 a/ z0 o+ h 1 J( H. a/ a9 `! p! [+ j: h6 U& B
复制最上方的钱包哈希值,这里我的是b’\xc6\x04\x1c\x97\x15\xc1\xe4\x87/\xe5\xbf\xd4\t\xf5\xe1\sbd_>\scd\xf8′. L$ l0 O/ H7 J3 C
使用文本编辑器打开文档/nex/token.py。将TOKEN_OWNER替换成你的钱包哈希值。
2 T; W9 _& J* @6 Z8 J0 e/ V您还可以重命名变量TOKEN_NAME和TOKEN_SYMBOL。* H, L5 [7 x+ g. o* @& v1 A7 g( T

* {% r& h) @5 [* D6 T现在可以编译和部署您专属的NEP5智能合约了。6 _- J3 l$ |+ {
非常感谢thomas saunders和NEX团队提供了一个这么优秀的智能合约模版。
BitMere.com 比特池塘系信息发布平台,比特池塘仅提供信息存储空间服务。
声明:该文观点仅代表作者本人,本文不代表比特池塘立场,且不构成建议,请谨慎对待。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

成为第一个吐槽的人

123458268 小学生
  • 粉丝

    0

  • 关注

    0

  • 主题

    1