比特幣價格 比特幣價格
Ctrl+D 比特幣價格
ads
首頁 > 屎幣 > Info

CHA:教程:創建由以太坊支持的 Web3 聊天_metamask騙局

Author:

Time:1900/1/1 0:00:00

在本文中,我們將學習如何將以太坊智能合約連接到React應用程序,并使用戶能夠與之交互。

要在瀏覽器中安裝MetaMask擴展

一個代碼編輯器

關于以下主題的一些知識:以太坊,MetaMask, React, TypeScript

在以太坊主網上工作要花真金白銀!

在本教程中,我假設的是你的MetaMask設置為使用Rinkeby。Rinkeby是一個復制主網的測試網絡,允許我們免費部署和使用智能合約。

我們將為這個基于區塊鏈的聊天建立一個界面,如下所示:

左邊的側邊欄包含一個按鈕,用于連接到聊天或指示連接用戶的地址。

右側的聊天框,顯示消息和輸入欄。

在本篇文章中,我們不會關注如何讓UI更漂亮,我們的目標是關注如何用最直接的方式與智能合約交互。

我已盡力使本教程易于理解,但如果有些東西還是不甚清晰,也不用灰心,你會在本文的最后找到一個包含已完成項目的 GitHub 存儲庫的鏈接。

首先,我們要連接到前端的智能合約,如下所示:

event?、emit 這些東西是什么?

event 用于通知外部用戶區塊鏈上發生的事情。

在我們的例子中,“外部用戶”是我們的前端應用程序,它將監聽發送到智能合約的新消息,因此我們可以立即在我們的UI中顯示它們。

Solana Web3手機Saga售價由1000美元降至599美元:8月10日消息,Solana Mobile發推稱,Solana Web3手機Saga售價由1000美元降至599美元,后續計劃增加allowlists和NFT空投等權益,還將在dApp商店新增更多創新應用。[2023/8/10 16:17:16]

我準備了一個樣板,這樣你就可以馬上開始編碼了。

以下是啟動項目的Github鏈接:

https://github.com/thmsgbrt/web3-chat-powered-by-ethereum-starter

一旦你克隆了項目,使用npm install安裝依賴項,并用npm start啟動了它,那么花幾分鐘檢查幾個文件以了解應用是如何構造的,也是有必要的。這是非常基本的React,就不在此贅述了。

以下是我們的行動計劃:

A-允許用戶通過MetaMask連接到聊天

B-在我們的前端實例化智能合約

C-從我們的智能合約中獲取消息并顯示它們

D-允許用戶在聊天中發布消息

E-收聽新信息

A - 允許用戶通過MetaMask連接到聊天

要做到這一點,我們首先需要確保MetaMask擴展安裝在了瀏覽器上。

讓我們創建一個Hook來實現這一點:

解釋:

MetaMask在window.ethereum注入了一個全局API。該API允許網站請求用戶的以太坊賬戶,從用戶連接的區塊鏈讀取數據,并建議用戶簽署消息和交易。

肖風:行業合規化、比特幣二層協議、香港開放政策和代幣經濟學等是 Crypto 行業關鍵趨勢:4月10日消息,萬向區塊鏈董事長兼總經理及HashKeyGroup董事長肖風發表主題演講時詳述Crypto行業多個關鍵趨勢,分別為行業合規化、比特幣二層協議、香港開放的政策和代幣經濟學以及ChatGPT。

第一是行業合規化,最近美國監管機構采取了一系列嚴厲的監管措施,執法力度的趨嚴會影響全球大部分國家或地區,這基本意味著Crypto行業合規化的開始;

第二是比特幣二層協議,這將驅動比特幣網絡和比特幣的應用進一步擴張,會改變比特幣的定義,是比特幣價值巨大的發掘機會;

第三是香港開放的政策,香港《虛擬資產政策宣言》的穩步推進代表香港正在代表亞洲重新回到市場中心的位置,香港國際金融中心2.0版呼之欲出。

第四是代幣經濟學,DeFi是適配數字經濟的新金融市場體系,代幣經濟學適配Web3商業應用。

第五是ChatGPT,ChatGPT是AGI的分布式賬本。[2023/4/10 13:54:30]

現在我們已經準備好了Hook,轉向Sidebar.tsx,這樣我們就可以利用它:

以現在,我們有一種方法來檢測是否安裝了MetaMask,如果沒有安裝MetaMask,我們可以警告用戶,他們需要在瀏覽器上安裝MetaMask。

