教程:在以太坊兼容的第 1 層網絡 Celo 上使用 Infura 進行構建

由於世界上大部分地區都使用智能手機進行操作,因此Celo 將手機視為其網絡中的【一等公民】。移動加密錢包Valora最初是在Celo 內部開發的,然後於2021 年推出。

Celo 通過許多舉措和技術功能支持上述值得稱讚的目標,例如:

  • 使用零知識證明和負碳權益證明(PoS) 共識機制來降低其環境足跡。 Celo 的碳負PoS 是通過與Project Wren的合作,通過每日補償來實現的。

  • 確保低gas 費用,可以用ETH、CELO 代幣或Celo 的任何原生穩定幣(例如cUSD、cEUR 或cREAL)支付

  • 通過開發外部項目Valora 並強調移動優化語言(如React、React Native 和Flutter),優先考慮移動優先使用。

所有這些特點使Celo 對那些希望利用區塊鏈做好事的人具有吸引力。您準備好在此基礎上進行構建了嗎?在本教程中,我們將向您展示使用Infura 和Truffle 開始使用Celo Composer 是多容易。到本文結束時,您將能夠將智能合約部署到Celo 測試網並構建React dapp 前端。

先決條件

在開始之前,你需要:

入門

使用Celo 端點創建新的Web3 訪問密鑰

我們將從創建啟用Celo 端點的新Infura Web3 訪問密鑰(以前稱為項目ID)開始。我們的應用程序將使用此密鑰對Celo 網絡執行交易。以下是使用Infura 執行此操作的方法(或遵循此入門指南)。

  • 登錄Infura主頁

  • 單擊右側的按鈕- 創建新密鑰

  • 從彈出的模態:

  • 選擇網絡→ Web3 API

  • 在名稱字段中輸入您喜歡的任何內容?

  • 點擊“創建”

  • 向下滾動直到找到Celo

  • 從網絡下拉列表中,選擇Alfajores 測試網端點

  • 點擊右側圖標複製內容

輸出應該是:

https://celo-alfajores.infura.io/v3/

請記下這一點,因為這將在本教程的後續內容中派上用場。

Celo Composer

Celo Composer提供簡單的模板以開始開發。您可以按照自述文件中的步驟使用Celo Composer。

要使用Truffle,您需要做一些調整。

你有兩個選擇:

