Hi 游客

更多精彩,请登录!

比特池塘 区块链技术 正文

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

123458268
113 0 0
如果您还没搭建私有网络,请参考之前的文章先行搭建。4 F4 R. L6 N& ^; _6 M& e6 G
Photo by Markus Spiske on Unsplash
) C# |* B/ g- q/ r' \开始之前,我们需要先了解一下什么是智能合约。智能合约是函数式编码的集合(不是面向对象的),通过事务的形式写入区块链,然后由钱包调用。NEO的一个主要优势是它支持许多当前知名的程序语言,如C#,Python,Java ……文中我们使用Python语言进行讲解。
. `  I& S, M) K& d: Q什么是NEP-5?与Ethereum的ERC20标准类似,NEP-5是一种Token标准协议,协议规定NEP-5 Token应该包括一些预定义的方法(name,symbol,balanceOf,transfer …)。与其他标准化系统一样,这使得开发数字钱包时更多的考虑用户偏好而不需要纠结Token本身,而智能合约开发者也不需要担心用户体验!
$ F! l0 R; {$ a最后,谈论部署问题就不得不提到编译器!由于NEO节点不能识别Python,Java,C#等这样的高级语言,而能识别字节码,因此需要编译器将这些语言编译成字节码。我们使用的编译器是Neo-boa:将符合NEP-5标准的Python智能合约,编译转换为字节码或机器可读的代码。6 }3 ?  S' q8 v
工作流概述: 代码 -> 编译 -> 部署。下面就开始吧
# i( B' n, f7 t$ x0 ^- W步骤1:创建钱包# _9 h5 l/ s& y( i4 P& Y+ H" c
在Ubuntu中打开neo-prompt, source venv/bin/activate , np-prompt -p ,输入命令:2 E/ Y% A( m9 {3 t& s
create wallet testWallet19 t1 e9 e! J: e' B0 P# [6 A8 y4 S* ?
输入密码,长度不少于10个字符+ H% G& C7 [8 t$ N
步骤2:获取费用
3 V6 d/ Z0 x* G- X7 y
新创建的钱包里是没有GAS的(显然)……但是部署合约需要GAS。所幸网络提供了一个可导入的WIF /私钥,该私钥的钱包存有GAS。
6 `. f5 K4 R/ g* W9 u6 }8 l1 E& rimport wif KxDgvEKzgSBPPfuVfw67oPQBSjidEiqTHURKSDL1R7yGaGYAeYnr
5 [0 j7 {$ _& i' g3 y- _! Bwallet rebuild+ U1 |7 M4 F" J7 U' u1 R+ Q
* WIF可能随时变化,请参阅文档:https://hub.docker.com/r/cityofzion/neo-privatenet/
9 [$ O3 n/ P3 d步骤3:从网络中下载NEP-5标准模版0 n" m: \/ f3 y& v+ \% {6 @$ f
假定您本地已经安装了git,打开一个新的终端:+ J! d# r4 O0 l: F
:you may want to use the same base path as your neo-python install. X. ~, x- U+ [! V0 J' k# w
cd ) ?5 }2 \0 R6 @0 k
git clone https://github.com/neonexchange/neo-ico-template
0 _, l: L8 ~1 }) h7 C步骤4:安装Neo-boa(编译器)' D' _$ X! G- _! c, g; H
:you may want to use the same base path as your neo-python install9 D  m# L* N8 ~/ T8 w, E; p
cd
6 }4 c0 x' J- Z1 h7 pgit clone https://github.com/CityOfZion/neo-boa.git* \! x3 a4 V7 Y% T8 m
cd neo-boa/7 H" c9 E$ a3 i, q2 V
python3.6 -m venv venv
$ H4 Z1 b0 }; Y* Vsource venv/bin/activate3 t( p5 |8 u/ g2 ?, I/ J- t
pip install -r requirements.txt2 P8 ^+ w' g6 Y& E7 x  u
步骤5:编辑智能合约代码:获取钱包哈希值
6 D+ f3 x4 F$ h3 n# o+ O打开np-prompt控制台,输入wallet,将显示以下信息:
  H' a% h; G; H+ e+ D 5 J) \8 ~; ?1 V% D# K* E3 D8 b
复制最上方的钱包哈希值,这里我的是b’\xc6\x04\x1c\x97\x15\xc1\xe4\x87/\xe5\xbf\xd4\t\xf5\xe1\sbd_>\scd\xf8′+ S% E) O3 @* b
使用文本编辑器打开文档/nex/token.py。将TOKEN_OWNER替换成你的钱包哈希值。; y5 K$ L8 J& s; f6 n" r, y% D
您还可以重命名变量TOKEN_NAME和TOKEN_SYMBOL。% y8 [4 ~% h1 G( V
4 Q) ~2 P) U- e3 J. Z9 q
现在可以编译和部署您专属的NEP5智能合约了。
& x& I: @$ ~/ I! N- v& r; o  e非常感谢thomas saunders和NEX团队提供了一个这么优秀的智能合约模版。
BitMere.com 比特池塘系信息发布平台,比特池塘仅提供信息存储空间服务。
声明:该文观点仅代表作者本人,本文不代表比特池塘立场,且不构成建议,请谨慎对待。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

成为第一个吐槽的人

123458268 小学生
  • 粉丝

    0

  • 关注

    0

  • 主题

    1