在本教程中,我们将向您展示使用 Infura 和 Truffle 开始使用 Celo Composer 是多容易。到本文结束时,您将能够将智能合约部署到 Celo 测试网并构建 React dapp 前端。
Infura 很高兴地宣布将 Celo 网络添加到 Infura 平台。Celo 是一个与 EVM 兼容的第 1 层,希望通过区块链加速社会公益。它是 ReFi 或“再生金融”的主要参与者,该运动利用 Web3 解决气候变化、收入不平等和生物多样性等社会问题。
由于世界上大部分地区都使用智能手机进行操作,因此 Celo 将手机视为其网络中的【一等公民】。移动加密钱包 Valora 最初是在 Celo 内部开发的,然后于 2021 年推出。
Celo 通过许多举措和技术功能支持上述值得称赞的目标,例如:
所有这些特点使 Celo 对那些希望利用区块链做好事的人具有吸引力。您准备好在此基础上进行构建了吗?在本教程中,我们将向您展示使用 Infura 和 Truffle 开始使用 Celo Composer 是多容易。到本文结束时,您将能够将智能合约部署到 Celo 测试网并构建 React dapp 前端。
在开始之前,你需要:
使用 Celo 端点创建新的 Web3 访问密钥
我们将从创建启用 Celo 端点的新 Infura Web3 访问密钥(以前称为项目 ID)开始。我们的应用程序将使用此密钥对 Celo 网络执行交易。以下是使用 Infura 执行此操作的方法(或遵循此入门指南)。
输出应该是:
https://celo-alfajores.infura.io/v3/请记下这一点,因为这将在本教程的后续内容中派上用场。
Celo Composer
Celo Composer 提供简单的模板以开始开发。您可以按照自述文件中的步骤使用 Celo Composer。
要使用 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 进行构建,请立即注册一个免费帐户。如需更多技术文档,请访问我们的文档。
原文链接: https://blog.infura.io/post/tutorial-build-with-infura-on-celo
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!