Flow 和 Cadence 开发工具概述

这篇具有很好参考价值的文章主要介绍了Flow 和 Cadence 开发工具概述。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

智能合约开发与其他类型的软件开发没有什么不同。编写代码是为了执行特定任务,并且有一些工具可以帮助简化此过程。以太坊生态系统包含许多成熟的工具来帮助构建 Web3 项目,但是像 Flow 这样的更新生态系统呢?

如果到目前为止您一直在关注本系列,您就会知道 Flow 区块链针对数字资产的创建和管理进行了优化。此外,其智能合约语言 Cadence 通过其基于资源的方法和强大的静态类型系统改进了其他语言的缺陷。

在本文中,我们将了解智能合约开发人员可以用来更轻松地在 Flow 上构建的基本工具——例如 CLI、IDE 扩展、客户端库、本地网络等工具。我们还将这些与您可能已经熟悉的以太坊工具进行对比,因此如果您切换到 Flow,您将确切地知道会发生什么。        

命令行界面

命令行界面 (CLI) 是软件开发的基础。它们对于大多数开发人员来说都很直观,并且可以轻松地与其他软件集成。

这种简单的集成也适用于智能合约开发。例如,如果您需要快速部署合约以对其进行测试或使用不同的帐户运行它,那么 CLI 可以提供极大的帮助。稍后,当您想将部署过程添加到 CI/CD 管道时,您会很高兴拥有一个简单的 CLI 工具,您可以使用 shell 脚本实现自动化。

在以太坊等与 EVM 兼容的网络上,Truffle 和 Hardhat 都为这些任务提供了强大的工具。Hardhat Runner用于几乎所有与 Hardhat 相关的操作,而Truffle Console使开发人员能够通过 JavaScript 快速与其智能合约交互,而无需编写脚本文件。

Flow CLI是用于开发、测试和部署以 Cadence 编写的智能合约到 Flow 网络的主要工具。此外,它是您与 Flow 区块链交互时使用的界面,例如创建和检查帐户、签署交易或使用脚本自动执行任务。

与以太坊不同,您将生成一个地址以与区块链交互,Flow 要求您拥有一个帐户。该账户持有您的智能合约、代币和密钥,是与区块链交互所必需的。您可以使用 Flow CLI 轻松创建帐户。

IDE 扩展

接下来,您想编写一些代码,Cadence 和 Solidity 等语言提供静态类型检查,为您提供有关代码在编辑器中的行为方式的一些有用信息。 

虽然 Solidity 带有一个基本的类型系统,可以防止您混合不同的数字类型,但 Cadence 更进一步并引入了所有权的概念。你可能从 Rust 知道这一点,但基本思想是 Cadence 拥有只能由一个地址拥有的资源,例如 NFT。Cadence IDE 扩展将在您编写代码时立即通知您有关 NFT 交易的问题,同时还提供语法突出显示、代码完成和类型检查。

短绒

您可能知道来自 JavaScript 等语言的 linter,其中没有可用的静态类型。在这种情况下,linter 有助于防止常见错误并帮助开发人员遵循最佳实践。

Solhint也是如此,它是Solidity的一个 linter 工具。同样,Solidity 的静态类型系统非常初级,在使用该语言时并不能防止许多错误。Solhint 在这里提供帮助,并在类型系统之上提供提示以避免误用。 

Cadence 语言具有更复杂的系统类型,并且提供比 Solidity 更多的帮助。正确键入的 Cadence 智能合约比正确键入的 Solidity 合约更安全。

典型的 linter 功能通过其类型系统直接内置到 Cadence 语言本身中,但是如果您想对 CI/CD 管道中的多个 Cadence 文件运行类型检查,Cadence lint工具可以提供帮助。

本地网络

本地网络或网络模拟器是一种在您的开发计算机上运行区块链网络的工具,因此您可以在干净的环境中进行测试,而不必冒险将未完成的智能合约推送到实时区块链。本地网络还具有较低的延迟并允许您控制块的创建,因此您可以逐步完成智能合约执行时发生的所有事情。

在 EVM 上进行开发时,您可能知道并使用Hardhat Network或 Ganache 来完成此任务。这两种工具都在您的本地机器上模拟了一个区块链环境,并允许您分叉一个主网版本以与真实账户和合约进行交互。 

Flow 提供了一个类似的功能,称为Flow Emulator,它模拟真实的 Flow 网络,但为您提供了更多交互选项。它启用帐户存储限制,设置初始 FLOW 令牌供应,并在重启之间启用持久状态。这个强大的工具通过上面提到的 Flow CLI 使用,它们一起提供了开发人员构建功能齐全的 dapp 所需的所有功能以及测试它们的环境。

安装Flow CLI后,启动模拟器所需要做的就是在终端中输入命令 flow emulator。

测试网水龙头

在开发智能合约时,您通常需要加密代币来部署代码并与之交互。否则,你将如何测试交易?

Flow,就像以太坊一样,有一个带有水龙头的测试网,它可以为您提供免费的测试网 FLOW 或 FUSD 用于开发。

此外,Blocto Swap 是一种多用途工具,可让用户在 Flow 上轻松创建帐户。只需输入一个电子邮件地址。Blocto Swap 允许用户轻松地将他们的代币兑换成不同类型的代币以用于测试。如果该集合尚未在帐户中初始化,则此工具也是获取 FUSD 的便捷方式。

请记住:测试网上的代币在测试之外没有任何价值。

自动化测试

Cadence 和 Solidity 都有测试自动化工具,允许您使用 JavaScript 编写测试。

Hardhat 开发工具使用 Chai 测试运行程序,并为您提供用于 EVM 的智能合约匹配器和网络助手。

