无法将交易发送到 Flow 模拟器

问题描述

我正在尝试获取 pinata-party 的测试代码 (https://medium.com/pinata/how-to-create-nfts-like-nba-top-shot-with-flow-and-ipfs-701296944bf)。

它工作得很好,我尝试发送交易:

流交易发送 --code "./transactions/MintPinataParty.cdc" --signer emulator-account

当我发送时,我收到错误

❌ 交易错误 执行错误代码 1006:[错误代码:1006] 无效的提议密钥:帐户 f8d6e0586b0a20c7 上的公钥 0 没有有效签名:[错误代码:1009] 无效信封密钥:帐户 f8d6e0586b0a20c7 上的公钥 0 没有有效签名: 签名无效

有人知道这是从哪里来的吗?

谢谢。

解决方法

我遇到了完全相同的错误,通过更新到最新的 flow-cli 版本来修复。我在 0.17.0 上,但在 Docker 中运行模拟器是 0.21.0。

,

对我来说,问题是我的 flow.json 文件中的私钥与启动模拟器时使用的私钥不匹配。我通过 VS Code 中的 Run Emulator 命令运行模拟器。用于模拟器的私钥在命令输出中。

,

对于遇到此问题的任何其他人,我的项目中有两个 flow.json 文件。一个在我运行终端命令的当前文件夹中,另一个在上面的几个文件夹中。不得不把上面那个删掉,这样整个项目就只有一个flow.json了。