问题标签 [web3py]

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 回答
1271 浏览

python - 无法可靠地验证签名的消息

我正在使用本教程:https ://web3py.readthedocs.io/en/stable/web3.eth.account.html#sign-a-message

当我将这些参数传递给智能合约signed_message.messageHashsigned_message.signature的恢复签名者(如下所述)函数时。它给出了正确的地址。但是当我将参数tokens, contractaddress(上面使用的)传递给keccak256(abi.encodePacked(token,address(this)))solidity时,生成的消息与 不同signed_message.messageHash,反过来我得到一个不同的地址作为ecrecover.

我检查了输出是什么keccak256(abi.encodePacked(..))。我发现它与 sig 值相同

我做了什么:

  1. 制作 ERC20 代币。

  2. 设置频道

我的目标:

  1. 签署消息(使用 web3py)

  2. 用solidity验证签名的消息。

像这样:

用户将传递一些参数:如合约地址和代币数量以及签名消息。我将验证它

这无法正常工作。我没有得到正确的地址作为输出。

请帮忙..

0 投票
1 回答
8410 浏览

python - 使用 web3.py 和 infura.io 监听 Uniswap 合约事件

我想使用 web3.py 和 infura.io 来监听 Uniswap 工厂事件,但是我不太确定该去哪里这样做。

这是一个链接:https ://uniswap.org/docs/v2/smart-contracts/factory/

更具体地说,我想听听这个PairCreated事件。

0 投票
3 回答
725 浏览

python - 安装 web3.py 时收到错误

我正在尝试web3.py通过命令进行安装,pip install web3但是如果没有出现错误,我将无法成功。

我已经尝试了这个网站上的建议,但是没有用,下面是我收到的错误:

0 投票
1 回答
1774 浏览

ethereum - 如何读取以太坊交易的数据字段

我正在尝试使用数据字段在本地以太坊区块链上发布带有消息的交易。我不知道如何检索消息。

代码:

输出:

b'你好'

0x48656c6c6f

我想检索原始消息“你好”。

0 投票
0 回答
646 浏览

python-3.x - 该库已重命名为 `eth-utils`。`ethereum-utils` 包将不再接收更新。请更新您的依赖项

当我尝试将 Python 文件链接到智能合约时,我运行python3 "project name ".py命令出现错误

0 投票
1 回答
583 浏览

python - web3.py 从 get 函数以奇怪的格式返回

我正在开发一个 python 应用程序。这个应用程序只是为了从区块链中获取数据。在 web3.js 中一切正常,但我需要在 python 中完成(客户端想要一个 python 应用程序)。这一切几乎都很好;该脚本完成了它需要做的事情,但是当调用 get 函数时,我得到一个奇怪的输出(使用 remix 或 web3.js 上的 get 函数,而我编写的 nodeJs api 非常完美):

The output that i need is like this (i don't understand why the py output is like that):[0xe93a3dd8372f9800e489e38e625b639c6ac4a3a2621d9af0251dda42b7d9c4e3,0xe93a3dd8372f9800e489e38e625b639c6ac4a3a2621d9af0251dda42b7d9c4e3]

python脚本很简单(我还在写):

这是客户写的智能合约:

感谢您的帮助!

0 投票
1 回答
449 浏览

python - 从 Trezor 硬件钱包发送签名交易

我一直在尝试编写一个简单的 web3.py 程序来从我的 Trezor 发送交易。我可以在我的 Trezor 上签署交易,执行此操作的函数 (ethereum.sign_tx()) 返回交易的 V、R 和 S 签名的元组,如下所示:

我的问题是如何将这些签名转换为可以使用 Web3.eth.sendRawTransaction() 函数发送的序列化形式。完整代码是:

0 投票
1 回答
535 浏览

web3 - AttributeError:模块“web3.geth”没有属性“txpool”

当我打电话

我收到一个错误

我的geth配置

为什么我无法访问 txpool?

0 投票
0 回答
173 浏览

python - 如何确保延迟等待 asyncio.wait(...) 的协程?

考虑以下一对协程:

这里ensureDeferred,在评估函数时,会导致builtins.RuntimeError: no running event loop被提升。

在我的案例中,现实世界的应用程序试图确保库protocol.WebSocketCommonProtocol.recv中的延迟websockets

web3websockets用于连接到提供程序,我正在尝试创建一个简单的机制来添加和处理背压。

添加类似的东西reactor.callInThread(asyncio_event_loop.run_forever)没有帮助,因为显然它是特定于线程的东西。

这里到底发生了什么?我怎么ensureDeferred会有这样的协程?

0 投票
1 回答
463 浏览

python - 在 aws api 网关中找不到“GLIBC_2.18”错误

我正在用 aws chalice 编写 Api。我的代码在本地运行良好。

但我得到以下回复: { "message": "Internal server error" } 我的 requirements.txt 文件包含:

在签入 aws api 网关时。发现以下错误:

错误信息: