问题标签 [brownie]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
56 浏览

python - Eth-Brownie 即使在安装后也无法识别/显示为已安装

我目前正在努力安装 Eth-Brownie。我对 Solidity 和 Python 都很陌生,所以如果这是一个基本问题,我仍然很抱歉。基本上我使用的是 python 4.10 以及最新版本的 pip。我在安装 pipx 和 crytoolz 时遇到了一些问题,但是在解决了这些问题之后,我每次尝试检查 eth-brownie 是否已安装时都没有收到错误消息。

运行 pip list eth brownie 时会列出并显示为 1.16 版,但是当我尝试在 CLI 中检查它时,我收到此错误消息

在此处输入图像描述

经过大量查找后,我似乎无法找到解决方案。任何帮助,将不胜感激。

我尝试过的修复:

  • 卸载并重新安装布朗尼
  • 卸载并重新安装 pip
  • 卸载并重新安装 pipx
  • 使用 pipx 安装 brownie
  • 添加环境变量的路径(存储 eth-brownie 的路径(这对我来说是 appdata/local/packages/pythonsoftwarefoundation(一些数字)/local-cache/local-packages/Python310/site-packages.
0 投票
2 回答
151 浏览

pip - 使用 pipx 安装 eth-brownie

我一直在尝试通过 pipx 在 VSCode 的 Powershell 终端中安装 Brownie(https://eth-brownie.readthedocs.io/en/stable/install.html)。在链接中,我尝试了前两个命令,之后系统确认 pipx 已添加到 PATH:

加载新的 Powershell 后,我尝试了链接中的最终命令,但在下面立即收到错误:

如果输出声称它可以在 PATH 上访问,为什么 pipx 不被识别为命令?无论如何,然后我尝试修改命令以在开始时包含 python -m 。我的理解是这首先进入我的python程序,然后访问与pipx有关的任何内容?它运行了几秒钟,然后打印了一个不同的错误:

我对这个错误不知所措。我的直觉告诉我,我从以下网址下载的 Microsoft Build Tools 有问题:https ://visualstudio.microsoft.com/visual-cpp-build-tools/Code 。但如果我能解决第一个问题,也许这是多余的。

0 投票
1 回答
88 浏览

python - 布朗尼框架 FileNotFoundError:找不到测试/test_simple_storage.py

我正在根据参考资料学习可靠性(https://www.youtube.com/watch?v=M576WGiDBdQ&t=25510s

当我尝试在 Brownie 框架下编写运行测试时,遇到了一个错误,说找不到文件。

ganache-cli 工作正常。使用 Macbook Pro,英特尔不是 Apple M1 CPU。

寻求帮助。谢谢。

这是 brownie 测试文件夹中的测试脚本文件。

错误消息。

这是 Brownie 脚本文件夹中的 deploy.py 文件

0 投票
1 回答
71 浏览

modulenotfounderror - ModuleNotFoundError:在 Brownie 运行命令上没有名为“Users.[USERNAME].[PATH]”的模块

在我创建了一个新项目后,brownie init我编译了一个合同并尝试运行脚本以使用brownie run scripts/deploy.py.

但我有;

ModuleNotFoundError:没有名为“Users.[USERNAME].[PATH]”的模块

*PS 在我将'Users.[USERNAME].[PATH]'目录之外的项目文件夹移动到'C:'之后,它起作用了。

0 投票
1 回答
67 浏览

python - 设置 Pipx 的路径/目录查找(Python 3.9 / Python 3.10)

我最初使用的是 Python 3.10,但遇到了一些问题。建议我降级到 3.9.8,看看这些问题是否仍然存在。降级(并卸载 Python 3.10)后,我在 python 3.9.8 上安装了 pip 和 pipx。但是,当尝试使用 pipx 安装 eth-brownie

我遇到此错误消息:

Pipx 正在尝试引用 Python3.10 的 Python.exe 文件,即使它不再存在。

我已经卸载并重新安装了 pipx 并创建了文件目录位置然后将其删除,但这些都没有解决这个问题。

任何帮助都会很棒

0 投票
2 回答
329 浏览

python - 布朗尼测试 IndexError:列表索引超出范围

Macbook Pro:蒙特雷

英特尔酷睿 i7

布朗尼 v1.17.2

Ganache CLI v6.12.2 (ganache-core: 2.13.2)

我正在根据参考(https://www.youtube.com/watch?v=M576WGiDBdQ&t=25510s)学习可靠性。

我使用 brownie 框架编写并部署了一个智能合约(scripts/deploy.py),它成功了。

然后尝试编写一个测试脚本(tests/test_simple_storage.py),在终端给我错误信息。

google了一下,尝试删除brownie项目的build文件夹中的所有文件,再次部署合约(scripts/deploy.py),还是同样的错误。

并尝试更改私钥和索引,对于accounts[0]到account[-1]和account[1],同样的错误结果。

仅供参考:我在终端中输入了命令“ganache-cli —deterministic”。所以账户和私钥不是随机的。

将 Ganache 的帐户 [0] 的私钥保存在 .env 文件中,就像这样

.env

错误信息:</p>

测试脚本--“tests/test_simple_storage.py”</p>

智能合约部署良好,使用相同的本地区块链,ganache-cli “scripts/deploy.py”</p>

更新于 20220111

阅读 brownie 文档后找到这个命令“network.connect("development")”,这个命令设置网络正确吗,我记得 brownie 应该默认连接到开发网络。

所以更新了这样的代码

终端给出一条警告信息

0 投票
3 回答
396 浏览

python - 布朗尼:RPCConnectionError:能够启动 RPC 客户端,但无法连接

我是布朗尼的新手。当我跟着视频https://www.youtube.com/watch?v=M576WGiDBdQ学习如何使用 Brownie 部署区块链合约时,它给了我一个错误。RPCConnectionError: Able to launch RPC client, but unable to connect.

似乎布朗尼启动ganache-cli并使用“http://127.0.0.1:8545”作为本地测试区块链网络的URI,但不知何故它没有连接到ganache-cli核心,但我尝试ganache-cli单独启动,一切正常。我将 Brownie 与代理一起使用,但即使我关闭代理,它仍然无法连接到ganache-cli. 以下是错误代码。

0 投票
0 回答
113 浏览

blockchain - 使用 brownie 监听交换事件

我正在尝试找到一种方法来“无限”地监听 uniswap 定价,然后编写一些逻辑来可能在不同交易所之间套利如果可能,请将我链接到任何相关项目

我使用了 https://web3py.readthedocs.io/en/stable/filters.html#examples-listening-for-events上的示例

但做了一些修改

运行它只会停止终端。我做错了什么?

0 投票
0 回答
43 浏览

metamask - 需要帮助将帐户从 MetaMask、Coinbase 等钱包导入 Brownie

如果之前已经问过这个问题,请提前道歉。

我正在寻找一种以编程方式从 MetaMask(或其他钱包)中提取帐户并将其添加到巧克力蛋糕的方法。我一直面临的问题是我无法在不知道私钥/密钥库文件的情况下在 Brownie 中添加帐户。据我所知,确实没有直接的方法可以以编程方式从 MetaMask 获取私钥。

我应该如何将真实帐户导入布朗尼?除了使用私钥或密钥库文件之外,也许还有其他方法?

*是的,我知道我可以从 MetaMask 导出私钥,但这不能以编程方式完成。

我还查看了 Metamask 在其文档中的一些 eth_requestAccounts 方法,但这似乎仍然没有回答我的问题。

0 投票
0 回答
132 浏览

python - 带有 Brownie Python 的 Kovan 测试网 AAVE Flashloan

在遵循 AAVE 的 Patrick Collins 关于闪电贷款的教程之后,我对编码经验非常陌生,一切正常并安装了环境。

我在部署时收到此错误: