译文出自:登链翻译计划
译者:翻译小组
校对:Tiny熊
接下来,我将介绍第一个scaffold-eth学习项目:创建一个质押dApp。
质押dApp是干什么的
这个项目的最终目标是模仿以太坊2
/***
一些注意事项:
uint和uint256是一样的(它只是别名)
当声明一个public变量,Solidity即自动创建一个getter方法。这意味着有一个yourVariableName()方法可调用
如果声明的变量没有初始化,那么它会自动被初始化为变量类型的默认值
Solidity还有一些实用单位,如wei,ethers,或者时间单位。
回顾一下:
我们声明了balances,可以保存每个用户的地址和其质押金额
我们声明了一个阈值
我们声明了一个Stake事件,当某用户质押了一定数量ETH,它会向区块链发出通知
我们实现了一个publicpayable类型的Stake函数,它会更新用户的余额,并发出Stake事件。
你也许会有点奇怪,我们只是简单地更新质押金额,而没有初始化balances的值。这是可行的,因为当声明变量时没有初始化,Solidity会自动初始化为其类型的默认值,这里类型是uint256,所以默认值是0。
现在部署合约,从水龙头获取ETH,并尝试质押一些给合约。
检查下你是否完成下面所有项目,以便继续进行第二部分的练习:
你能从水龙头获得ETH吗?
你可以点击Stake按钮给合约转0.5ETH吗?
这个事件是否通过用户界面触发的?
你质押金额是否成功更新?
合约余额是否更新?
以下是本次视频的演示:
https://www.youtube.com/watch?v=KfoNrlYxBKY
本翻译由CellETF赞助支持。
来源:https://stermi.medium.com/how-to-write-your-first-decentralized-app-scaffold-eth-challenge-1-staking-dapp-b0b6a6f4d242
参考资料
登链翻译计划:https://github.com/lbc-team/Pioneer
翻译小组:https://learnblockchain.cn/people/412
Tiny熊:https://learnblockchain.cn/people/15
质押dApp:https://github.com/austintgriffith/scaffold-eth/tree/challenge-1-decentralized-staking
Solidity示例:https://solidity-by-example.org/
Solidity文档:https://learnblockchain.cn/docs/solidity/
Hardhat文档:https://learnblockchain.cn/docs/hardhat/getting-started/
Ethers-js文档:https://learnblockchain.cn/docs/ethers.js/
OpenZeppelin文档:https://docs.openzeppelin.com/openzeppelin/
OpenZeppelinEthernaut教程:https://ethernaut.openzeppelin.com/
CryptoZombies教程:https://cryptozombies.io/
Payable方法:https://solidity-by-example.org/payable/
文档:https://learnblockchain.cn/docs/solidity/contracts.html#receive
映射:https://solidity-by-example.org/mapping/
类型:https://docs.soliditylang.org/en/v0.8.7/types.html
文档:https://learnblockchain.cn/docs/solidity/types.html#mapping-types
事件:https://solidity-by-example.org/events/
文档:https://learnblockchain.cn/docs/solidity/contracts.html#events
getter方法:https://learnblockchain.cn/docs/solidity/contracts.html#getter
wei,ethers,或者时间单位:https://learnblockchain.cn/docs/solidity/units-and-global-variables.html
CellETF:https://celletf.io/?utm_souce=learnblockchain
免责声明:作为区块链信息平台,本站所发布文章仅代表作者个人观点,与链闻ChainNews立场无关。文章内的信息、意见等均仅供参考,并非作为或被视为实际投资建议。
本文来源于非小号媒体平台:
登链社区
现已在非小号资讯平台发布105篇作品,
非小号开放平台欢迎币圈作者入驻
入驻指南:
/apply_guide/
本文网址:
/news/10481470.html
免责声明:
1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险
2.本文版权归属原作所有,仅代表作者本人观点,不代表非小号的观点或立场
上一篇:
比特币进入牛市交叉点,BTC反弹迫在眉睫?
链闻消息,Coinbase发布了第三季度财报,财报显示Coinbase第三季度收入为13.1亿美元,环比下降约42.3%;税息折旧及摊销前利润为6.18亿美元.
親愛的ZT用戶: 為給用戶提供更好的交易體驗,ZT會對已上線項目進行嚴格審查,根據項目下架規則,ZT已對BabyDog進行下架處理.
尊敬的用戶: GDRT上線深受社區用戶喜愛,AOFEX現特開展“GDRT質押挖礦,享最高110%年化收益”活動,獎勵豐厚,請踴躍參與!活動主題:GDRT質押挖OT.
一、项目介绍 BillionHappiness是一个基于区块链社区的项目,用于Defi、YieldFarming、Staking和NFTMarketplace.
親愛的用戶:“幣安寶”現已上線CAKE、USDT理財產品,為用戶提供閑置數字資產增值服務。活期理財產品:CAKE目前,CAKE已啟用新的階梯利率結構.
链闻消息,Crypto.com生态EVM兼容链Cronos推出主网测试版,Cronos基于CosmosSDK,主网测试版的测试范围包括:EVM支持、最新版本CosmosSDK支持以及跨链桥.