主页 > 华为手机怎么下载imtoken > 区块链在比特币上的应用 Web3 时代 DevOps 成功指南

区块链在比特币上的应用 Web3 时代 DevOps 成功指南

华为手机怎么下载imtoken 2023-02-06 07:32:23

关注留言点赞,让你了解最流行的软件开发知识和最新的技术行业动态。 " Type="normal"-->SectionTitle="DevOps 彻底改变了 Web2 开发。 现在,这些新工具正在将 DevOps 引入 Web3——用于测试、构建、CI/CD、监控、规划和反馈。 " Type="正常"@@

随着 Web3 项目变得越来越复杂,对 DevOps 实践和理念的需求也越来越大,这些实践和理念已被证明对大规模的 Web2 应用程序(有时是数十亿用户)非常熟练。

在本文中,我们探讨了 DevOps——一种促进软件快速高效协作、维护和发布的工程哲学——如何在 Web3 中发挥作用。 我们将介绍您可以在传统软件工程中按原样使用的工具,我们将研究专门用于端到端区块链应用程序开发的产品。

什么是 DevOps?

DevOps 是一种软件开发理念,强调各种工程利益相关者之间的协作、沟通和集成。

如果使用得当,DevOps 可以显着提高软件开发的速度和质量,以及正在开发的系统的可靠性和弹性。 DevOps 创建了一个统一的管道,可促进高效的编码和测试、持续交付、稳健的发布、监控和规划。

鉴于 DevOps 汇集了许多复杂的操作,它通常需要为每个组件使用单独的工具。 因此,Web3 工程师可以访问极其成熟的 DevOps 工具生态系统。

然而,与 Web3 相关的细微差别并非来自 Web2。 一个这样的案例是使用一个公共的、去中心化的分类账作为后端区块链在比特币上的应用,而不是一个私有的、集中的数据库。 幸运的是,Web3 特定的 DevOps 工具正在迅速增长,这要归功于像 ConsenSys 这样的公司,它们为每个开发阶段提供必要的工具以简化 Web3 工程。

Web3 的 DevOps 工具

如前所述,Web3 DevOps 是传统 Web2 工程工具和满足 Web3 独特需求的产品的组合。 在本节中,我们将研究可用于 DevOps 管道的每个组件的工具。 让我们来看看 DevOps 的一些阶段,看看它们在 Web3 中是什么样子的:

构建测试 CI/CI 监控规划和反馈构建

也许是最明显和可见的组件,构建或开发团队负责创建新功能、改进现有功能、修复错误和记录代码。

区块链工程通常需要创建在区块链之上运行的称为智能合约的特殊程序。 因此,构建此类应用程序需要一套独特的工具。 有许多可用的开发环境,例如 Remix IDE,可以促进这一点。 然而,最受欢迎和最强大的可用选项是 Truffle Suite。

Truffle Suite 允许开发人员与 Web3 组件(如钱包、链和节点提供商)无缝协作。 您可以使用 Truffle 做的一些事情包括:

使用 Solidity 编写智能合约 编写将智能合约部署到您选择的链的脚本 允许无缝集成 节点提供商,如 Infura 集成其他有用的第三方库,如 Ethlint

其他选项包括用于 EVM 智能合约的 Brownie 和 Hardhat、用于 Solana 的 Anchor 和用于 Flow 的 Playground GUI。

测试

测试是 Web3 DevOps 的重要组成部分,因为它有助于确保软件质量和可靠性。 这对于 Web3 来说更为重要,因为在 Web3 中,您经常要处理不可变且部署和维护成本高昂的合约。

在 DevOps 环境中可以使用多种类型的测试,包括单元测试、集成测试、功能测试和性能测试。 在 Web3(更具体地说是区块链)的情况下,单元和集成测试可能是最重要的。 前者涉及测试软件的单个单元或组件以确保它们正常工作。 后者更侧重于软件的不同组件如何协同工作。

通常建议开发人员/运维工程师在将其部署到公共网络之前设置区块链的本地实例进行测试。 允许我们这样做的最流行的工具之一是 Ganache。 因为 Ganache 由同一个开发团队维护,所以它可以无缝集成到 Truffle 套件中。

测试通常以与 web2 相同的方式编写,使用 Mocha 和 Chai 等库。 Truffle 还内置了对测试的支持。

哈比特币区块链_比特币交易链区块拥堵_区块链在比特币上的应用

传统的 Truffle 测试和使用 Mocha 的测试

就其本质而言,智能合约往往是不可变的,并且不会容忍严重的安全漏洞。 因此,Web3 安全测试的程度远高于传统 Web2 项目的预期。 如果合约预计处理大量资金和/或资产,除了上述测试外,强烈建议进行外部安全审计。

持续集成和持续交付

持续集成和持续交付,通常缩写为 CI/CD,涉及自动化构建、测试和部署软件更新和新功能的过程。

一旦开发团队将新代码发布到存储库,CI 组件就会将代码集成到代码库中以确保不会发生破坏性更改。 一旦更改被认为令人满意,就会触发新构建(通过 CD 工具)并将其部署到各种环境(通常是暂存和生产环境)。

虽然某些测试和测试环境在使用 Web3 dapps 时可能会有所不同区块链在比特币上的应用,但 Truffle 与传统的 CI/CD 工具(如 Gradle、Jenkins 和 CircleCI)配合得非常好。

这些工具开箱即用的一些功能包括:

自动部署成功通过测试并创建新构建实时构建请求与许多工具集成,包括 GitHub 和 Assembla 审计日志

如上所述,您选择的工具的安装和设置与任何其他软件工程项目几乎相同,并在需要时提供企业支持。

监视器

与其姊妹组件一样,监控可确保系统性能和可靠性。 它通过跟踪系统的健康状况和性能,并及时发现和解决问题来实现这一点。

DevOps 中监控的关键方面包括从系统收集和存储日志数据、配置系统以在满足特定条件或阈值时发送警报,以及显示系统实时性能和健康状况的仪表板。

在处理 dApp 时,我们有兴趣监控区块链的整体健康状况以及特定于我们的智能合约的活动和事件。 Infura 等领先的节点提供商通过易于访问的 API 和仪表板公开这些宏观和微观评估。

对于通用区块链,Infura 提供了 API,您可以使用这些 API 访问与该特定区块链相关的任何信息。 您可能想要监控的一些 Web3 信息包括:

当前gas price block number 特定地址的余额 在特定地址编译智能合约代码gas fee history

比特币交易链区块拥堵_哈比特币区块链_区块链在比特币上的应用

如果您使用 Infura 的节点,它们还会为您提供有关智能合约/dApp 健康状况、Infura 见证的流量、有多少用户与它们交互等详细信息。