问题标签 [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 投票
2 回答
256 浏览

python - 尝试从 chainlink 导入时出现 brownie-config 重新映射错误

我正在尝试导入此代码

但是当我尝试编译时出现“源”@chainlink/contracts/src/v0.6/interfaces/AggregatorV3Interface.sol“未找到:不支持文件导入回调”错误消息。

我的 brownie-config.yaml 文件有

但代码仍然会导致相同的错误。有什么解决办法吗?

0 投票
1 回答
69 浏览

solidity - 智能合约彩票在结束彩票时抛出“VirtualMachineError:revert”

我一直在关注 Solidity、区块链和智能合约课程 - 从初学者到专家 Python 教程 ( https://www.youtube.com/watch?v=M576WGiDBdQ&t=28658s )。当我运行 deploy_lottery.py 时,它会在结束抽奖时崩溃。这是 Lottery.sol 中的代码片段

这是 deploy_lottery.py 中的代码片段

我还附上了错误的快照。提前致谢。 https://i.stack.imgur.com/yU8jC.png

0 投票
0 回答
18 浏览

python - 在布朗尼上部署简单命令的问题..我的导出命令似乎不适用于 Visual Studio,它的白色而不是蓝色

\demos\brownie_simple_storage> brownie run scripts/deploy.py 信息:找不到给定模式的文件。Brownie v1.17.2 - 以太坊的 Python 开发框架

文件“C:\Users\TedWeka\AppData\Local\Programs\Python\Python39\lib\site-packages\brownie_cli_main _.py ”,第 64 行,在 main importlib.import_module(f"brownie._cli.{cmd} ").main() 文件“C:\Users\TedWeka\AppData\Local\Programs\Python\Python39\lib\site-packages\brownie_cli\run.py”,第 39 行,在 main
if project.check_for_project(): File "C:\Users\TedWeka\AppData\Local\Programs\Python\Python39\lib\site-packages\brownie\project\main.py",第 548 行,在 check_for_project structure_config = _load_project_structure_config(文件夹)文件“C:\Users\TedWeka\AppData\Local\Programs\Python\Python39\lib\site-packages\brownie_config.py”,第 272 行,在 _load_project_structure_config 数据 = _load_config(project_path).get("project_structure", {}) AttributeError: 'NoneType' 对象没有属性 'get' PS C:\Users\TedWeka\demos\brownie_simple_storage>

0 投票
2 回答
574 浏览

python - 在 Pylance 中无法解决导入“布朗尼”

错误是:Import "brownie" could not be resolvedPylance

我知道还有其他 SO 帖子提到了这个,但似乎他们中的大多数都在谈论启动一个新的环境并将 x 包安装到该虚拟环境中。

但是对于布朗尼,我特别困惑,因为布朗尼文档说:

pipx 将 Brownie 安装到虚拟环境中,并使其直接从命令行可用。安装后,您无需在使用 Brownie 之前激活虚拟环境。

我不想弄乱 brownie 使用的虚拟环境。

无论如何,我的代码运行良好,命令行告诉我安装了 brownie。只是这个警告真的让我很烦。谁能告诉我如何清除它?谢谢!

0 投票
1 回答
143 浏览

python-3.x - 在 VS 代码中获取布朗尼时遇到问题

我一直试图在我的 VS 代码中使用 Brownie,但我不断收到错误。我按照这些步骤操作,但没有任何效果。

pipx 不起作用,所以我尝试了-pip install eth-brownie

这是我在下面得到的错误......

0 投票
0 回答
172 浏览

python - 使用solidity和python签署和验证消息

我正在尝试执行某个操作,例如仅在发送到合同的消息由合同所有者签署时才出售代币。我知道如何在 js 中做到这一点,但我很难找到明确的 python 文档。这是我目前所拥有的。

我的坚定

这是我的 python brownie 代码,它试图模拟部署者和用户。部署者签署消息并将其提供给用户,用户尝试使用签署的消息购买代币。

我已经尝试了类似帖子中建议的所有方法,但我无法让它们工作,当前错误是由以下行引发的。

但是我尝试的所有方法都会生成长度为 66 的签名消息。

0 投票
1 回答
324 浏览

python - AttributeError:“功能”对象没有属性“部署”

from brownie import network, config, accounts from brownie import FundMe

0 投票
1 回答
55 浏览

solidity - 当 Open Zeppelin 文档中的语法不起作用时,为什么这个 import 语句语法对我有用?

import "@openzeppelin/contracts/access/Ownable.sol";不起作用(但文档显示的内容和我正在学习的课程显示)

import "OpenZeppelin/openzeppelin-contracts@3.4.0/contracts/access/Ownable.sol";WORKS(我从另一个 SO 帖子中找到)

我有点困惑,为什么当文档告诉我使用前者时前者不起作用。当我运行时,brownie compile我收到以下错误:

contracts/Lottery.sol:4:1: ParserError: Source "@openzeppelin/contracts/access/Ownable.sol" not found: File outside of allowed directories. import "@openzeppelin/contracts/access/Ownable.sol";

0 投票
2 回答
117 浏览

python - 在 Infura 上运行代码时出现问题 - Rinkeby 测试网 - HTTPError:401 客户端错误:未经授权的 url:https://rinkeby.infura.io/

这与 youtube 上的 Patrick Collins 的“Solidity、Blockchain 和智能合约课程——从初学者到专家 Python 教程”有关。

具体来说,在 Infura 的 Rinkeby 测试网上运行我的程序时出现以下错误。

我按照一些人的建议进行了以下检查:

检查私钥。这正是我 Metamask 钱包里的东西。

我的 .env 如下所示:

brownie-config.yaml 看起来像这样:

我尝试在 Infura.io 上打开一个新项目并向 .env 添加一个新项目 ID,但没有帮助。

该程序在 ganache-cli(使用命令:)上运行良好,brownie run scripts/deploy.py但在 Rinkeby 测试网(命令:)上运行良好brownie run scripts/deploy.py --network rinkeby

该程序昨天按预期运行,但今天没有。互联网连接良好。完整的错误信息如下:

0 投票
0 回答
128 浏览

python - 尝试与合约交互时出现的 brownie mainnet-fork 问题:'ValueError: invalid literal for int() with base 16:'''

我正在按照此处的说明使用 brownie 与分叉的主网合约进行交互。建议的三行代码是:

但是,当我运行第二行时,我得到以下信息:

似乎主网分叉是可以访问的,但合约本身在某种程度上是腐败的。我究竟做错了什么?