Cadence 有自己的以Jest为基础的工具,但它们与框架无关。因此,如果 Jest 不是你的菜,你可以使用不同的测试运行器。

区块链探索者

所有区块链网络的另一个重要部分是区块浏览器——一个允许你检查链上发生的一切的工具。 

对于以太坊网络,您可能知道Etherscan。它是一个 Web 应用程序,可让您浏览主网和测试网的交易和地址。

Flow 带有一个更强大的工具,Flowser!

Flowser(流浏览器)是一个 Web 应用程序,但您可以在本地运行它。它允许您浏览 Flow 主网和使用 Flow Emulator 启动的任何本地网络。它甚至带有一个 GUI 来配置和启动模拟器并管理您的开发钱包。

但是,如果您需要做的只是检查交易或在 Flow 主网或测试网上浏览,那么传统的区块浏览器 Flowscan将满足您的需求。

此外,flow-view-source工具允许用户检查帐户及其各种属性,例如余额、密钥和它们可能包含的任何合同。文章来源地址https://www.toymoban.com/news/detail-406095.html

到了这里,关于Flow 和 Cadence 开发工具概述的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Web3、区块链、合约开发语言、框架、工具深度对比选型【万字长文】

    目录 前言 1. 智能合约语言 Solidity Vyper Rust 智能合约语言总结 Chainlink

    2023年04月09日
    浏览(46)
  • springboot+chatgpt+chatUI Pro开发智能聊天工具

    应广大网友要求,也为了节约大家的时间现为大家奉献上源码下载地址:http://yhrun.cn/article/13源码下载后在IDEA导入项目后自己修改配置文件中apiKey运行即可。 一、技术介绍 1.chatgpt-java是一个OpenAI的Java版SDK,支持开箱即用。目前以支持官网全部Api。支持最新版本GPT-3.5-Turbo模型

    2023年04月18日
    浏览(35)
  • AI日报:苹果为使用Mac的人工智能开发者推出开源工具

    苹果正在为开发人员提供新的工具,用于在其硬件上训练和运行大型语言模型。 苹果公司通过发布一系列新的开源人工智能工具,向开源人工智能领域致敬。 用于机器学习的MLX框架是专门为苹果的Silicon处理器架构开发的。MLX可通过GitHub获得,旨在简化苹果硬件上的机器学习

    2024年02月04日
    浏览(72)
  • 技术之外(02)猿创征文|宝藏工具篇|数字芯片设计,嵌入式开发,人工智能|没我可以,没你不行

    新芯设计:专注,积累,探索,挑战   由于工作的繁忙,已经有较长的时间没有发文了。偶然之间,在回复读者来信的时候,关注到了 CSDN 创作活动中的「 猿创征文 」 第四季 | 2022 年我的开发者工具 。这时才晃过神来,2022 年,已经跨入了倒数的一个四分之一,岁月的印

    2024年01月23日
    浏览(72)
  • 004.智能合约的结构概述

    智能合约是一种特殊类型的程序,它在以太坊区块链上执行。智能合约通常由以下几部分组成: 数据结构: 智能合约中可能包含多个变量,用于存储合约状态。这些变量可以是基本类型(如整型、布尔值)或复杂类型(如数组和结构体)。 函数: 智能合约中包含多个函数,每

    2024年02月12日
    浏览(36)
  • Web3 Jam 参赛秘籍,Flow Cadence 技术指南请查收!

    TinTinLand 联合 Flow 举办的首创区块链行业 Web3 Jam 活动正在火热招募中! 本次活动以当前最热门的区块链 NFT+、NFT featured 为赛道,面向广大 Web2 和 Web3 领域的技术开发者,获得主流用户认可成熟项目与来自 Web3 的技术和创意的结合,会碰撞出怎样的火花?又将为我们带来怎样精

    2024年01月18日
    浏览(49)
  • 使用文心一言等智能工具指数级提升嵌入式/物联网(M5Atom/ESP32)和机器人操作系统(ROS1/ROS2)学习研究和开发效率

    以M5AtomS3为例,博客撰写效率提升10倍以上: 0. Linux环境Arduino IDE中配置ATOM S3_zhangrelay的博客-CSDN博客 1. M5ATOMS3基础01按键_zhangrelay的博客-CSDN博客 2. M5ATOMS3基础02传感器MPU6886_zhangrelay的博客-CSDN博客 3. M5ATOMS3基础03给ROS1发一个问候(rosserial)_zhangrelay的博客-CSDN博客 4. M5ATOMS3基

    2024年02月14日
    浏览(55)
  • 【智能合约】智能合约开发指南

    目录 1. 选择智能合约语言 1.1 Solidity 1.2 Vyper 1.3 Move 1.4 Rust 2. 部署和测试框架 2.1 概览 2.2 Remix 2.3 Truffle 2.4 Hardhat 2.5 其他框架 3. 前端工具 3.1 入门 3.2 Web3.js/Ethers.js 3.3 脚手架 3.4 Moralis 4. 钱包 4.1 小狐狸钱包(MetaMask) 4.2 多签钱包 4.3 冷钱包 5. 区块浏览器 6. 测试网与水龙头 7.

    2024年02月09日
    浏览(47)
  • 开发工具-压力测试工具 ab

    在学习ab工具之前,我们需了解几个关于压力测试的概念 吞吐率(Requests per second) 概念:服务器并发处理能力的量化描述,单位是reqs/s,指的是某个并发用户数下单位时间内处理的请求数。某个并发用户数下单位时间内能处理的最大请求数,称之为最大吞吐率。 计算公式:

    2024年02月04日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包