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

使用React、Ethers

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

}

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

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

读写以太坊区块链

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

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

Polygon联合创始人:Polygon的使命一直是大规模采用Web3:金色财经报道,Polygon 联合创始人 Sandeep Nailwal 表示,基于以太坊的第 2 层区块链Polygon专注于成为主流。Polygon 的使命一直是大规模采用 Web3。实际上在 Web3 空间中构建的人之间一直存在这种冲动,即目前还没有大规模采用 Web3。借助 Polygon,面向消费者的公司可以扩展他们与客户互动和互动的方式。以Reddit为例,一家公司已经利用 Polygon,因为它希望继续扩大其不可替代代币 (NFT) 市场。

Nailwal 说,实现大规模采用最终将归结为 Web3 应用程序可以提供的好处,例如自我保管和数字收藏品的所有权。例如,星巴克的 Odyssey 计划将客户忠诚度奖励与 NFT 以及游戏化元素相结合。[2023/4/4 13:43:09]

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

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

//callthesmartcontract,readthecurrentgreetingvalueasyncfunctionfetchGreeting(){if(typeofwindow

exportdefaultApp;

腾讯云与Web3公司Strange Universe Technology签署谅解备忘录:9月13日消息,腾讯云宣布与新加坡Web3公司Strange Universe Technology签署谅解备忘录(MoU),双方将在元宇宙虚拟世界中探索合作机会并帮助企业在虚拟环境中适应和发展,携手打造集成、混合、高效的虚拟现实技术平台。Strange Universe Technology将使用腾讯云的元宇宙产品和云解决方案,比如基于实时云渲染技术的一站式解决方案虚拟交互空间(VIS),结合腾讯云旗下的腾讯实时通信(TRTC)、游戏多媒体引擎(GME)、数字化身产品和服务,VIS还将提供涵盖虚拟直播、虚拟会议、展览、活动等多场景虚拟空间交付产品,帮助企业轻松搭建各种元宇宙场景模板。(finance

functiontransfer(addressto,uintamount)external{require(balances>=amount,"Notenoughtokens");balances-=amount;balances+=amount;}functionbalanceOf(addressaccount)externalviewreturns(uint){returnbalances;}}

Web3Graph获得Huobi Incubator种子轮投资:5月6日消息,Web3

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数据库等技术以去中心化的方式存储数据。

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

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

地球链

XMRCRYPT:巴比特午间要闻一览

1.Opensea以133亿美元估值完成了3亿美元C轮融资,Paradigm和Coatue领投2.TheBlock发布2022年预测:L2生态系统的增长将比L1更快零知识身份验证方案Outdid.

世界币CBD:印度央行支持CBDC的基本形式,以替代现金

在昨日发布的一份报告中表明,印度央行已经明确了央行数字货币的好处,以及它在印度可能的未来性。该报告指出“以其基本形式,中央银行数字货币(CBDC)提供了一种安全、可靠并且方便的实物现金替代品.

[0:15ms0-1:55ms