使用 React 和 Network.js 构建去中心化应用前端

使用React和Network

exportdefaultApp;

Augur 将通过使用 DXdao 结构引入 AugurDAO:11月19日消息,去中心化预测市场协议 Augur 宣布将引入 AugurDAO,不过会与管理着预测市场 Omen 的去中心化自治组织 DXdao 合作,并使用 DXdao 结构来构建 AugurDAO,但治理将由 REPv2 持有者推动。Augur 计划于 2021 年 11 月底对支持 DAO 投票的智能合约进行审计,目前还在开发中。

之后,DXdao 论坛将提出一项提案来讨论 DXdao 对 AugurDAO 的支持和合作关系细节。此外,Augur Discord目前已完全由社区志愿者运营。[2021/11/19 6:59:26]

现在,我们的去中心化应用将显示其当前接入的以太坊网络及其使用的web3提供商。

我们来测试一下:通过从/client目录中运行npmstart来保存并启动浏览器。通过将InfurawebsocketURL中的mainnet替换为rinkeby进行测试。如果已经安装了MetaMask,则禁用这里的扩展,因为您看到它具有优先性。

具体运作方式是:在上面的代码中,我们从React实现的NetworkJS(;constrequestAccess=useCallback(()=>requestAuth(web3Context),);return(<p><h3>{props

上面的代码所执行的操作如下:

从web3Context拉取账户,并在去中心化应用中显示可用的用户地址;

如果我们请求的账户不可用,去中心化应用将生成一个按钮。用户可以通过该按钮向去中心化应用提供对其地址的访问权限;

用户按下该按钮后,将调用web3Context中的requestAuth函数,且注入的web3提供商可以显示一个对话框,供用户请求获取访问权限。使用React功能时,将使用useCallback设置“账户访问请求”回调函数。

我们现在通过从客户端目录中运行npmstart来再次启动该去中心化应用。

在浏览器中,按下“RequestAccess”以请求访问用户地址,然后接受Metamask弹出窗口中的请求。这时将显示用户地址。要重新开始该流程,退出Metamask即可再次提交用户访问请求。

账户余额

最后,我们的第三个目标是添加React组件以显示账户余额。

在下面的代码中,我们获取lib对象,其中包含我们需要的区块链。该对象来自web3Context,这是web3

,);useEffect(()=>{getBalance();},);constrequestAuth=asyncweb3Context=>{try{awaitweb3Context

catch(e){console

};constrequestAccess=useCallback((web3Context)=>requestAuth(web3Context),);return(<p><h3>{props

我们通过运行客户端目录中的npmstart再次启动去中心化应用。好了!去中心化应用现在应该会显示账户余额。

您刚刚构建了去中心化应用前端。它可以接入以太坊主网并向主网请求数据。用户“登录”后,去中心化应用显示用户需要的信息并响应状态变更。

持续学习

我们的下一期教程将向您介绍如何显示用户的ERC20余额并支持用户转移余额。更多web3开发指南将包括众多主题,例如使用Ethers.js进行构建、使用OpenZeppelin的新手入门套件,以及更多复杂集成,例如使用Truffle的Drizzle框架设置以太坊日志筛选器,从而在前端实时响应区块链数据变更。

来自:https://blog.infura.io/zh_cn/shi-yong-react-he-network-js-gou-jian-qu-zhong-xin-hua-ying-yong-qian-duan/

本文来源于非小号媒体平台:

登链社区

现已在非小号资讯平台发布105篇作品,

非小号开放平台欢迎币圈作者入驻

入驻指南:

/apply_guide/

本文网址:

/news/9558540.html

免责声明:

1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险

2.本文版权归属原作所有,仅代表作者本人观点,不代表非小号的观点或立场

上一篇:

币安为何推出第三条链?这对BNB意味着什么?

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

银河链

XMR区块链信用:交易的热力学第二定律

库拉圈 社会学家马林诺夫斯基考察完西太平洋上的特罗布里恩德群岛后,对古典经济学上的一个假设很生气。经济学家过去一直把人类视作“理性经济人”,假设他们在自由和竞争性的市场里同他人进行交易或交换时,总是寻求物质利益或效用的最大化.

[0:0ms0-1:587ms