Moonbeam入门开发 | 第十课: NominationDAO DApp (三)

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

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

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

本节课课程内容:

  1. 继续编写NominationDAO
  2. 介绍 “Payable”Solidity修饰词
  3. 添加Dev转入DAO和取出功能
  4. 通过Remix交互测试

Dev转入和取出DAO功能

Solidity 修饰词 — “payable”

  1. 被“payable”修饰的方法和地址可以接收转账
  2. Solidity编译版本 0.4.0后没有“payable”修饰的方法是无法接收转账的
  3. 向“payable”方法发送Dev后,它会存放在智能合约的以太坊账户里
  4. 使用“payable“的合约里一定要有一个取出Dev的方法,否则会无法取出

Solidity编程练习 — DAO Dev转入和取出

在NominationDAORoles.sol的基础上添加两个方法和相应的变量

  1. 方法1 — add_stake: 将一定数额的Dev转入NominationDAO的质押池
  2. 方法2 — cash_out:把发出msg.sender钱包托管在NominationDAO的Dev取出

提示:

  1. 建议合约使用OpenZeppelin Safemath.sol和Address.sol utility
  2. 建议使用“payable”关键词

NomainationDAOPayable.sol

本期程序文件和脚本地址

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

  • 在合约定义上要加上 “using SafeMath for uint256”
  • Mapping stake:在质押池里拥有多少
  • total stake:质押池总额
  • Balance 包括所有会员的质押跟会员奖励。

相关资料

第十课课程视频链接:https://jhp.h5.xeknow.com/s/2lastN
第十课课程作业链接:问卷系统
GitHubFAQ:https://github.com/hyd628/OneBlockCourseScripts
Moonbeam网站:moonbeam.network
MoonbeamGitHub:github.com/PureStake/moonbeam
Moonbeam中文开发者文档:Moonbeam Docs
MoonbeamDiscord:https://discord.gg/PfpUATX

课程回顾

第一课:课程导读
第二课:环境配置与安装运行 Moonbeam 节点
第三课:Truffle和连接MetaMask
第四课:使用Truffle在Moonbeam部署智能合约
第五课:介绍使用Remix IDE部署ERC-721(NFT)合约
第六课:介绍和使用web3.js与Moonbeam交互(上)
第七课:介绍和使用web3.js与Moonbeam交互(下)
第8课:NominationDAO DApp (一)
第9课:NominationDAO DApp (二)


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

如需了解更多信息,请访问: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

上一篇:如何搭建WordPress个人博客


下一篇:Autonomous Dream Works的独创力杰作EGGNetwork EFTalk