火星链 火星链
Ctrl+D收藏火星链

GRE:web3 技术堆栈丨教你如何利用EVM构建一个全栈dapp

作者:

时间:1900/1/1 0:00:00

使用React、Ethers

functiongreet()publicviewreturns(stringmemory){returngreeting;}functionsetGreeting(stringmemory_greeting)public{console

}

这是一个非常基本的智能合约。部署后,它会设置一个Greeting变量并公开一个可以调用以返回问候语的函数(greet)。

它还公开了一个允许用户更新问候语的函数。当部署到以太坊区块链时,这些方法将可供用户交互。

日本即时通讯服务商Line推出Web3游戏平台game Dosi:11月14日消息,Line美国子公司Line Next将推出Web3游戏平台game Dosi,已为其创建预告网站。

据悉,Game Dosi是一个集所有功能于一体的Web3游戏平台,允许游戏公司发布不NFT。Line Next表示,Game Dosi旨在为用户提供可以直观地享受游戏,以及帮助游戏开发者更轻松地创造游戏的解决方案,通过提供一个易于使用的开发工具包工具,帮助开发人员中加速Web3游戏开发。

此外,该平台还将提供法规和风险管理方面的法律支持,营销和推广支持,利用Line的服务营销解决方案。它还提供“代币经济学”咨询,以优化游戏的代币经济,并提供社区建设功能和开源资源。[2022/11/14 13:02:01]

读写以太坊区块链

与智能合约交互的方式有两种,读取或写入/交易。在我们的合同中,greet可以被认为是阅读,而setGreeting可以被认为是写作/事务性的。

在写入或初始化交易时,您必须为要写入区块链的交易付费。要完成这项工作,您需要支付Gas,这是在以太坊区块链上成功进行交易和执行合约所需的费用或价格。

只要您只是从区块链中读取数据而不更改或更新任何内容,您就不需要执行交易,并且这样做不会产生任何gas或成本。然后,您调用的功能仅由您连接的节点执行,因此您无需支付任何费用,并且读取是免费的。

在我们的React应用程序中,我们与智能合约交互的方式是使用ethers

//callthesmartcontract,readthecurrentgreetingvalueasyncfunctionfetchGreeting(){if(typeofwindow

exportdefaultApp;

要对其进行测试,请启动React服务器:

npmstart

当应用程序加载时,您应该能够获取当前问候语并将其注销到控制台。您还应该能够通过与您的MetaMask钱包签署合约并使用Ether测试币来更新greeting。

请注意,此代币合约仅用于演示目的,不符合ERC20。我们将在这里介绍ERC20代币该合约将创建一个名为“NaderDabitToken”的新代币,并将供应量设置为1000000。

接下来,编译这个合约:

npxhardhatcompile

现在,更新脚本/deploy

main()

);

现在,我们可以将这个新合约部署到本地或Ropsten网络:

npxhardhatrunscripts/deploy

asyncfunctionfetchGreeting(){if(typeofwindow

}asyncfunctionsetGreeting(){if(!greeting)returnif(typeofwindow

}return(<divclassName="App"><headerclassName="App-header"><buttononClick={fetchGreeting}>FetchGreeting</button><buttononClick={setGreeting}>SetGreeting</button><inputonChange={e=>setGreetingValue(e

exportdefaultApp;

接下来,运行应用程序:

npmstart

我们应该能够单击“获取余额”并看到我们的帐户中有1,000,000个币已登出到控制台。

您还应该能够通过单击导入代币在MetaMask中查看它们:

通过扩展原始ERC20代币,您的代币将继承以下所有功能和功能:

functionname()publicviewreturns(string)functionsymbol()publicviewreturns(string)functiondecimals()publicviewreturns(uint8)functiontotalSupply()publicviewreturns(uint256)functionbalanceOf(address_owner)publicviewreturns(uint256balance)functiontransfer(address_to,uint256_value)publicreturns(boolsuccess)functiontransferFrom(address_from,address_to,uint256_value)publicreturns(boolsuccess)functionapprove(address_spender,uint256_value)publicreturns(boolsuccess)functionallowance(address_owner,address_spender)publicviewreturns(uint256remaining)

部署后,您可以使用这些功能中的任何一个与新的智能合约进行交互。有关ERC20代币的另一个示例,请查看[Soliditybyexample)(https://solidity-by-example.org/app/erc20/)

结论

好的,我们在这里涵盖了很多内容,但对我来说,这是开始使用这个堆栈的基本知识/核心,这也是我想要拥有的东西,不仅作为一个正在学习所有这些东西的人,而且在未来,如果我需要参考我将来可能需要的任何东西。我希望你学到了很多。

如果您想在MetaMask之外支持多个钱包,请查看Web3Modal,它可以通过相当简单且可自定义的配置轻松地在您的应用中实现对多个提供商的支持。

在我未来的教程和指南中,我将深入研究更复杂的智能合约开发,以及如何将它们部署为子图以在它们之上公开GraphQLAPI并实现分页和全文搜索等功能。

我还将介绍如何使用IPFS和Web3数据库等技术以去中心化的方式存储数据。

如果您对未来的教程有任何问题或建议,请在此处发表评论并告诉我。

标签:CONGREACTTHEUCONGreen WorldPactSwapThe Abyss

莱特币价格热门资讯
NEO:达鸿飞:虚拟地产将成为元宇宙场景可组合性的集中表现

在《NFT的未来:聚焦多元属性和用户核心》一文中,我提到了NFT最近的发展方向是“自下而上”发起,在Web3.0时代权益也将更侧重于用户。多元属性和可组合性也是NFT的重要特性.

1900/1/1 0:00:00
MULTI:列入“淘汰类”产业,虚拟货币矿机巨头股票大跌,多个比特币“挖矿”合同被判决无效

来源:券商中国作者:王君晖原标题:《列入“淘汰类”产业!虚拟货币矿机巨头股票大跌,多个比特币“挖矿”合同被判决无效》虚拟货币“挖矿”正式被纳入淘汰类产业.

1900/1/1 0:00:00
TER:收藏备用 | 如何在 Web3 中找到工作?

文章作者:MasonNystrom文章翻译:Blockunicorn 过去,我曾向希望在加密领域获得全职工作的陌生人和朋友提供建议,我之前已经详细地写过这个.

1900/1/1 0:00:00
区块链:Signal创始人:开发两个去中心化应用后,我发现Web3可能是伪命题

作者:MoxieMarlinspike,知名加密通讯应用Signal创始人原标题:《Myfirstimpressionsofweb3》编译:龚荃宇,链捕手尽管我认为自己是一名密码学家.

1900/1/1 0:00:00
SAM:博茨瓦纳政府将向议会提交虚拟资产法案

据Bitcoin.com1月22日消息,博茨瓦纳政府将向该国议会提交一份“虚拟资产法案”,此举可能使博茨瓦纳成为非洲首批制定加密货币法律的国家之一.

1900/1/1 0:00:00
PEN:NFT进入主流市场突破性的一年,回顾顶级拍卖行苏富比的NFT拍卖之路

拥有百年历史的艺术品拍卖行苏富比在其2021年度报告中称,2021年的拍卖总成交额达73亿美元。创下两百多年以来的历史纪录,其中NFT收藏品的拍卖成交额高达1亿美元.

1900/1/1 0:00:00