Hi 游客

更多精彩,请登录!

比特池塘 区块链技术 正文

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

123458268
95 0 0
如果您还没搭建私有网络,请参考之前的文章先行搭建。' f' e# i5 w( |) H( V0 i
Photo by Markus Spiske on Unsplash
! M9 t8 ]# u2 r% y开始之前,我们需要先了解一下什么是智能合约。智能合约是函数式编码的集合(不是面向对象的),通过事务的形式写入区块链,然后由钱包调用。NEO的一个主要优势是它支持许多当前知名的程序语言,如C#,Python,Java ……文中我们使用Python语言进行讲解。
# ?* d9 E' N" y3 ?3 \, ~, V) M什么是NEP-5?与Ethereum的ERC20标准类似,NEP-5是一种Token标准协议,协议规定NEP-5 Token应该包括一些预定义的方法(name,symbol,balanceOf,transfer …)。与其他标准化系统一样,这使得开发数字钱包时更多的考虑用户偏好而不需要纠结Token本身,而智能合约开发者也不需要担心用户体验!) M+ P% f3 E( l4 x
最后,谈论部署问题就不得不提到编译器!由于NEO节点不能识别Python,Java,C#等这样的高级语言,而能识别字节码,因此需要编译器将这些语言编译成字节码。我们使用的编译器是Neo-boa:将符合NEP-5标准的Python智能合约,编译转换为字节码或机器可读的代码。
2 X, e" C( l, y, R6 B+ f" ~" b工作流概述: 代码 -> 编译 -> 部署。下面就开始吧
$ [! l; {- C# T步骤1:创建钱包+ A6 V5 C' ^' i! X2 s
在Ubuntu中打开neo-prompt, source venv/bin/activate , np-prompt -p ,输入命令:" M$ L& q) v# ^9 @! o
create wallet testWallet1
( B4 i+ d+ `- B7 m2 }输入密码,长度不少于10个字符
* w. J+ j! g0 S步骤2:获取费用
) Y; v1 H$ o3 \* [
新创建的钱包里是没有GAS的(显然)……但是部署合约需要GAS。所幸网络提供了一个可导入的WIF /私钥,该私钥的钱包存有GAS。3 H5 ^2 F2 Z. O+ K1 x
import wif KxDgvEKzgSBPPfuVfw67oPQBSjidEiqTHURKSDL1R7yGaGYAeYnr
0 t3 v$ {: s$ ?7 y' w5 i$ d  Rwallet rebuild* T. i7 ^% x7 f
* WIF可能随时变化,请参阅文档:https://hub.docker.com/r/cityofzion/neo-privatenet/
' M; o) D3 c1 J5 c步骤3:从网络中下载NEP-5标准模版
  a" x* K6 }" D: h& k) D假定您本地已经安装了git,打开一个新的终端:7 {, S) B/ _, O* |3 i
:you may want to use the same base path as your neo-python install; I* Z% C  x9 R% \2 ]3 E( l
cd 6 Y+ V) v# f$ H  y" u& _# Q
git clone https://github.com/neonexchange/neo-ico-template6 K! r  s: g. N  P
步骤4:安装Neo-boa(编译器)6 Z4 Z  [) Y, Y# t' B) h: P
:you may want to use the same base path as your neo-python install
- ]% P, x2 T5 f- g+ M. vcd 1 T( z! S9 ?6 i( T
git clone https://github.com/CityOfZion/neo-boa.git; l$ R, |) f7 d1 D
cd neo-boa/
/ o  w1 c+ Z3 @5 k% wpython3.6 -m venv venv
: o7 J* P" Z1 \+ z1 _source venv/bin/activate0 o0 |: [2 m) s1 W! {+ Y3 G5 M3 P
pip install -r requirements.txt
* x6 U* w; a  R# n# C8 t步骤5:编辑智能合约代码:获取钱包哈希值
3 E5 J; Y! n9 {打开np-prompt控制台,输入wallet,将显示以下信息:- A6 A& F8 e1 S7 o% L6 D7 W

' }1 u/ z  F& o+ H7 r$ i复制最上方的钱包哈希值,这里我的是b’\xc6\x04\x1c\x97\x15\xc1\xe4\x87/\xe5\xbf\xd4\t\xf5\xe1\sbd_>\scd\xf8′* s9 Z. F: M6 f6 G3 d! V0 ?* v6 U) G
使用文本编辑器打开文档/nex/token.py。将TOKEN_OWNER替换成你的钱包哈希值。
& j: c) g1 h" Z2 G9 e您还可以重命名变量TOKEN_NAME和TOKEN_SYMBOL。
2 F4 M& J$ Q0 Q( w2 c6 i! _$ f 1 I) z% ]2 b* L( E: h, D% s) ~7 J
现在可以编译和部署您专属的NEP5智能合约了。
: k  b0 t, D* G( S2 F非常感谢thomas saunders和NEX团队提供了一个这么优秀的智能合约模版。
BitMere.com 比特池塘系信息发布平台,比特池塘仅提供信息存储空间服务。
声明:该文观点仅代表作者本人,本文不代表比特池塘立场,且不构成建议,请谨慎对待。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

成为第一个吐槽的人

123458268 小学生
  • 粉丝

    0

  • 关注

    0

  • 主题

    1