​Flow Emulator 工具介绍

Flow Emulator 是一个 flow 官方推出的轻量级工具,可以模拟实际Flow网络的行为,跟真实节点的api 功能基本接近,使得开发人员可以在本地方便得进行开发和调试.本文会介绍如何安装和使用Flow Emulator.

​Flow Emulator 工具介绍

Flow Emulator 是一个 flow 官方推出的轻量级工具,可以模拟实际Flow网络的行为,跟真实节点的api 功能基本接近,使得开发人员可以在本地方便得进行开发和调试.本文会介绍如何安装和使用Flow Emulator.

使用Flow CLI运行模拟器

Flow Emulator 与 Flow CLI 捆绑在一起,Flow CLI 是用于处理Flow的命令行界面。 

1.安装 Flow CLI

linux 或者 mac (推荐)

sh -ci “$(curl -fsSL https://storage.googleapis.com/flow-cli/install.sh)” “`

安装成功后,你会看到以下内容

➜ ~ sh -ci "$(curl -fsSL https://storage.googleapis.com/flow-cli/install.sh)"Downloading version v0.11.1 ...############################################################################################################### 100.0%Successfully installed the Flow CLI to /usr/local/bin.Make sure /usr/local/bin is in your $PATH environment variable.

windows,在 PowerShell[1] 中运行,

iex "& { $(irm 'https://storage.googleapis.com/flow-cli/install.ps1') }"

2.启用Flow CLI启动仿真器

在你的命令行中输入

flow emulator start --init

如果你看到类似这样的输出,代表你已经成功了

➜ ~ flow emulator start --init⚙️ Flow client initialized with service account:👤 Address: 0xf8d6e0586b0a20c7INFO[0000] ⚙️ Using service account 0xf8d6e0586b0a20c7 serviceAddress=f8d6e0586b0a20c7 serviceHashAlgo=SHA3_256 servicePrivKey=f761f96b75cdd673010d0097d0ffca291f4cfc64006ea9f7de4900d84b96a511 servicePubKey=aae6f06e344ac908c0c6dd46bba18420940929112d01a4a98eb2c4bde81175db7f32b3c79a13f7b903d3c831e5afe6db3395e88fde5378017858010470c0f7f1 serviceSigAlgo=ECDSA_P256INFO[0000] 🌱 Starting gRPC server on port 3569 port=3569INFO[0000] 🌱 Starting HTTP server on port 8080 port=8080

介绍几个额外的参数

•-v 启用详细日志记录(这对于调试很有用)-p端口上侦听(默认值:3569)•-block-time块之间的时间间隔(默认值:5s)•-persist启用持久性存储(使用Badger键值数据库)•-dbpath路径存储数据库(默认值:./flowdb)

如果你需要更多详细参数,请点击[2] 

使用 docker 来启动模拟器

用于模拟器的Docker构建会自动构建并推送至 gcr.io/dl-flow/emulator,并通过commit和语义版本进行标记。如果你安装了 docker,请使用

docker run -e FLOW_PORT=9001 -e FLOW_VERBOSE=true gcr.io/dl-flow/emulator

模拟器使用flow.json配置文件来存储持久配置,包括帐户密钥。为了启动,必须配置至少一个密钥(称为服务密钥)。创建其他帐户时,默认情况下使用此密钥。

由于Docker默认情况下不保留文件,因此每次模拟器映像重新启动时都会重新生成此文件。对于必须始终使用相同服务密钥(即单元测试)的仿真器的情况,可以将十六进制编码的密钥指定为环境变量。

docker run -e FLOW_SERVICEPRIVATEKEY=<hex-encoded key> gcr.io/dl-flow/emulator

要生成服务密钥,请使用keys generateFlow CLI中的命令。

flow keys generate

References

[1] PowerShell: https://docs.microsoft.com/en-us/powershell/scripting/windows-powershell/install/installing-windows-powershell?view=powershell-7#finding-powershell-in-windows-10-81-80-and-7
[2] 点击: https://docs.onflow.org/devtools/emulator/#all-configuration-options

本文转载自公众号“FlowTimes福洛时代”(gh_6ccc48f0f87b),已获授权。

本文来自FlowTimes福洛时代,经授权后发布,本文观点不代表DAppChaser立场,转载请联系原作者。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

联系我们

邮件:contact@dappchaser.com

QR code