1. 您可以克隆原始存儲庫並取消註釋Truffle 行( 此處此處此處

或者

2.你可以fork 一個我們已經為你處理好的倉庫:

`Git clone http://www.github.com/cooganb/celo-infura-truffle `

測試網基金

我們需要來自Celo 的測試網Alfajores 的一些測試資金。獲取離您最近的MetaMask 開發者帳戶並索取一些免費的樂趣錢。 (如果您允許,測試網站點會將Alfajores 添加到您的MetaMask 帳戶。如果由於某種原因您沒有收到提示,請查看Chainlist 。)

現在我們有一些資金可以使用,讓我們將我們的合約部署到Celo 的測試網。我們將以兩種不同的方式進行。首先,我們將使用Infura 和Truffle 命令行部署。接下來,我們將使用帶有自定義Infura 附加組件的Truffle 儀表板。

部署合約

方法一:命令行部署

對於此演示,我們將為Celo 編寫一個基本的Greeter 合約,該合約已經編寫好並準備就緒。我們正在使用Truffle 來編譯合約。確保已安裝Truffle ,然後運行以下命令:

教程:在以太坊兼容的第 1 層網絡 Celo 上使用 Infura 進行構建

對於合同部署,我們需要創建擁有Celo 測試網資金的私鑰並將其添加到Truffle 目錄中的.env 文件中。

您還需要將Infura 帳戶信息添加到truffle-config 文件中。在這裡填寫; 它也如下所示:

教程:在以太坊兼容的第 1 層網絡 Celo 上使用 Infura 進行構建

準備好上述詳細信息後,我們可以使用以下命令部署合約:

教程:在以太坊兼容的第 1 層網絡 Celo 上使用 Infura 進行構建

假設我們有足夠的資金並且我們已經正確設置了truffle-config.js,我們應該會在終端中看到合約部署成功。

方法二:Infura + Truffle Dashboard部署

如果您已經使用上述方法部署了合約,則可以跳至“構建前端”

當然,部署智能合約的方法不止一種,所以讓我們來看看將Infura 添加為自定義端點。 Truffle 有一個很棒的功能,稱為儀表板,我們需要做的就是確保我們使用上一個示例中的MetaMask 帳戶。這是一個很好的選擇,我們可以使用它來安全地部署我們的合約,並能夠從Infura 儀表板跟踪指標。

首先,讓我們將Infura Celo 端點添加到MetaMask。在MetaMask 的“網絡”設置下,點擊“添加網絡”:

教程:在以太坊兼容的第 1 層網絡 Celo 上使用 Infura 進行構建

然後,添加網絡詳細信息,但使用來自Infura 的特定Celo RPC 端點:

教程:在以太坊兼容的第 1 層網絡 Celo 上使用 Infura 進行構建

單擊“保存”,您就可以使用支持Infura 的Alfajores 網絡端點了。

 

使用以下命令在新終端中啟動Truffle Dashboard:

教程:在以太坊兼容的第 1 層網絡 Celo 上使用 Infura 進行構建

您應該會看到一個打開的瀏覽器窗口。單擊“連接錢包”並確保您使用的是自定義Infura 端點帳戶:

教程:在以太坊兼容的第 1 層網絡 Celo 上使用 Infura 進行構建

打開一個新終端並運行以下命令來部署Greeter 合約:

教程:在以太坊兼容的第 1 層網絡 Celo 上使用 Infura 進行構建

點擊交易上的“處理”,它會提示MetaMask 打開。確認交易。

假設您有資金並且一切順利,應該部署合約。

構建前端

現在,讓我們設置事物的前端。我們將設置React,但您也可以使用React Native(有或沒有Expo)或Flutter。

進入react-app packages 文件夾,安裝依賴項並啟動開發環境:

教程:在以太坊兼容的第 1 層網絡 Celo 上使用 Infura 進行構建

在瀏覽器中打開“localhost:3000”(除非您更改了默認端口)並連接您的錢包。與以太坊不同,Celo 有許多不同的錢包選項,包括Valora。這說明了Celo 網絡上發生的發展的多樣性。

連接到您通過Alfajores 出資的賬戶後,您應該會看到以下內容:

教程:在以太坊兼容的第 1 層網絡 Celo 上使用 Infura 進行構建

單擊工具欄上的“0”索引,您將獲得有關我們部署的Greeter 合約的信息:

教程:在以太坊兼容的第 1 層網絡 Celo 上使用 Infura 進行構建

從這裡,您可以從我們的合約中讀取或設置值`greet`。試試看!

結論

這只是使用celo-composer 在Celo 上實現的可能性的開始。如果您想使用模板構建一些東西,請使用`npx @celo/celo-composer` 並選擇`react-with-tailwind` 模板。 Celo-composer 還支持更多移動優先的語言,例如Flutter 和React Native。

Celo 還有一項令人興奮的新功能即將推出,稱為SocialConnect ,這是一種“用於創建證明映射鏈下標識符的開源協議”,例如手機號碼、Twitter 帳戶或電子郵件地址。它允許Celo 用戶向這些標識符匯款,即使這些賬戶背後的用戶還沒有Celo 賬戶。一旦他們登錄並領取標識符,他們就可以領取資金。這是一種可能對匯款行業產生巨大影響的創新方法,因為人們可以使用SocialConnect 以穩定幣的形式向親朋好友匯款。

所有這些都說明了cLabs、Celo 基金會和Celo 協議的重點,即為最需要財政和環境援助的地方帶來區塊鏈的效率、包容性和其他好處。 Infura 很高興與Celo 一起努力。

要開始在Infura 上使用Celo 進行構建,請立即註冊一個免費帳戶。

如需更多技術文檔,請訪問我們的文檔