Web3 的承诺之一是应用层的开放性、可组合性和互操作性。一种范例,其中开源软件和工具使其他人能够为他们认为有价值的项目做出贡献,而这些项目通过公开托管他们的代码库来提供透明度。另一个 Web3 计划提供链上贡献证明——证明你可以做你所说的事情的能力。
体现这些 Web3 原则的公司之一是 Truffle。它的大部分工具不仅是开源的,因此任何人都可以做出贡献,而且它们还为那些这样做的人提供 POAP。
本文将探索 Truffle 的开源工具套件、什么是 POAP,并教你如何做出第一个贡献来证明你是 Truffle 的 Web3 构建者。
什么是Truffle?
推荐阅读 1鲸鱼移动:目标再次出现山寨币
2来自 FTX Collapse,对抗乌克兰的武器
如上图所示,Truffle 是一套用于智能合约开发的工具。此外,它是为以太坊创建的首批开发网络之一。从编写到部署以及介于两者之间的所有内容,Truffle 套件使整个过程变得更轻松、更安全。最好的部分是什么?大多数工具都是开源的。因此,你可以更改这些工具以更好地满足你的需求,并与更广泛的 Web3 社区分享你的更改。
Truffle套件 包括以下内容:
- Truffle
- 伽纳彻
- VS 代码扩展的Truffle
- Truffle仪表板
- Truffle盒
让我们看一下这些工具中的每一个,以更好地理解它们。
Truffle
工具包中的旗舰工具Truffle是一个开发环境,可以让构建智能合约项目变得更加容易。该工具包括自动化测试、可配置的构建管道、可编写脚本的部署、内置网络管理等。
Truffle 入门很容易。在终端中键入以下命令以安装该工具,然后初始化一个新项目:
$npm install -g truffle$truffle init
该 truffle init
命令会创建一个具有所需文件夹结构和配置文件的空白项目,以便你可以快速开始构建。
伽纳彻
一旦你有了一个智能合约,你就需要在区块链上对其进行测试。这就是 Ganache 的用武之地。Ganache 是一个本地托管的区块链,可在你的机器上模拟以太坊。它允许你 console.log
在solidity、分叉主网(或任何其他以太坊网络)中使用、设置挖矿选项和模拟真实账户等。
Ganache 对于测试智能合约以了解当你部署到测试网或主网时它们的行为方式至关重要。
安装 Ganache,然后使用以下命令运行它:
$npm install ganache --global$ganache
注意:你可以 使用以下格式使用各种选项启动 Ganache :
$ganache --namespace.option="value"
此外,你可以通过在你的 HTML 代码中包含以下内容,在你的浏览器中运行 Ganache,替换 {VERSION}
为你安装的 Ganache 版本:
VS 代码的Truffle
如果 Visual Studio Code 是你选择的编辑器, 那么Truffle 有一个有用的扩展 ,使你能够在不离开编辑器的情况下创建、构建、调试和部署你的项目。它还包括与 你的 Infura 帐户的直接集成,因此你可以使用自定义 RPC 端点和 Infura 促进的所有可观察性轻松部署你的项目。
安装 Truffle for VS Code 扩展后,你可以通过打开命令面板 ctrl + shift + P
并键入 来启动新项目或运行其他命令truffle
。
Truffle仪表板
开发智能合约项目的风险最大的方面之一是意外暴露钱包的私钥或助记词。 Truffle Dashboard 通过抽象该部分流程同时提供一个与之交互的 GUI 来消除这种风险。
安装最新版本的 Truffle 后,你所要做的就是配置 truffle-config.js
文件以在对象中包含以下内容 networks
:
networks: { dashboard: { port: 24012, } },
然后使用命令启动仪表板 将 在你的浏览器中truffle dashboard
显示 GUI 。http://localhost:24012/rpcs
从那里,你可以连接你的 MetaMask 钱包并选择你希望部署到的网络。当你准备好部署智能合约时,键入以下命令以启动对连接网络的部署:
$truffle migrate --network dashboard
Truffle盒
Truffle Boxes 是将你的项目设置为特定方向的样板或启动器。它们由代码组成,可以让你快速上手,因此你不必每次都重新发明轮子。一些有用的盒子包括 nft -box、 optimism、 arbitrum、 react和 polygon。你甚至可以 创建你的Truffle盒
从可用的 Truffle Boxes 列表中选择一个框 并运行命令:
$truffle unbox
这将创建一个新的 Truffle项目,其中包含所选 Truffle Box 中的所有样板。
为Truffle做贡献
现在你已经熟悉了 Truffle Suite 工具,让我们了解我们如何为他们的文档做出贡献并获得 POAP。
什么是 POAP?
出勤证明协议 (POAP) 是 Web3 中的一个平台和基础设施,用于发行代币以证明某人做了某事。这可能是参加活动、在社区中投票或为项目做出贡献。POAP 是根据出席证明协议智能合约铸造的 NFT,是收藏家持有的数字记录,通常用于证明他们参加了虚拟或物理活动。在我们的例子中,我们将通过为 Truffle 的文档做出贡献而获得 POAP。
你的第一个文档贡献
在本文的下一部分中,我们将逐步完成获得年度贡献者 POAP 并成为 2022 年Truffle贡献者的步骤。Truffle 正在与 GitPOAP合作 向贡献者发布 POAP。GitPOAP 是一个贡献者识别平台,可以轻松地将 POAP 发行集成到 GitHub 中。一旦我们对 Truffle 的文档做出有意义的贡献,我们就可以向 Truffle 的存储库 (repo) 提交拉取请求 (PR) 以合并我们的贡献。之后,我们可以通过 GitHub 登录 GitPOAP,领取我们的 POAP,并在我们的个人资料页面上查看收藏品。
如何提交你的贡献
打开一个新标签并前往 Truffle 的 GitHub 页面。
我们将查看文档以了解我们可以在哪些方面做出贡献。我立即看到我们可能在哪里有用。Truffle 自述文件中的开头句概述了 Truffle 软件的三个不同的价值主张。然而,它缺少一些语法上的关键来强调这一点:可爱的牛津逗号。牛津逗号允许数组中的每个项目都有一个命名空间。虽然它们具有文体(例如你在杂志和报纸上看到的 AP 风格的写作),但它们在技术文档中完全有用。
Truffle 的开场白写道:“Truffle 是以太坊的开发环境、测试框架和资产管道,旨在让以太坊开发人员的生活更轻松。” 在我看来,这句话如果说“Truffle 是以太坊的开发环境、测试框架和资产管道,旨在让以太坊开发者的生活更轻松”,那会更好读。测试框架和资产管道是不同的产品,因此逗号有助于增加一定程度的分离。让我们向 Truffle 的团队提交 PR。无论你的操作系统如何,该过程都是相同的。
首先,让我们在 GitHub 上“分叉” Truffle 的存储库。分叉是 Truffle 仓库的一个单独但相同的版本,我们可以用来提交我们的 PR。我们可以在这个分叉中工作而不影响主仓库。
从这里,我们可以创建我们的 Truffle 分支。我已经做了一个,如下所示:
接下来,我们可以将我们的新仓库“克隆”到我们自己的机器上。这将允许我们在我们选择的 IDE 中处理 repo,这对我来说将是 VS Code。确保我们在正确的(我们自己的)存储库分支中,让我们复制 URL,例如 git@github.com:daviddoswell/truffle.git
并将其粘贴到我们的终端窗口中。
一旦我们这样做了,我们就可以在我们选择的 IDE 中打开项目。
在 VS Code 中,我转到 README.md 文件并找到我要更新的第一句话。我更改它,然后将更改从我的本地副本推送到我的远程(上游)副本。你可以在第 11 行看到我的牛津逗号:
让我们推动这些变化:
该软件现在告诉我们创建一个拉取请求 (PR)。我们可以导航回我们的存储库并检查更改。有时你可以提前联系 repo 维护者,让他们知道你正在从事该项目,特别是如果它是开源的。在我们的案例中,Truffle 维护人员立即看到了我们的 PR 并批准了它。
大多数项目需要两个或更多的问责制批准。不用担心。我们也明白了。
经过几次检查以确保我的 repo 通过了所有安全性、程序化和其他保证后,他们可以合并我的 PR。对于大型项目,这通常需要大约两个小时,但可能迟早。
现在,我们可以前往 GitPOAP 看看 Truffle 是否为我们的贡献发布了 POAP。首先,我们需要连接我们的 MetaMask 钱包。单击登录按钮,然后选择 MetaMask。
接下来,我们可以选择连接我们的 Github 帐户。
不幸的是,我们还不能铸造任何东西。我们必须首先将我们的贡献提交给 GitPOAP。那么,让我们开始入职流程。
按照提示成功提交贡献。
现在,我们等着。
一旦我们的 POAP 出现,我们就可以铸造它。繁荣
现在,我们可以回到我们在 GitPOAP 网站上的个人资料并检查我们是否是官方 POAP 持有者。
我们是
结论
在本文中,你了解了 Truffle 工具套件、什么是 POAP,以及如何通过为 Truffle 的文档做出贡献来获得 POAP。如你所见,通过 POAP 获得贡献证明对于证明你的能力很有用。
此外,像 ConsenSys 这样的公司,他们将他们的一些工具开源并奖励参与者的贡献,他们正在帮助创建一个建立在信任和开放基础上的生态系统。尽管 Web3 仍处于起步阶段,但它的发展方向对开发者和用户来说是有希望的。
要了解有关 Truffle Suite 的更多信息或开始使用他们的工具进行构建, 请查看他们的文档 或 GitHub 存储库。
感谢 Anupam Chugh