Moonbeam入门开发|第9课:NominationDAO DApp (二)

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

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

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

本节课课程内容:

  1. 介绍DAO(去中心化组织)
  2. Nomination DAO基本概念
  3. 编写NominationDAO.sol

介绍DAO

什么是DAO?

- Decentralized Autonomous Organization,去中心化自治组织

- 组织的规则由代码定义,不受外力影响

- 通常通过区块链和智能合约实现,透明+去中心化

ETH历史: The DAO Hack

- 最早期的ETH项目之一和去中心化组织实验:The DAO

- 成立于2016年4月,愿景是去中心化VC

- 众筹到1270,0000 ETH,是当时ETH通流量的14%

- 2016年6月,黑客利用可重入性(re-entrancy)和其它漏洞从The DAO导出约360,0000 ETH

- 2016年7月,ETH主网硬分叉,回滚The DAO Hack,不接受硬分叉的节点变为Ethereum Classic

NomainationDAO基本概念

NominationDAO基本功能

- 会员可以在NominationDAO上托管他想要质押的Tok

- NominationDAO会以智能合约的身份,使用托管的Tok池对某收集人进行提名

- 会员可以取出自己托管质押的Tok和获得的提名奖励

为什么使用DAO来提名?

- 会员拥有Tok数量小于最低提名质押量(目前设为 5 DEV/MOVR)

- 会员拥有Tok数量无法进入收集人的前100名提名人质押

- DAO可能有更优化的自动化提名策略

编写NomainationDAO

本期程序文件和脚本地址

OneBlockCourseScripts/Week9 at main · hyd628/OneBlockCourseScripts · GitHub

合约框架跟权限管理

Solidity编程联系-合约权限管理

- 创建一个Solidity智能合约

- 定义两种Role:Admin和Member(目前先不要定义美国Role有什么权限)

- 一个钱包地址可以同时是Admin和Member

- Constructor方法:给予一个千百遍地址(由参数定义)Admin和Member Role

- 普通方法:给予一个地址Admin Role,给予一个地址Member Role,撤销一个地址Member Role

提示:合约可以继承

NominationDaoRoles.sol

相关资料

第九课课程视频链接:http://alturl.com/gk4ne
第九课课程作业链接:问卷系统
GitHubFAQ:GitHub - hyd628/OneBlockCourseScripts: Moonbeam 入门课程脚本 。Scripts for entry level Moonbeam development class.
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 (一)


关于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

上一篇:萌新web14


下一篇:Solid Works 2020打开后显示无法获得下列许可SOLIDWORKS Standard。无法连接到服务器。(-15,10,10061)的解决办法