Moonbeam入门开发|第四课:使用Truffle在Moonbeam部署智能合约

Moonbeam是Polkadot网络上的以太坊兼容智能合约平台,为原生互操作应用程序的开发提供便利。通过其以太坊兼容性,开发者能够以最低程度的代码调整在Moonbeam上部署现有的Solidity智能合约和Dapp前端。

作为在Polkadot网络上的平行链,Moonbeam 也将受益于Polkadot中继链的共享安全性以及与其它 Polkadot 相关链的连接性。

为了使更多对Moonbeam技术充满热情和好奇的开发者能够参与进来,OneBlock+与Moonbeam共同推出了《Moonbeam入门 - 轻松开始跨链Solidity开发》课程,已于8月26日正式开课。上次我们介绍什么是Moonbeam平台跟它的一些特性,这节课就让我们来动手学习Moonbeam入门开发。以下是第四课文字版内容回顾。

本节课课程内容: 

1. 简单介绍智能合约概念

2. ERC-20智能合约

3. 获取Moonbeam测试Dev

4. 使用Truffle在Moonbeam部署ERC20智能合约

5. 简单ERC-20操作和测试

ERC-20智能合约

  • 最常见的智能合约种类之一,以太坊链Dev协议标准的一种

  • 目前有450000+个ERC-20 Dev在以太坊主链 (http://shorturl.at/nwCTV)

  • 2015/11, 由EIP-20提议(https://eips.ethereum.org/EIPS/eip-20)

ERC-20协议内容

Methods:

function name() public view returns (string)

function symbol() public view returns (string)

function decimals() public view returns (uint8)

function totalSupply() public view returns (uint256)

function balanceOf(address _owner) public view returns (uint256 balance)

function transfer(address _to, uint256 _value) public returns (bool success)

function transferFrom(address _from, address _to, uint256 _value) public returns (bool success)

function approve(address _spender, uint256 _value) public returns (bool success)

function allowance(address _owner, address _spender) public view returns (uint256 remaining)

Events:

event Transfer(address indexed _from, address indexed _to, uint256 _value)

event Approval(address indexed _owner, address indexed _spender, uint256 _value)

获取Moonbeam测试Dev

Moonbeam本地开发节点

测试Dev获取方式:导入预注入资金开发账号

开发账户私钥:https://qrgo.page.link/WGRdE 

(导入私钥的方法请参考第三课)

图片

使用Metamask链接Moonbeam节点

Moonbase Alpha 测试网:这是一个独立运行的,专门用来测试Moonbeam的一个网络。

测试Dev名称:DEV

获取方式:测试Dev水龙头

1. 加入Moonbeam Discord:

https://discord.com/invite/ssvKu6Un8v

2. 在Miscellaneous/alphanet-bot频道里输入:

!faucet send <钱包地址> 

图片

输入之后,机器人会给你发5个DEV。如果有的同学无法使用Discord上的水龙头,但是需要测试Dev的话,可以在群里@老师助教,我们可以直接把Dev发到你的钱包。

使用Truffle部署ERC-20智能合约

OpenZeppelin ERC-20 合约

OpenZeppelin是很有用的,因为它提供很多开源的以太坊智能合约模版。其中包括Dev,治理类或者接口类。OpenZeppelin的优势是,它上面的很多的智能合约都是经过审计的,也就是说它的安全性是有一定的保障的。

shorturl.at/fiCGL

图片

这里我们用我们上一节课下载的Moonbeam Truffle box来部署这个ERC-20 智能合约。我们先用vs code来看一下这个文件里的重要内容。首先来看truffle config.js. 这个文件是包含truffle部署的绝大多数文件都在这里面。

两个私钥

  1. 本地开发节点私钥

  2. Moonbase Alpha上面的私钥 (可以通过Metamask来建立一个账户,然后把私钥再通过Metamask 把它导出,然后把这个私钥放在上面)之后部署会从这个账号来付费用。

Truffle部署脚本

https://github.com/hyd628/OneBlockCourseScripts/tree/main/Week4

图片

在Truffle下面的Contract里面的合约

  1. Migrations: 帮助部署的一个合约。

  2. MyTok: 是OpenZeppelin的ERC-20智能合约。

使用Truffle 把ERC-20智能合约部署到两个地方

  1. 本地运行的Moonbeam节点。

  2. Moonbase Alpha测试网。

简单ERC-20操作和测试

用MetaMask连接Moonbase Alpha

https://docs.moonbeam.network/builders/get-started/moonbase/#connect-metamask

图片

可以用Chrome直接打开链接,然后按照提示去做就可以了。在Moonbase Alpha和本地节点上做的步骤都是一样的。唯一的区别就是Metamask要链接本地的节点,智能合约地址也要用本地的智能合约地址。

相关资料

第四课课程视频链接:https://jhp.h5.xeknow.com/s/4xBPGm

第四课课程作业链接:https://wj.qq.com/s2/9004324/48a4/

GitHubFAQ:https://github.com/hyd628/OneBlockCourseScripts

Moonbeam网站:moonbeam.network

MoonbeamGitHub:github.com/PureStake/moonbeam

Moonbeam中文开发者文档:https://docs.moonbeam.network/cn/

MoonbeamDiscord:https://discord.gg/PfpUATX


关于Moonbeam
Moonbeam是波卡(Polkadot)网络上的以太坊兼容智能合约平台,为原生互操作应用程序的开发提供便利。通过其以太坊兼容性,开发者能够以最低程度的代码调整在Moonbeam上部署现有的Solidity智能合约和Dapp前端。作为在波卡(Polkadot)网络上的平行链,Moonbeam也将受益于波卡(Polkadot)中继链的共享安全性以及与其它波卡(Polkadot)相关链的连接性。Moonbeam由PureStake团队开发,目前正在预上线阶段,主网计划于2021年Q4季度上线。

如需了解更多信息,请访问:Moonbeam | Polkadot Smart Contract Platform

关于Moonriver
Moonriver是Moonbeam的同行网络,旨在为激励实验提供永久性的测试环境。新上线项目的代码将优先部署到Moonriver,在其真实的经济环境下经历一系列的测试与实验验证。当验证完成并通过测试之后,项目代码才可正式部署至波卡上的Moonbeam。

如需了解更多信息,请访问:Moonriver - Solidity Smart Contracts on Kusama

更多 Moonbeam 信息 
官网: Moonbeam | Polkadot Smart Contract Platform
微博:Sina Visitor System
twitter: https://twitter.com/MoonbeamNetwork
Telegram: https://t.me/moonbeam_CN
Discord: https://discord.gg/skPfXvJWG7
中文电报群助手:@MoonbeamSister

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值