接下來,讓我們為“Connect With MetaMask”按鈕添加一個onClick處理程序:

Volmex Labs推出比特幣和以太坊隱含波動率指數:金色財經報道,Volmex Labs周二推出針對比特幣和以太坊的Volmex隱含波動率指數(VIV)。該公司希望效仿Cboe的VIX波動率指數。Volmex隱含波動率指數使用實時加密看漲期權和看跌期權,衡量比特幣和以太坊期權市場30天預期波動率。

據悉,Volmex Labs是以太坊波動率指數交易平臺volmex.finance創建者。Volmex Labs的投資方包括Alameda Research、CMS Holdings、Three Arrows Capital、Robot Ventures等。(TheBlock)[2022/9/21 7:10:21]

現在,當用戶單擊 Connect With MetaMask 時,MetaMask 擴展程序將提示一個模式并詢問要使用哪個帳戶:

MetaMask 要求我們連接到我們的聊天

現在已連接!

側邊欄現在顯示你的以太坊地址!

為了能夠獲取信息并使用戶能夠發送消息,我們需要有一種方法與我們的智能合約進行通信。

Celsius聯合創始人在法庭上宣布他的股權一文不值:9月7日消息,在9月5日提交給美國破產法院的一份文件中,律師事務所Kirkland & Ellis LLP代表Celsius聯合創始人Daniel Leon提交了一份聲明,確認了他的大股東地位,并宣布他的3.26萬股普通股一文不值。Celsius已在7月申請破產保護,目前持有略高于1.11億美元的現金,預計到11月底將剩余4200萬美元現金。(Cointelegragh)[2022/9/7 13:14:12]

我們要使用ethers庫。

ethers是一個庫,可以幫助我們的前端與智能合約進行對話。ethers通過提供商(在我們的例子中是MetaMask)連接到以太坊節點,它可以幫我們做很多事情。

讓我們創建另一個Hook,它將允許我們在ethers的幫助下與我們的智能合約交互:

讓我們來分解一下:

我們先檢查一下window.ethereum 是否存在并從中獲取了 Web3 Provider。

如果已經定義了accountis,這意味著用戶點擊了“Connect With MetaMask”按鈕,webThreeProvider.getSigner()會返回給我們他們的地址。

最后,返回一個帶有新的ether . contract()的合約實例。

持牌數字資產經紀商OSL向專業投資者銷售證券型代幣:據官方消息,OSL Digital Securities Limited(OSL)今日宣布成為中國香港首家通過私募發行證券型代幣方式進行(STO)向專業投資者分銷證券型代幣的證監會1類持牌數字資產經紀商。

此次發行的參與者包括Animoca Brands、 聯合金融集團(Head and Shoulders Financial Group)、中國富強金融集團(China Fortune Financial Group Limited)、Volmart及大圣資產管理有限公司(Monmonkey Group Asset Management Limited)。

本次項目中的每一個代幣代表一萬美元為單位、跟比特幣掛鉤的美元債券。該債券由BC科技集團(BC集團,OSL母公司)的一家子公司發行,并由BC集團同時擔任債券擔保人。這些代幣是使用以太坊區塊鏈開發的,帶有固定利率票息及與比特幣表現掛鉤的額外票息,有效期為3個月。[2022/7/26 2:38:38]

實例化我們的智能合約

前往App.tsx,在那里我們可以使用我們創建的hook:

你是否注意到了,我們這里有一個錯誤,需要去做兩件事情來解決問題:

contractAddress不是合約地址。

./contract/BlockchainChat-artifact.json是空的。

合約地址

這個地址告訴我們在哪里找到區塊鏈上的區塊鏈聊天智能合約。

你可以使用我為大家部署到 Rinkeby 的以下地址之一:

0x56cD072f27f06a58175aEe579be55601E82D8fcD

0xD99f113cAd1fe2eeebe0E7383415B586704DB5a3

0x23CAEEA0Bb03E6298C2eAaa76fBffa403c20984f

選擇其中任何一個,它們都是指向已部署的區塊鏈Chat智能合約的地址。

合約的ABI

我們的Hook期望一個來自BlockchainChatArtifact的ABI。這是兩個新概念…

當你編譯一個智能合約時,你會得到所謂的工件。

在Remix中(一個用于創建、編譯、測試和部署智能合約的IDE),一旦你的智能合約已經編譯完成,你將在contracts/artifacts下找到工件。

這個工件包含庫的鏈接、字節碼、部署的字節碼、gas估計、方法標識符和ABI。它用于將庫地址鏈接到文件。

現在,什么是“ABI”:

ABI代表應用程序二進制接口。ethers需要我們的BlockchainChat智能合約的ABI,以便知道我們的智能合約可以做什么(方法、事件、錯誤等),并為我們的前端提供與它交互的一種方式。

如果你沒有自己部署智能合約,仍然可以通過復制./contract/ blockchainchat - artifacts .json中的以下工件來繼續本文。

指向工件的Gist鏈接:

https://gist.github.com/thmsgbrt/1db36bc688d6984070badb14652ed65c

應用程序現在應該沒有錯誤了!

現在我們已經在前端實例化了智能合約,我們終于可以獲取消息了。打開Chat.tsx并添加以下getMessages函數:

Chat.tsx通過它的 props接收chatContract實例,我們可以用它來調用chatContract.getMessages()。通過接收到的消息,我們填充messages狀態變量。

如果你的聊天智能合約發布了消息,它們應該在聊天框中可見。否則,讓我們繼續允許用戶發送消息。以下是目前為止你應該看到的:

在Chat.tsx中,添加以下sendMessage函數來發布消息:

讓我們繼續,在textarea中輸入一條消息并發送它!這應該會提示MetaMask,要求驗證交易,繼續:

我們UI中的“send message”按鈕有不同的狀態。它的內容根據交易狀態而變化:

“WAIT”表示交易需要用戶批準。

“SENDING”表示交易正在被驗證。

要查看剛剛發布的消息,請重新加載頁面。它就應該會被添加。

但是在用戶體驗方面,必須重新加載頁面以查看是否有新消息發布并不是非常友好的。

回到我們的智能合約。正如你所看到的,當用戶發布一條消息時,會觸發一個事件:

我們可以通過添加以下setupMessageListener函數來監聽這個事件:

接著,發送一條新消息,這一次,就應該不必重新加載頁面來查看剛剛發布的消息。如果另一個用戶發送消息,這顯然也是有效的。

恭喜完成了本教程的學習。正如上面所承諾的,這里有一個最終項目的鏈接:

https://github.com/thmsgbrt/web3-chat-powered-by-ethereum-finished-project

Source:https://betterprogramming.pub/create-a-web3-chat-powered-by-ethereum-6886824fad7

Tags:CHAAMASMETAMmetamaskluxalpachainmetamask下載教程metamask騙局metamask怎么提現

屎幣
DAO:一文縱覽Safe生態圖景:近30個項目大盤點_COI

數字資產管理平臺Safe(前Gnosis Safe)宣布完成1億美元戰略融資,1kx領投,Tiger Global、A&T Capital、Blockchain Capital、Digi.

1900/1/1 0:00:00
NFT:Uniswap殺入NFT交易市場 OpenSea正面應戰_Pushswap

7月7日,Uniswap Labs在社交媒體向用戶征求NFT產品功能意見,這預示著Uniswap 的NFT交易業務進入上線倒計時.

1900/1/1 0:00:00
SDT:金色數藏 | 《嘻哈一夏》售罄 集成至尊版開啟_USD

摘要:收集全套《嘻哈一夏》數字藏品,即可選擇兌換1份《集成至尊版·嘻哈一夏》。金色財經孵化的數字藝術文化收藏平臺金色數藏,首發同道大叔十二星座夏日限定《嘻哈一夏》數字藏品,上線1小時即售罄,后續.

1900/1/1 0:00:00
USD:行情弱勢震蕩 又要崩盤嗎?_Upbit可以購買usdt嗎

大家下載鏈接:https://m.cryptopal.live/?name=s1(可復制到手機瀏覽器.

1900/1/1 0:00:00
以太坊:項目周刊 | 比特幣閃電網絡容量超過4300個BTC 創歷史新高_區塊鏈

金色周刊是金色財經推出的一檔每周區塊鏈行業總結欄目,內容涵蓋一周重點新聞、行情與合約數據、礦業信息、項目動態、技術進展等行業動態。本文是項目周刊,帶您一覽本周主流項目以及明星項目的進展.

1900/1/1 0:00:00
區塊鏈:分析報告:北京首例“比特幣挖礦案”宣判_MDA

北京首例比特幣“挖礦”合同案二審已經宣判,二審法院北京市第三中級人民法院明確認定涉案“挖礦”合同無效.

1900/1/1 0:00:00
ads