Hi 游客

更多精彩,请登录!

比特池塘 区块链技术 正文

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

123458268
96 0 0
如果您还没搭建私有网络,请参考之前的文章先行搭建。
( A) `/ K1 u5 {3 ]Photo by Markus Spiske on Unsplash
: J6 ]+ R& d+ t4 F" Y; r' a! z开始之前,我们需要先了解一下什么是智能合约。智能合约是函数式编码的集合(不是面向对象的),通过事务的形式写入区块链,然后由钱包调用。NEO的一个主要优势是它支持许多当前知名的程序语言,如C#,Python,Java ……文中我们使用Python语言进行讲解。; Q, h0 M. b# S' x( e  q/ @
什么是NEP-5?与Ethereum的ERC20标准类似,NEP-5是一种Token标准协议,协议规定NEP-5 Token应该包括一些预定义的方法(name,symbol,balanceOf,transfer …)。与其他标准化系统一样,这使得开发数字钱包时更多的考虑用户偏好而不需要纠结Token本身,而智能合约开发者也不需要担心用户体验!( X8 M9 q1 u1 z' h) V
最后,谈论部署问题就不得不提到编译器!由于NEO节点不能识别Python,Java,C#等这样的高级语言,而能识别字节码,因此需要编译器将这些语言编译成字节码。我们使用的编译器是Neo-boa:将符合NEP-5标准的Python智能合约,编译转换为字节码或机器可读的代码。
  s) w& I  h) G- r3 x工作流概述: 代码 -> 编译 -> 部署。下面就开始吧- M6 R. q3 |% Z& F
步骤1:创建钱包
- h7 s" J: w- w( L* ~在Ubuntu中打开neo-prompt, source venv/bin/activate , np-prompt -p ,输入命令:2 r: z9 t6 l! v  \% z- K
create wallet testWallet17 O+ f  x) ]4 _- c8 K9 S! c
输入密码,长度不少于10个字符/ A/ [4 V2 E& I0 V
步骤2:获取费用

) e& ?  T( J6 |# d1 \3 L& x( {新创建的钱包里是没有GAS的(显然)……但是部署合约需要GAS。所幸网络提供了一个可导入的WIF /私钥,该私钥的钱包存有GAS。; q5 d6 \7 S$ p% s' E$ b0 J
import wif KxDgvEKzgSBPPfuVfw67oPQBSjidEiqTHURKSDL1R7yGaGYAeYnr
! `, i: }7 `4 a4 L  b( vwallet rebuild" o7 {( B% C1 H
* WIF可能随时变化,请参阅文档:https://hub.docker.com/r/cityofzion/neo-privatenet/8 e9 ~+ @; `1 U- X6 N1 l9 A) y  l
步骤3:从网络中下载NEP-5标准模版
7 B3 B6 a+ U/ {9 e% Q假定您本地已经安装了git,打开一个新的终端:- k! ^% J% D/ I; v0 p
:you may want to use the same base path as your neo-python install
2 [/ W+ ^( }5 @, v5 g4 I' ]cd 6 ?4 ~6 U4 S# ^  m$ ?
git clone https://github.com/neonexchange/neo-ico-template
0 R" `2 S- @; R/ q( N4 i步骤4:安装Neo-boa(编译器)# N6 q& G# l" l' @) A- |# p# s
:you may want to use the same base path as your neo-python install# D0 e! x. Q4 y( ]! j5 }7 O3 g
cd % D  ^) I) }- m' [& A% t0 |
git clone https://github.com/CityOfZion/neo-boa.git( r6 x& F3 m  E. h  ~2 _* j
cd neo-boa/
6 {. \( N8 n& R5 f& d0 D% ypython3.6 -m venv venv& L6 H- Z% x- n% f( L
source venv/bin/activate9 y' H! l7 D- L% o0 ^6 V, t
pip install -r requirements.txt
% B8 d0 i; O4 h; C$ f) Z步骤5:编辑智能合约代码:获取钱包哈希值# ~1 C$ r. P1 H
打开np-prompt控制台,输入wallet,将显示以下信息:
' Z$ u  W# e* e6 V$ I6 {0 T" I   q2 q2 r, m' q5 ~4 ~8 r' ^/ h. j; C6 S
复制最上方的钱包哈希值,这里我的是b’\xc6\x04\x1c\x97\x15\xc1\xe4\x87/\xe5\xbf\xd4\t\xf5\xe1\sbd_>\scd\xf8′% q* V& n1 g5 Y8 v
使用文本编辑器打开文档/nex/token.py。将TOKEN_OWNER替换成你的钱包哈希值。
2 b7 ^6 P) r& z0 z- Q您还可以重命名变量TOKEN_NAME和TOKEN_SYMBOL。- R4 D& t  a! m1 D; s4 t
2 R7 l$ \& t1 M# A& o
现在可以编译和部署您专属的NEP5智能合约了。
. Y8 U  @) A+ i' Z" w非常感谢thomas saunders和NEX团队提供了一个这么优秀的智能合约模版。
BitMere.com 比特池塘系信息发布平台,比特池塘仅提供信息存储空间服务。
声明:该文观点仅代表作者本人,本文不代表比特池塘立场,且不构成建议,请谨慎对待。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

成为第一个吐槽的人

123458268 小学生
  • 粉丝

    0

  • 关注

    0

  • 主题

    1