Hi 游客

更多精彩,请登录!

比特池塘 区块链技术 正文

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

123458268
93 0 0
如果您还没搭建私有网络,请参考之前的文章先行搭建。
; X% X5 g6 ]' F5 q% s; QPhoto by Markus Spiske on Unsplash
) ~2 h  X4 ]( [开始之前,我们需要先了解一下什么是智能合约。智能合约是函数式编码的集合(不是面向对象的),通过事务的形式写入区块链,然后由钱包调用。NEO的一个主要优势是它支持许多当前知名的程序语言,如C#,Python,Java ……文中我们使用Python语言进行讲解。! H+ ]2 j$ Y* F/ o8 F& I- x; ?
什么是NEP-5?与Ethereum的ERC20标准类似,NEP-5是一种Token标准协议,协议规定NEP-5 Token应该包括一些预定义的方法(name,symbol,balanceOf,transfer …)。与其他标准化系统一样,这使得开发数字钱包时更多的考虑用户偏好而不需要纠结Token本身,而智能合约开发者也不需要担心用户体验!2 U+ y) o3 p/ Q8 P
最后,谈论部署问题就不得不提到编译器!由于NEO节点不能识别Python,Java,C#等这样的高级语言,而能识别字节码,因此需要编译器将这些语言编译成字节码。我们使用的编译器是Neo-boa:将符合NEP-5标准的Python智能合约,编译转换为字节码或机器可读的代码。) {0 Q: G' j$ ?# N
工作流概述: 代码 -> 编译 -> 部署。下面就开始吧
  G- n5 k5 v8 J2 U) t5 Z/ y9 X/ V. |步骤1:创建钱包+ U/ E0 P0 Y6 J8 O3 e( i* U
在Ubuntu中打开neo-prompt, source venv/bin/activate , np-prompt -p ,输入命令:. A. Q3 u6 e0 H" l* N, y
create wallet testWallet1
+ i* U& s& s8 Z/ G( B! T# Z输入密码,长度不少于10个字符
- y9 I3 ?( r+ p) m) k, V& K步骤2:获取费用
* S7 s+ g) d  m; p
新创建的钱包里是没有GAS的(显然)……但是部署合约需要GAS。所幸网络提供了一个可导入的WIF /私钥,该私钥的钱包存有GAS。
* @3 j- N, a+ k6 F' ximport wif KxDgvEKzgSBPPfuVfw67oPQBSjidEiqTHURKSDL1R7yGaGYAeYnr* w* x9 z6 W) H# n. f- z
wallet rebuild/ i" q+ Y: m- j
* WIF可能随时变化,请参阅文档:https://hub.docker.com/r/cityofzion/neo-privatenet/6 x3 n9 m1 s0 T4 L
步骤3:从网络中下载NEP-5标准模版
' A0 v" o. R. i% }2 R假定您本地已经安装了git,打开一个新的终端:1 l$ \, Z. J5 b+ Q# _
:you may want to use the same base path as your neo-python install
2 v0 w3 D5 Y7 `  G4 Rcd 5 ^! F1 r9 q* r) ?; l
git clone https://github.com/neonexchange/neo-ico-template
' L: e9 a8 U  {( m步骤4:安装Neo-boa(编译器)* e0 \/ s% S$ I3 D4 p& ~; e0 a0 H
:you may want to use the same base path as your neo-python install" m9 `) ?; w) r9 _( q. i( \# S( i. d
cd - c; z: Z4 G8 M- ^  Q8 Z
git clone https://github.com/CityOfZion/neo-boa.git
& [; f6 E, P- x, d; acd neo-boa/
% R9 k" T: r# a4 f5 D# ?python3.6 -m venv venv6 }. s! A% X2 l/ Z
source venv/bin/activate
2 S+ k% [% Y* L% `! qpip install -r requirements.txt
8 Z; K* n- o. i. ^7 z: m3 @步骤5:编辑智能合约代码:获取钱包哈希值
; p1 |* Z+ M" t2 f5 ^7 e打开np-prompt控制台,输入wallet,将显示以下信息:
0 h" O& }) R- z. m4 k6 L' J' y
  G' O, O+ d- C+ @* e5 m% J$ v8 ]复制最上方的钱包哈希值,这里我的是b’\xc6\x04\x1c\x97\x15\xc1\xe4\x87/\xe5\xbf\xd4\t\xf5\xe1\sbd_>\scd\xf8′  L  t* r2 L* W1 m% p
使用文本编辑器打开文档/nex/token.py。将TOKEN_OWNER替换成你的钱包哈希值。" u; S5 Y8 B, }5 \' `0 Z
您还可以重命名变量TOKEN_NAME和TOKEN_SYMBOL。9 |2 Y. x3 a& M; z; q! n5 s
8 |  ^5 q' F- l, O3 e& o* U7 x: v
现在可以编译和部署您专属的NEP5智能合约了。9 y  d' @: T( L
非常感谢thomas saunders和NEX团队提供了一个这么优秀的智能合约模版。
BitMere.com 比特池塘系信息发布平台,比特池塘仅提供信息存储空间服务。
声明:该文观点仅代表作者本人,本文不代表比特池塘立场,且不构成建议,请谨慎对待。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

成为第一个吐槽的人

123458268 小学生
  • 粉丝

    0

  • 关注

    0

  • 主题

    1