Hi 游客

更多精彩,请登录!

比特池塘 区块链技术 正文

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

123458268
91 0 0
如果您还没搭建私有网络,请参考之前的文章先行搭建。- G5 V+ M- l, w, y9 A
Photo by Markus Spiske on Unsplash
: G( A4 _5 ]5 s开始之前,我们需要先了解一下什么是智能合约。智能合约是函数式编码的集合(不是面向对象的),通过事务的形式写入区块链,然后由钱包调用。NEO的一个主要优势是它支持许多当前知名的程序语言,如C#,Python,Java ……文中我们使用Python语言进行讲解。7 _( ?2 Y! ?; @( V" }
什么是NEP-5?与Ethereum的ERC20标准类似,NEP-5是一种Token标准协议,协议规定NEP-5 Token应该包括一些预定义的方法(name,symbol,balanceOf,transfer …)。与其他标准化系统一样,这使得开发数字钱包时更多的考虑用户偏好而不需要纠结Token本身,而智能合约开发者也不需要担心用户体验!# H: i! g( w! J% L6 Z
最后,谈论部署问题就不得不提到编译器!由于NEO节点不能识别Python,Java,C#等这样的高级语言,而能识别字节码,因此需要编译器将这些语言编译成字节码。我们使用的编译器是Neo-boa:将符合NEP-5标准的Python智能合约,编译转换为字节码或机器可读的代码。
0 A6 h$ r% H- R7 R工作流概述: 代码 -> 编译 -> 部署。下面就开始吧
  t3 L8 G/ @$ [# [8 [2 G步骤1:创建钱包
# t3 `/ G; q, o% b1 F在Ubuntu中打开neo-prompt, source venv/bin/activate , np-prompt -p ,输入命令:
" d3 v, A0 X; |; H9 t% s3 ncreate wallet testWallet1
; \3 t% H7 d0 P0 f2 [" }- F输入密码,长度不少于10个字符1 Y! G; J+ C0 h0 {! c' T
步骤2:获取费用

+ v3 i. Q* b) v2 E! r  P5 Q# }  `新创建的钱包里是没有GAS的(显然)……但是部署合约需要GAS。所幸网络提供了一个可导入的WIF /私钥,该私钥的钱包存有GAS。; k2 d+ l% ^/ m+ q0 e* {. I
import wif KxDgvEKzgSBPPfuVfw67oPQBSjidEiqTHURKSDL1R7yGaGYAeYnr6 S: J: u  \9 i' c4 X
wallet rebuild
5 {! I' K$ N4 z% P( @6 R; G2 Z* WIF可能随时变化,请参阅文档:https://hub.docker.com/r/cityofzion/neo-privatenet/
! Y* Y  c9 E6 ~; V) Y, k步骤3:从网络中下载NEP-5标准模版0 ]% Z9 v  G* v/ E
假定您本地已经安装了git,打开一个新的终端:' ^* T5 z0 J( q2 Z
:you may want to use the same base path as your neo-python install" s9 k" y( x! r9 S8 Q9 c7 t
cd 7 i. e, X# K# m! M# x% B' Y
git clone https://github.com/neonexchange/neo-ico-template% d5 ?6 g! Z$ v& b# h+ C- x
步骤4:安装Neo-boa(编译器)# A( A$ w* V8 z. r9 ?
:you may want to use the same base path as your neo-python install' T) l' ~+ x0 r3 Y
cd   x$ {2 o- V# s# v! F% Q8 }1 m
git clone https://github.com/CityOfZion/neo-boa.git
" {( j, I3 y( x/ o0 Q) kcd neo-boa/
) j/ v8 m. o1 P+ \3 F6 ]* J- Npython3.6 -m venv venv' N: G" C* V% W
source venv/bin/activate2 e1 S1 M7 W: r" r% N/ p6 Q, H
pip install -r requirements.txt2 w' {: _4 X8 F" S3 q4 x: s
步骤5:编辑智能合约代码:获取钱包哈希值) h9 q& y, j+ }4 I
打开np-prompt控制台,输入wallet,将显示以下信息:- U% v( Q9 r$ I8 T6 D0 i" ^, D

. u# M5 y( c  _/ g, O# }  E9 j复制最上方的钱包哈希值,这里我的是b’\xc6\x04\x1c\x97\x15\xc1\xe4\x87/\xe5\xbf\xd4\t\xf5\xe1\sbd_>\scd\xf8′
/ y9 e* Y# ?: \& O/ ~7 Z5 D1 _使用文本编辑器打开文档/nex/token.py。将TOKEN_OWNER替换成你的钱包哈希值。% G0 J& J* o: J
您还可以重命名变量TOKEN_NAME和TOKEN_SYMBOL。/ L  z9 S, c7 ?! Y& B/ L0 F

6 }  E" }; X% e; G0 F" G7 g8 A现在可以编译和部署您专属的NEP5智能合约了。
. c, N: Z# w" C) _" a非常感谢thomas saunders和NEX团队提供了一个这么优秀的智能合约模版。
BitMere.com 比特池塘系信息发布平台,比特池塘仅提供信息存储空间服务。
声明:该文观点仅代表作者本人,本文不代表比特池塘立场,且不构成建议,请谨慎对待。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

成为第一个吐槽的人

123458268 小学生
  • 粉丝

    0

  • 关注

    0

  • 主题

    1