Hi 游客

更多精彩,请登录!

比特池塘 区块链技术 正文

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

123458268
97 0 0
如果您还没搭建私有网络,请参考之前的文章先行搭建。  j; U6 v+ X( Q  j" ]3 u+ ^5 r$ F6 I% u
Photo by Markus Spiske on Unsplash
5 ?5 j8 U; V) U- x开始之前,我们需要先了解一下什么是智能合约。智能合约是函数式编码的集合(不是面向对象的),通过事务的形式写入区块链,然后由钱包调用。NEO的一个主要优势是它支持许多当前知名的程序语言,如C#,Python,Java ……文中我们使用Python语言进行讲解。
8 S+ F6 d/ s. T' c, ^: }什么是NEP-5?与Ethereum的ERC20标准类似,NEP-5是一种Token标准协议,协议规定NEP-5 Token应该包括一些预定义的方法(name,symbol,balanceOf,transfer …)。与其他标准化系统一样,这使得开发数字钱包时更多的考虑用户偏好而不需要纠结Token本身,而智能合约开发者也不需要担心用户体验!6 _' z3 }. d  r) c5 a; v9 v
最后,谈论部署问题就不得不提到编译器!由于NEO节点不能识别Python,Java,C#等这样的高级语言,而能识别字节码,因此需要编译器将这些语言编译成字节码。我们使用的编译器是Neo-boa:将符合NEP-5标准的Python智能合约,编译转换为字节码或机器可读的代码。& g+ E# H0 s* H' F3 K& q
工作流概述: 代码 -> 编译 -> 部署。下面就开始吧' b" R2 r9 ~7 x( i* L  ^; {
步骤1:创建钱包
+ B$ b) x  z# X: `) U0 t在Ubuntu中打开neo-prompt, source venv/bin/activate , np-prompt -p ,输入命令:
5 r( l; t% K% g: T6 [' Hcreate wallet testWallet1. R3 b2 X+ J% l, x2 v4 D7 \
输入密码,长度不少于10个字符# ]* r: P& ]* E0 l
步骤2:获取费用
$ O# F* ?6 {, h
新创建的钱包里是没有GAS的(显然)……但是部署合约需要GAS。所幸网络提供了一个可导入的WIF /私钥,该私钥的钱包存有GAS。
+ V2 T% `. Q) \9 rimport wif KxDgvEKzgSBPPfuVfw67oPQBSjidEiqTHURKSDL1R7yGaGYAeYnr
% E. |( O5 j4 ?) {wallet rebuild7 T/ k( ]2 R* L$ T+ c9 {; A* P
* WIF可能随时变化,请参阅文档:https://hub.docker.com/r/cityofzion/neo-privatenet/6 z) X& T# H! o
步骤3:从网络中下载NEP-5标准模版' W; H6 z) R# ^) X" U/ U0 h
假定您本地已经安装了git,打开一个新的终端:
9 Y- R5 b! A  x) j  n  _8 i:you may want to use the same base path as your neo-python install* N5 d0 ^6 M* |' _; \
cd " o* P' ]5 H1 U! @# c& [+ v
git clone https://github.com/neonexchange/neo-ico-template# {& s! h  B2 Z7 m4 X3 r
步骤4:安装Neo-boa(编译器)$ m, b; y& S  G. [! i5 _
:you may want to use the same base path as your neo-python install& E% v) M/ P+ D* W
cd
: Q$ ^1 U4 \3 K+ X, ~/ wgit clone https://github.com/CityOfZion/neo-boa.git
+ H: T6 j8 W, h& Ocd neo-boa/4 N" {+ ]: ^. M# j: T
python3.6 -m venv venv' N6 m) M( P) ]; _0 U8 |1 g# T
source venv/bin/activate
) {2 c8 L" i/ ]+ y( h" V0 `. ~pip install -r requirements.txt
- D, H4 D; Y% |# I步骤5:编辑智能合约代码:获取钱包哈希值
+ M9 z" Y" T" T4 @& r! B打开np-prompt控制台,输入wallet,将显示以下信息:0 k! T# o4 a% C* r3 r" Q
( v* f. R( h7 ^0 z7 i, ~
复制最上方的钱包哈希值,这里我的是b’\xc6\x04\x1c\x97\x15\xc1\xe4\x87/\xe5\xbf\xd4\t\xf5\xe1\sbd_>\scd\xf8′
+ Q1 l/ W9 c9 _2 R) l使用文本编辑器打开文档/nex/token.py。将TOKEN_OWNER替换成你的钱包哈希值。4 h" L0 S9 q& h+ f( y: O
您还可以重命名变量TOKEN_NAME和TOKEN_SYMBOL。8 ]" O1 C' d$ T$ N" J
- q% M# i  @- ~. e% G
现在可以编译和部署您专属的NEP5智能合约了。. q+ K, `. `7 K& g
非常感谢thomas saunders和NEX团队提供了一个这么优秀的智能合约模版。
BitMere.com 比特池塘系信息发布平台,比特池塘仅提供信息存储空间服务。
声明:该文观点仅代表作者本人,本文不代表比特池塘立场,且不构成建议,请谨慎对待。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

成为第一个吐槽的人

123458268 小学生
  • 粉丝

    0

  • 关注

    0

  • 主题

    1