由於世界上大部分地區都使用智能手機進行操作,因此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 前端。
先決條件
在開始之前,你需要:
你最喜歡的IDE
入門
使用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 行( 此處、 此處和此處)
或者
`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 ,然後運行以下命令:
對於合同部署,我們需要創建擁有Celo 測試網資金的私鑰並將其添加到Truffle 目錄中的.env 文件中。
您還需要將Infura 帳戶信息添加到truffle-config 文件中。在這裡填寫; 它也如下所示:
準備好上述詳細信息後,我們可以使用以下命令部署合約:
假設我們有足夠的資金並且我們已經正確設置了truffle-config.js,我們應該會在終端中看到合約部署成功。
方法二:Infura + Truffle Dashboard部署
如果您已經使用上述方法部署了合約,則可以跳至“構建前端”
當然,部署智能合約的方法不止一種,所以讓我們來看看將Infura 添加為自定義端點。 Truffle 有一個很棒的功能,稱為儀表板,我們需要做的就是確保我們使用上一個示例中的MetaMask 帳戶。這是一個很好的選擇,我們可以使用它來安全地部署我們的合約,並能夠從Infura 儀表板跟踪指標。
首先,讓我們將Infura Celo 端點添加到MetaMask。在MetaMask 的“網絡”設置下,點擊“添加網絡”:
然後,添加網絡詳細信息,但使用來自Infura 的特定Celo RPC 端點:
單擊“保存”,您就可以使用支持Infura 的Alfajores 網絡端點了。
使用以下命令在新終端中啟動Truffle Dashboard:
您應該會看到一個打開的瀏覽器窗口。單擊“連接錢包”並確保您使用的是自定義Infura 端點帳戶:
打開一個新終端並運行以下命令來部署Greeter 合約:
點擊交易上的“處理”,它會提示MetaMask 打開。確認交易。
假設您有資金並且一切順利,應該部署合約。
構建前端
現在,讓我們設置事物的前端。我們將設置React,但您也可以使用React Native(有或沒有Expo)或Flutter。
進入react-app packages 文件夾,安裝依賴項並啟動開發環境:
在瀏覽器中打開“localhost:3000”(除非您更改了默認端口)並連接您的錢包。與以太坊不同,Celo 有許多不同的錢包選項,包括Valora。這說明了Celo 網絡上發生的發展的多樣性。
連接到您通過Alfajores 出資的賬戶後,您應該會看到以下內容:
單擊工具欄上的“0”索引,您將獲得有關我們部署的Greeter 合約的信息:
從這裡,您可以從我們的合約中讀取或設置值`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 進行構建,請立即註冊一個免費帳戶。
如需更多技術文檔,請訪問我們的文檔。