5

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

 2 years ago
source link: https://www.chainnews.com/articles/277922197805.htm
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

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

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

· 6 小时前

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 智能合约

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://docs.moonbeam.network/cn/getting-started/local-node/setting-up-a-node/#pre-funded-development-accounts

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

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

使用 Metamask 链接 Moonbeam 节点

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

测试 Dev 名称:DEV

获取方式:测试 Dev 水龙头

1. 加入 Moonbeam Discord:

https://discord.com/invite/xwxp8PGf

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

!faucet send < 钱包地址 >

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

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

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

OpenZeppelin ERC-20 合约

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

shorturl.at/fiCGL

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

这里我们用我们上一节课下载的 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

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

在 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

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

可以用 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


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK