透過Web3將智慧合約(Solidity程式碼)連線到使用者介面

買賣虛擬貨幣
透過Web3將智慧合約(Solidity程式碼)連線到使用者介面。如果您也是那些仍在努力尋找一個可靠開發教程的初學者之一,那麼對於您來說,這無疑是必讀的文章。兩個必備元件在我們深入瞭解實際過程之前,我只想對一個非常關鍵的細節做一個非常簡短的修改。既然已經知道Web3是一個真正幫助我們將智慧合約連線到前端的庫。但是為了成功連線到智慧合約,Web3首先還需要兩個非常關鍵的元件。這兩個元件是:應用程式二進位制介面(ABI):它基本上包含所有功能,它們的許可權以及智慧合約中的其他細節(採用JSON格式)。
地址(ADDRESS):這是在遷移實體程式碼後生成的智慧合約的地址。現在您就可以牢記這些細節了,讓我們繼續前進,嘗試實際將智慧合約連線到前端的過程。先決條件1.Ganache CLI:為了讓這個過程非常簡單,基本上可以將其視為可定製的區塊鏈模擬器,它為您提供10個免費的以太坊帳戶,其中每個帳戶都攜帶100個以太坊。安裝:$npm install -g ganache-cli
2. Metamask Extension:毫無疑問,這是最必要的要求,因為它可以幫助我們在Firefox或Chrome等常規瀏覽器中訪問啟用了以太坊的分散式應用程式(DAPP)。3.Truffle:這是最好的開發工具,包括所有必要的檔案和環境,您不僅可以部署和開發智慧合約,還可以對其進行測試。安裝:$npm install -g truffle最終建立聯絡,到這裡您已成功成功安裝所有必備元件,現在讓我們將智慧合約連線到前端。儘管您可以選擇各種框架來開發前端,但到目前為止,讓我們開始吧。
好吧,無可否認,考慮到React本身的複雜性,從頭開始編寫所有程式碼可能很麻煩。好吧,truffle為您提供了一些支援,該程式碼為您提供了一些將React與Web3連線的樣板程式碼。您所要做的就是安裝truffle的React Box。安裝$truffle unbox react第1步:Edit trufle-config.js:從trufle中解壓react元件後,第一個任務是在module.export部分編輯網路物件。將主機設定為localhost,埠設定為8545。為什麼這樣做?

好吧,我們需要將dapp連線到本地區塊鏈。在我們的案例中,Ganche CLI將完成這項工作。最重要的是,Ganache CLI偵聽埠8545,這就是為什麼我們在tuffle.js中將埠設定為8545的原因。

第2步:啟動Ganache CLI:下一部分是執行終端命令ganache-cli以啟用Ganache。
第3步:設定METAMASK:

說實話,這是事情可能變得醜陋的部分。因此,讓我們瞭解此步驟的基礎知識。

Metamask可以簡單地看作是一種工具,可以將您的常規瀏覽器(即Firefox或Chrome)基本上轉換為可以與區塊鏈通訊的工具。

在開發過程中,可以透過為此metamask擴充套件提供合適的埠並設定其與我們的開發帳戶的連線來完成。

為此,您有兩個可靠的埠用於開發目的。

· 埠7545:-使用Ganache GUI
· 埠8545:-使用Ganache CLI

因此,假設您已在自己喜歡的瀏覽器上成功建立了Metamask擴充套件程式,現在讓我們從主要部分開始。

如您所見,預設情況下,此副檔名連線到以太坊主網路,這不是您要用於開發目的的所有帳戶(除非您真的很富有並且擁有大量以太幣)。因此,單擊下拉選單,然後選擇Localhost8545。(因為Ganache CLI使用埠8545)。

設定埠後,現在單擊右上方的圓形按鈕,然後選擇“匯入帳戶”選項。

在此將要求您輸入要使用的帳戶的私鑰。記住,Ganche CLI已經為我們提供了10個帶有100個免費以太幣的帳戶。好了,從這10個帳戶中選擇任何私鑰並將其貼上到此處。

就這樣,既然您已經設定了帳戶,那麼您就可以開始開發過程了。

最後,用REACT啟動前端,因此現在可以簡單地啟動前端部分了。

請遵循以下步驟:

現在到 truffle react

1.輸入trufle compile命令。
2.然後輸入命令truffle migrate。

注意:一旦您遷移了智慧合約,就會因gas而扣除少量的eth。因此,單擊瀏覽器上的Metamask擴充套件,然後檢查是否扣除了一些金額。如果是的話,那麼您的設定就可以了。

4.轉到客戶端目錄,然後輸入命令npm start。
5.開啟瀏覽器,然後轉到localhost:3000。

您可能會看到這樣的Metamask彈出視窗。

這只是您需要批准的一個簡單事務,以便從智慧合約獲得價值到前端部分。只需單擊確認按鈕。

注意:您是否看到一行顯示,儲存的值是:5.此處的值5來自智慧合約,因此表示您的前端與合約同步。

而已。您已透過WEB3和Ganache CLI成功將React與Solidity智慧合約整合在一起。

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读

;