发布说明
2022 年 12 月 2 日
错误修复
- 将
eth-abi
下限升级到>=2.2.0
以确保内部折旧更改不会中断。( #2743 )
版本 5.31.2 (2022 年 12 月 1 日)
错误修复
- 改善会话缓存和缓存锁定的问题,尤其是多线程。( #2691 )
改进的文档
- 将用户调查添加到 v5 文档横幅( #2721 )
内部变更-针对 web3.py 贡献者
- 移除对已弃用的
eth-abi
方法的引用,并替换为受支持的方法。( #2726 )
杂项变更
版本 5.31.1 (2022 年 10 月 6 日)
特征
- 添加新的预定义块标识符
safe
和finalized
。( #2655 )
错误修复
- Protobuf 依赖关系在版本
3.20.2
及更高版本中中断;暂时固定到3.19.4
,因为这是 python 3.6 的最后一个不间断版本。( #2659 ) - Protobuf 依赖有一个可行的 bug。在 3.19.5 中修复。参见:https://nvd.nist.gov/vuln/detail/CVE-2022-1941(# 2667)
5.31.0 版(2022 年 9 月 19 日)
特征
- 支持 ABI 元组类型的多维数组( #2555 )
- 支持通过
async_w3.eth.account
( #2590 )在AsyncEth
进行Account
级访问 - 移除 Kovan 自动供应器( #2649 )
- 添加 Sepolia 汽车供应商( #2650 )
错误修复
- 修正
gas_price_strategy
归零时的is_dynamic_fee_transaction
和TRANSACTION_DEFAULTS
(# 2570 - 通过适当地附加模块,允许类从
Web3
类继承。( #2587 ) - 将 eth-account 要求提升为> =0.5.9,<0.6.0 to incorporate fix for ReDOS-able regex ( #2607
- 通过
validate_payable()
合约方法( #2609 )验证时允许value
字段为十六进制
改进的文档
- 更新授权证明中间件( geth_poa_middleware )文档以获得更好的清晰度。( #2589 )
混杂的
5.30.0 版(2022 年 7 月 7 日)
特征
- 弃用 contract.py v5 中的
buildTransaction
和estimateGas
,支持estimate_gas
和build_transaction
( #2459 )
混杂的
2022 年 6 月 1 日
错误修复
- 只有线程锁方法试图访问缓存中间件的缓存。( #2493 )
混杂的
5.29.1 版(2022 年 5 月 16 日)
错误修复
改进的文档
- 文档修复:待处理事务过滤器返回一个
TransactionFilter
而不是一个BlockFilter
( #2444 )
混杂的
5.29.0 版(2022 年 4 月 13 日)
特征
- 向 AsyncHTTPProvider ( #2016 )添加了会话缓存
- 添加“get_text”方法来查找 ENS 文本记录值( #2286 )
- 添加异步 eth.get_storage_at 方法( #2350
- 将
jsonschema
版本范围升级到> =3.2.0 < 5 ( #2360 ) - 为
ENS.name()
添加一个可选的strict
标志,它将执行 ENS 推荐的验证,以确保地址匹配。这将是 v6 中的默认行为。( #2419 ) - 将 sync chain_id 添加到
simple_middleware_cache
( #2425 )
混杂的
5.28.0 版(2022 年 2 月 9 日)
特征
- 为 Geth 个人和管理模块增加了异步功能( #1413 )
- 对格式化、验证和 geth poa 中间件的异步支持( #2098 )
- 当
eth_maxPriorityFeePerGas
不可用时,使用eth_feeHistory
计算一个缺省值maxPriorityFeePerGas
,因为后者不是以太坊 JSON-RPC 规范的一部分,只被某些客户端支持。( #2259 ) - 允许在 ABI 输入( #2312 )中命名的元组
- 添加异步同步方法( #2331 )
错误修复
- 移除 ens.utils.dict_copy 装饰器( #1423 )
- 异常重试中间件白名单在
txpool
和testing
( #2327 )之间缺少逗号 - 正确初始化不是从
web3.module.Module
类继承的外部模块( #2328 )
5.27.0 版(2022 年 1 月 31 日)
特征
- 增加了 Geth TxPool 的异步函数( #1413 )
- 外部模块不再需要继承
web3.module.Module
类( #2304 ) - 添加异步 eth.get_logs 方法( #2310 )
- 添加对默认账户和默认阻止 ( #2315 )的异步访问
- 更新 eth-tester 和 eth-account 依赖关系,以便从 eth-keys ( #2320 )获取错误修复
错误修复
- 修复了解析事件日志中元组和嵌套元组的问题( #2211 )
- 在 ENS 中,解析 ENS 地址的合约函数被错误地调用了两次。其中一个电话被删除了。( #2318 )
to_hexbytes
当值为None
( #2321 )时,块格式化程序不再抛出
改进的文档
- 修正eth . accountdocs(# 2111)中的错别字
- 将输出值显式添加到合约示例( #2293 )
- 更新异步供应商样本代码的导入( #2302
- 修复了过滤器模式的断开链接( #2303 )
- 将 github 链接添加到主文档登录页面( #2313 )
- 修复错别字并更新引用的 geth 版本( #2326 )
混杂的
版本 5.26.0 (2022 年 1 月 6 日)
特征
- 将
middlewares
属性添加到NamedElementOnion
/web3.middleware_onion
。按照正确的顺序返回当前的中间件,以便导入到新的Web3
实例中( #2239 ) - 添加异步
eth.hashrate
方法( #2243 ) - 添加异步
eth.chain_id
方法( #2251 ) - 添加异步
eth.mining
方法( #2252 ) - 添加异步
eth.get_transaction_receipt
和eth.wait_for_transaction_receipt
方法( #2265 ) - 添加异步账户方法( #2284 )
- 支持在实例化
Web3
实例时将外部模块附加到Web3
实例,通过external_modules
参数,或者通过新的attach_modules()
方法( #2288 )
错误修复
- 修复了没有在
docs/contracts.rst
( #2213 )中运行的 doctest - eth-tester 中间件访问列表存储密钥的密钥映射修复( #2224 )
- 用
ENS.fromWeb3()
方法( #2239 )实例化ENS
时继承Web3
实例中间件
改进的文档
- 修复示例文档以显示 TransactionNotFound 错误,而不是 None ( #2199 )
- 修复 ethpm.rst ( #2277 )中的打字错误
- 在快速入门文档( #2287 )中阐明提供商的用法
- 解决常见的 BSC 使用问题( #2289 )
混杂的
5.25.0 版(2021 年 11 月 19 日)
特征
- 支持
w3.eth.get_raw_transaction_by_block
,异步支持w3.eth.get_raw_transaction_by_block
( #2209 )
错误修复
- 当没有
result
键的响应被返回时,抛出 BadResponseFormat 错误而不是 KeyError。( #2188 )
改进的文档
混杂的
5.24.0 版(2021 年 9 月 27 日)
特征
- 添加异步
eth.send_raw_transaction
方法( #2135 ) - 将 eth-account 版本更新至 v0.5.6 -添加了对签名类型化事务的支持,无需显式设置事务类型,并且现在接受类型化事务访问列表的正确 JSON-RPC 结构( #2157 )
错误修复
- 在进行 eth_feeHistory RPC 调用( #2117 )之前,将 block_count 编码为十六进制
改进的文档
- 修复异步供应商文档中的错别字( #2131 )
- 更新 AsyncHTTPProvider 文档支持的方法以包含
web3.eth.send_raw_transaction()
。( #2135 ) - 围绕使用和实施问题改进信息传递,将用户引向适当的渠道( #2138 )
- 澄清一些合约
ValueError
错误信息。( #2146 ) - 更新了 w3 . eth . account . sign _ transaction 的文档,以反映成功签署类型化事务不再需要事务类型,并说明如何在类型化事务中构造可选的 accessList 参数( #2157 )
混杂的
5.23.1 版(2021 年 8 月 27 日)
特征
- 添加零地址、零散列、最大整数和每个以太网的 wei 常量。( #2109 )
改进的文档
- 在适当的地方将“1559 交易”重命名为“动态费用交易”,以保持 1559 交易(类型=2)命名( #2118 )的通用代码库之间的一致性
- 更新 AsyncHTTPProvider 文档示例,以包括模块和中间件关键字参数( #2123 )
混杂的
5.23.0 版(2021 年 8 月 12 日)
特征
错误修复
- 合约函数调用解码异常的字符串插值问题的热修复,以便于从 eth_call 响应中提取有意义的消息( #2096 )
- 当 EIP-1559 交易参数用于
send_transaction
( #2099 )时,如果设置了gasPrice
,则绕过通过气价策略添加gasPrice
改进的文档
- 更新费用历史文档( #2104 )
5.22.0 版(2021 年 8 月 2 日)
特征
- 添加对 eth_getRawTransactionByHash RPC 方法( #2039 )的支持
- 添加异步网络模块( #2044 )
- 添加异步
eth.get_balance
、eth.get_code
、eth.get_transaction_count
方法。( #2056 ) - 对 eip-1559 参数' maxFeePerGas '和' maxPriorityFeePerGas '的 eth_signTransaction 支持( #2082 )
- 添加对异步
w3.eth.call
的支持。( #2083 )
错误修复
- 如果一个事务散列作为一个字符串而不是一个十六进制字节被传递给
w3.eth.wait_for_transaction_receipt
,并且在该事务进入链中之前时间已经耗尽,则引发的错误是一个 TypeError 而不是正确的 TimeExhausted 错误。这是因为 TimeExhausted 错误消息中的to_hex
方法期望一个原语作为第一个参数,而一个字符串不符合原语的条件。通过将 transaction_hash 转换为 HexBytes 进行了修复。( #2068 ) - 为 call _ contract _ function()(# 2069)引发 BadFunctionCallOutput 时消息中字符串插值问题的热修复
- 如果交易参数中存在 1559 费用,则
fill_transaction_defaults()
不再设置默认gasPrice
。这修复了 1559 美元的签名发送中间件问题。( #2092 )
改进的文档
- 澄清
send_transaction
、modify_transaction
和replace_transaction
返回 HexByte 对象而不是字符串。( #2058 ) - 添加了 Windows 计算机上 Microsoft Visual C++错误的故障排除部分( #2077 )
- 更新了签署和发送中间件文档,以包括 EIP-1559 以及遗留交易示例( #2092 )
混杂的
5.21.0 版(2021 年 7 月 12 日)
特征
- 增加对 EIP 1559 交易键的支持: maxFeePerGas 和maxPriorityFeePerGas(# 2060)
错误修复
-
修正了一个错误响应被传递给一个需要块标识符的函数。
从错误格式化程序中分离出空结果格式化程序,并添加了一些测试。( #2022 )
-
修复损坏的测试,并为我们的大多数测试事务使用新的 1559 参数。( #2053 )
-
设置与 Geth ( #2055 )一致的默认 maxFeePerGas 值
-
修复 geth PoA 中间件中的一个 bug,其中一个
None
响应应该抛出一个BlockNotFound
错误,但是却抛出了一个AttributeError
( #2064 )
改进的文档
- 添加了关于单元和集成测试以及如何对我们的测试套件做出贡献的一般文档。( #2053 )
5.20.1 版(2021 年 7 月 1 日)
错误修复
- 让 geth dev IPC 自动连接检查
WEB3_PROVIDER_URI
环境变量。( #2023 )
改进的文档
- 删除在文档中允许多个提供商的引用( #2018 )
- 不再维护将
py-solc-x
更新为solc
的“合约部署示例”文档。( #2020 ) - 在配置项中使用未发布的 Geth 版本的详细信息( #2037 )
- 澄清当在没有运行在存档模式( #2048 )的节点上使用
block_identifier
和.call()
时,可能会发生丢失 trie 节点的错误
混杂的
5.20.0 版(2021 年 6 月 9 日)
特征
-
添加新的 AsyncHTTPProvider。还没有中间件或会话缓存支持。
还添加了异步
w3.eth.gas_price
和异步w3.isConnected()
方法。( #1978 ) -
增加异步供应商接受中间件的能力
还添加了异步 gas_price_strategy 中间件,并将 gas 估计移到中间件。
AsyncEthereumTesterProvider 现在继承自 AsyncBase ( #1999 )
-
支持合约函数调用中的 state_override。( #2005 )
错误修复
- 测试 ethpm 缓存+ bump Sphinx 版本。( #1977 )
改进的文档
混杂的
5.19.0 版(2021 年 4 月 28 日)
特征
- 处理可选的
eth_call
状态覆盖参数。( #1921 ) - Add list_storage_keys 弃用 listStorageKeys ( #1944 )
- Add net_peers 弃用 netPeers ( #1946 )
- add trace _ replay _ transaction deprecate tracerelaytransaction(# 1949)
- add_reserved_peer 弃用 addReservedPeer ( #1951 )
- 增加
parity.set_mode
,减少parity.setMode
( #1954 ) - 增加
parity.trace_raw_transaction
,减少parity.traceRawTransaction
( #1955 ) - 增加
parity.trace_call
,减少parity.traceCall
( #1957 ) - 添加 trace_filter 弃用 traceFilter ( #1960 )
- Add trace_block,deprecate trace block(# 1961
- add trace _ replay _ block _ transactions,deprecate tracerelayblocktransactions(# 1962)
- 增加
parity.trace_transaction
,减少parity.traceTransaction
( #1963 )
改进的文档
- 记录
eth_call
状态覆盖。( #1965 )
混杂的
5.18.0 版(2021 年 4 月 8 日)
特征
- 增加
w3.eth.modify_transaction
减少w3.eth.modifyTransaction
( #1886 ) - 增加
w3.eth.get_transaction_receipt
,减少w3.eth.getTransactionReceipt
( #1893 ) - 增加
w3.eth.wait_for_transaction_receipt
减少w3.eth.waitForTransactionReceipt
( #1896 ) - 增加
w3.eth.set_contract_factory
减少w3.eth.setContractFactory
( #1900 ) - 增加
w3.eth.generate_gas_price
减少w3.eth.generateGasPrice
( #1905 ) - 增加
w3.eth.set_gas_price_strategy
减少w3.eth.setGasPriceStrategy
( #1906 ) - 增加
w3.eth.estimate_gas
减少w3.eth.estimateGas
( #1913 ) - 增加
w3.eth.sign_typed_data
减少w3.eth.signTypedData
( #1915 ) - 增加
w3.eth.get_filter_changes
减少w3.eth.getFilterChanges
( #1916 ) - 增加
eth.get_filter_logs
,减少eth.getFilterLogs
( #1919 ) - 增加
eth.uninstall_filter
,减少eth.uninstallFilter
( #1920 ) - 增加
w3.eth.get_logs
减少w3.eth.getLogs
( #1925 ) - 增加
w3.eth.submit_hashrate
减少w3.eth.submitHashrate
( #1926 ) - 增加
w3.eth.submit_work
减少w3.eth.submitWork
( #1927 ) - 增加
w3.eth.get_work
,减少w3.eth.getWork
( #1934 ) - 添加公共 get_block_number 方法。( #1937 )
改进的文档
- 将 ABI 类型的示例添加到文档中( #1890 )
- 在自述文件上推广新的以太坊 Python Discord 服务器。( #1898 )
- 转义贡献文档的安装脚本中的保留字符。( #1909 )
- 添加详细的事件过滤示例。( #1910 )
- 添加用于优化日志级别的文档示例。( #1928 )
- 在疑难解答文档中添加一些性能提示。( #1929 )
- 将现有合约交互添加到文档示例中。( #1933 )
- 用 Python Discord 服务器替换 Gitter 链接。( #1936 )
混杂的
5.17.0 版(2021 年 2 月 24 日)
特征
- 新增
get_transaction_count
,弃用getTransactionCount
( #1844 ) - 增加
w3.eth.send_transaction
,减少w3.eth.sendTransaction
( #1878 ) - 增加
web3.eth.sign_transaction
,减少web3.eth.signTransaction
( #1879 ) - 增加
w3.eth.send_raw_transaction
,减少w3.eth.sendRawTransaction
( #1880 ) - 增加
w3.eth.replace_transaction
减少w3.eth.replaceTransaction
( #1882 )
改进的文档
- 修复文档中
send_transaction
的返回类型。( #686 )
5.16.0 版(2021 年 2 月 4 日)
特征
- 新增
get_block_transaction_count
,弃用getBlockTransactionCount
( #1841 ) - 将
defaultAccount
移动到default_account
。反对defaultAccount
。( #1848 ) - 加
eth.default_block
,弃eth.defaultBlock
。还增加了parity.default_block
,减少了parity.defaultBlock
。( #1849 ) - 增加
eth.gas_price
,减少eth.gasPrice
( #1850 ) - 添加了
eth.block_number
属性。已弃用eth.blockNumber
( #1851 ) - 增加
eth.chain_id
,减少eth.chainId
( #1852 ) - 增加
eth.protocol_version
,减少eth.protocolVersion
( #1853 ) - 增加
eth.get_code
,减少eth.getCode
( #1856 ) - 弃用
eth.getProof
,增加eth.get_proof
( #1857 ) - 增加
eth.get_transaction
,减少eth.getTransaction
( #1858 ) - 增加
eth.get_transaction_by_block
,减少eth.getTransactionByBlock
( #1859 ) - Add get_uncle_by_block,deprecate getUncleByBlock(# 1862)
- Add get_uncle_count,deprecate getUncleCount(# 1863)
错误修复
- 如果事件 ABI 包含一个
values
键,修复事件过滤器创建。( #1807 )
改进的文档
- 从发行说明顶部删除 v5 重大变更链接。( #1837 )
- 添加帐户创建疑难解答文档。( #1855 )
- 将结构传递给约定函数的文档。( #1860 )
- 添加实例配置疑难解答文档。( #1865 )
- 澄清 sendRawTransaction 文档中的 nonce 查找。( #1866 )
- 更新了 web3.eth 方法的文档:eth.getTransactionReceipt 和 eth . waitfortransactionreceipt(# 1868)
5.15.0 版(2021 年 1 月 15 日)
特征
错误修复
- PR #1585 更改了调用 Revert 操作码时从 eth-tester 返回的错误,该错误中断了下游库中的一些测试。这个 PR 返回到引发原始错误。( #1813 )
- 增加了一个新的
ContractLogicError
用于当合约回复交易时。在 v6 中,ContractLogicError
将取代SolidityError
。( #1814 )
改进的文档
- 介绍 Beacon API 文档( #1836 )
混杂的
5.14.0 版(2021 年 1 月 5 日)
错误修复
- 删除 docs/web3。*从 gitignore 允许将信标文档添加到 git,并将
beacon
添加到加载的默认 web3 模块。( #1824 ) - 从信标 API 中移除自动记录功能( #1825 )
特征
混杂的
5.13.1 版(2020 年 12 月 3 日)
错误修复
- 为 Ganache ( #1794 )处理还原原因解析
改进的文档
- 记录 Geth 和奇偶校验/OpenEthereum 夹具生成( #1787 )
混杂的
5.13.0 版(2020 年 10 月 29 日)
特征
- 当调用失败时,引发包含恢复原因的 SolidityError 异常。( #941 )
错误修复
- 更新 eth-tester 依赖关系以修复测试环境安装版本冲突。( #1782 )
混杂的
5.12.3 版(2020 年 10 月 21 日)
混杂的
5.12.2 版(2020 年 10 月 12 日)
错误修复
混杂的
5.12.1 版(2020 年 9 月 2 日)
混杂的
5.12.0 版(2020 年 7 月 16 日)
特征
- 将 web3.pm 和 ethpm 模块更新为 EthPM v3 规格。( #1652 )
- 允许消费者用自己的请求初始化 HttpProvider 。会话。这允许根据需要调整 HttpAdapter 连接池。( #1469 )
改进的文档
混杂的
v 5 . 12 . 0-beta 3(2020-07-15)
错误修复
- 在发行版中包括 ethpm-spec 实度示例。( #1686 )
v 5 . 12 . 0-beta 2(2020-07-14)
错误修复
- 支持发行版中的 ethpm-spec 子模块。( #1682 )
改进的文档
5 . 12 . 0-测试版 1 (2020 年 7 月 9 日)
特征
- 允许消费者用自己的请求初始化 HttpProvider 。会话。这允许根据需要调整 HttpAdapter 连接池。( #1469 )
- 将 web3.pm 和 ethpm 模块更新为 EthPM v3 规格。( #1652 )
错误修复
- 更新 ethpm 文档和测试中过时的参考 url。( #1680 )
改进的文档
- 添加一个
getBalance()
示例,并为使用 fromWei 和 toWei 实用程序方法提供更多上下文。( #1676 ) - 全面检查概述文档以提供主要功能的浏览。( #1681 )
5.11.1 版(2020 年 6 月 17 日)
错误修复
- 增加了 eth_tester 中间件的格式化程序规则,允许使用整数块号( #1660 )进行
getBalance()
】T2 - 修复
eth.py
模块中的类型注释。默认为None
的几个参数没有声明为Optional
。( #1668 ) - 使用字符串 URI 实例化 HTTP 或 WebsocketProvider 时,修复类型批注警告。( #1669 )
- 修复
web3
模块中的类型注释。默认为None
的几个参数没有声明为Optional
。( #1670 )
改进的文档
- 将链接分成三类(Intro、Guides 和 API ),并向索引页面添加内容:lib 简介和一些“入门”链接。( #1671 )
- 填补了快速入门指南中的一些空白,并添加了本地节点的提供程序连接详细信息。( #1673 )
5.11.0 版(2020 年 6 月 3 日)
特征
- 在
Contract.estimateGas
方法中接受一个块标识符。包括将 eth-tester 升级到 v 0 . 5 . 0-beta 1。(# 1639) - 引入一个更具体的验证错误,
ExtraDataLengthError
。例如,这使得工具能够检测到某人何时可以连接到 POA 网络,并提供更流畅的开发人员体验。( #1666 )
错误修复
- 更正filter params . address(# 1664)的类型注释
改进的文档
5.10.0 版(2020 年 5 月 18 日)
特征
eth-tester
的更新包括默认分叉从君士坦丁堡到穆尔冰川的改变。 #1636
错误修复
my_contract.events.MyEvent
被错误地注释,以至于MyEvent
被标记为ContractEvent
实例。固定为一个类类型,即Type[ContractEvent]
。( #1646 )- IPCProvider 正确处理了
pathlib.Path
输入,但对其类型提出了警告。已修复,除字符串外,还允许路径对象。( #1647 )
混杂的
5.9.0 版(2020 年 4 月 30 日)
特征
-
升级 eth-account 以使用 v0.5.2+。eth-account 0.5.2 增加了对 hd 帐户的支持
还必须固定 eth-keys 来解析依赖关系。( #1622 )
错误修复
5.8.0 版(2020 年 4 月 23 日)
特征
-
向
GethPersonal
类引入了list_wallets
方法。( #1516 ) -
向contract constructor . estimate gas方法添加了 block_identifier 参数。( #1588 )
-
将 snake_case 方法添加到 Geth 和奇偶校验个人模块中。
不要使用 camelCase 方法。( #1589 )
-
在基于时间的燃气价格策略中增加了新的加权关键字参数。
如果
True
,它将给予最近的阻塞时间更多的权重。( #1614 ) -
增加了对 Solidity 新的(ish)接收功能的支持。
添加镜像现有回退 API 的新合约 API:
contract.receive
( #1623 )
错误修复
-
修复了 web3 中的 hasattr 过载方法。ContractEvent,web3。ContractFunction 和 web3。如果在 getattr overloader 方法中引发异常,则通过实现 try/except 处理程序来调用 ContractCaller 类(因为 getattr 必须在每个 hasattr 调用中调用)。
创建了两个新的异常类“ABIEventFunctionNotFound”和“ABIFunctionNotFound”,这两个类继承自 AttributeError 和 MismatchedABI,并将 ContractEvent、ContractFunction 和 ContractCaller 中的 MismatchedABI 引发替换为对该对象的 getattr overloader 方法中创建的类的引发。( #1594 )
-
将 rpc_gas_price_strategy 的返回类型从 int 更改为 Wei ( #1612 )
改进的文档
- 修复“内部”文档中的打字错误。已更改异步–>异步( #1607 )
- 改进介绍和解决提供商问题的文档。( #1609 )
- 添加何时使用每种交易方法的文档。( #1610 )
- 删除文档示例中 w3 的错误 web 3(# 1615)
- 添加通过 ethpm 模块使用 web3.contract 的示例。( #1617 )
- 向文档中添加黑暗模式。还修复了文档中的一系列格式问题。( #1626 )
混杂的
5.7.0 版(2020 年 3 月 16 日)
特征
-
为 net 模块添加 snake_case 方法
还移动了网络模块以使用 ModuleV2 而不是模块( #1592 )
错误修复
- 修复 eth_getCode 的返回类型。从 Hexstr 更改为 HexBytes。( #1601 )
混杂的
5.6.0 版(2020 年 2 月 26 日)
特征
- 将 snake_case 方法添加到 Geth Miner 类,弃用 camelCase 方法( #1579 )
- 为 net 模块添加 snake_case 方法,不使用 camelCase 方法( #1581 )
- 添加 PEP561 型标记( #1583 )
错误修复
-
提高替换 tx 最低燃气价格
平价/OpenEthereum 要求替换交易的 gas 至少比原始交易高 12.5%(而 Geth 的 gas 为 10%)。( #1570 )
5.5.1 版(2020 年 2 月 10 日)
改进的文档
- 记录了 getUncleCount 方法。( #1534 )
混杂的
5.5.0 版(2020 年 2 月 3 日)
特征
错误修复
- 修正了 ContractCaller 查找 abi 函数的方式。( #1552 )
- 更新模块以使用兼容的类型扩展导入。( #1554 )
- 在返回的交易收据( #1562 )中制作“从”和“到”字段校验和地址
- 对于 Trinity 的较新版本,使用本地 Trinity 的 IPC 套接字(如果可用)。( #1563 )
改进的文档
-
将 Matomo 跟踪添加到文档网站。
Matomo 是一个开源的网络分析平台,允许我们获得更好的见解,并为我们的受众进行优化,而没有其他可比平台的负面影响。
-
修复文档中的 web3 错别字( #1559 )
混杂的
5.4.0 版(2019-12-06)
特征
- 将 str 添加到 IPCProvider ( #1536 )
错误修复
- 将所需的类型扩展库添加到 setup.py ( #1544 )
5.3.1 版(2019-12-05)
错误修复
改进的文档
混杂的
v5.3.0 (2019-11-14)
特征
- 支持处理 ERC1319 URIs 中的 ENS 域。( #1489 )
错误修复
- 当没有开采的块时,使本地块过滤器返回空列表( #1255 )
- Google protobuf 依赖更新为 3.10.0 ( #1493 )
- Infura websocket 提供程序在没有密钥的情况下工作( #1501 )
改进的文档
混杂的
v5.2.2 (2019-10-21)
特征
- 将 poll_latency 添加到 waitForTransactionReceipt(# 1453)
错误修复
- 修复片状奇偶校验密语模块测试( #1473 )
混杂的
v5.2.1 (2019-10-17)
改进的文档
混杂的
5.2.0 版(2019-09-26)
特征
- 将
enable_strict_bytes_type_checking
标志添加到 web3 实例( #1419 ) - 将 Geth Whisper 方法移动到 snake case,不使用 camel case 方法( #1433 )
错误修复
- 将空检查添加到 logsbloom 格式化程序( #1445 )
改进的文档
- 重新格式化自动生成的 towncrier 发行说明( #1460 )
网络 3 5.1.0 (2019-09-18)
特征
- 将
contract_types
属性添加到Package
类。( #1440 )
错误修复
- 修复 whisper 模块中的薄片奇偶校验集成测试( #1147 )
改进的文档
-
删除空白,在 Geth docs ( #1425 )中移动
topics
键- >topic
-
实施更严格的文档检查,将警告转化为错误,以使 CI 构建失败,从而快速发现问题。
将缺少的
web3.tools.rst
添加到目录中,并修复格式不正确的 JSON 示例。( #1437 ) -
添加使用带有 Infura Rinkeby 节点的 Geth POA 中间件的示例( #1444 )
混杂的
v5.0.2
2019 年 8 月 22 日发布
- 错误修复
- [ethPM]修复包 id 和版本 id 获取策略的 bug-# 1427
v5.0.1
2019 年 8 月 15 日发布
- 错误修复
- 混杂的
- 消除
signTransaction
警告- #1404
- 消除
v5.0.0
2019 年 8 月 1 日发布
- 特征
web3.eth.chainId
现在返回一个整数而不是十六进制- #1394
- 错误修复
- 对于有
@combomethod
装饰器- #1401 的方法,现在会显示弃用警告
- 对于有
- 混杂的
- [ethPM]将 ethPM 添加到 docker 文件- #1405
- 文件(documents 的简写)
v 5 . 0 . 0-beta 5
2019 年 7 月 31 日发布
这是稳定的 v5 发布之前的最终版本。
v5.0.0-beta.4
2019 年 7 月 18 日发布
- 特征
- [ethPM]更新注册表 uri 以支持不带包 id 的基本 uri-# 1389
- 文件(documents 的简写)
- 在 docs 中澄清
Eth.sendRawTransaction()
的返回是一个 HexBytes 对象,而不是一个字符串。- #1384
- 在 docs 中澄清
- 混杂的
- [ethPM]从 pytest-ethereum - #1385 迁移测试
v 5 . 0 . 0-beta 3
2019 年 7 月 15 日发布
- 特征
- 错误修复
- 移除完全 IDNA 处理以支持 UTS46 - #1364
- 混杂的
v 5 . 0 . 0-beta 2
2019 年 5 月 13 日发布
- 特征
- 文件(documents 的简写)
- 在文档中添加关于 web3[tester]的注释- #1325
- 混杂的
- 将
web3._utils.toolz
进口替换为eth_utils.toolz
- #1317
- 将
v 5 . 0 . 0-beta 1
2019 年 5 月 6 日发布
- 特征
- 文件(documents 的简写)
v 5 . 0 . 0-α11
2019 年 4 月 24 日发布
- 文件(documents 的简写)
- 添加 web3.py 单元测试的文档- #1324
- 混杂的
v 5 . 0 . 0-α10
2019 年 4 月 15 日发布
- 特征
- 错误修复
- 混杂的
v 5 . 0 . 0-α9
2019 年 3 月 26 日发布
v 5 . 0 . 0-α8
2019 年 3 月 20 日发布
- 重大变化
- 删除了
web3/utils
目录,支持web3/_utils
- #1282 - 将个人 RPC 端点重新定位到奇偶校验和 Geth class - #1211
- 已弃用
web3.net.chainId()
、web3.eth.getCompilers()
和web3.eth.getTransactionFromBlock()
。移除web3.eth.enableUnauditedFeatures()
- #1270 - 重定位 eth_protocolVersion 和 web 3 _ client version-# 1274
- 将
web3.txpool
重新定位到web3.geth.txpool
- #1275 - 将管理模块重新定位到 Geth 名称空间- #1288
- 将矿工模块重新定位到 Geth 名称空间- #1287
- 删除了
- 特征
- 文件(documents 的简写)
- 新增 v5 迁移单据- #1284
v 5 . 0 . 0-alpha 7
2019 年 3 月 11 日发布
v 5 . 0 . 0-alpha 6
2019 年 2 月 25 日发布
- 特征
- 新增
NoABIFound
没有 ABI 的情况下的错误- #1247
- 新增
- 混杂的
v 5 . 0 . 0-α5
2019 年 2 月 13 日发布
- 重大变化
- 删除已弃用的
buildTransaction
、call
、deploy
、estimateGas
和transact
方法- #1232
- 删除已弃用的
- 特征
- 混杂的
v 5 . 0 . 0-α4
2019 年 1 月 23 日发布
- 重大变化
- 错误修复
- 特征
- 混杂的
v 5 . 0 . 0-α3
2019 年 1 月 15 日发布
- 重大变化
- 错误修复
- 添加检查以确保 blockHash 存在- #1158
- 混杂的
v 5 . 0 . 0-α2
2018 年 12 月 20 日发布
v 5 . 0 . 0-α1
2018 年 12 月 13 日发布
- 特征
- 混杂的
4.8.2 版
2018 年 11 月 15 日发布
- 混杂的
- 减少不必要的内存使用- #1138
4.8.1 版
2018 年 10 月 28 日发布
- 特征
- 混杂的
4.7.2 版
2018 年 9 月 25 日发布
4.7.1 版
2018 年 9 月 11 日发布
- 错误修复
- 发布时使用的老 pip bug 导致非 windows 用户无法安装 4.7.0。
4.7.0 版
2018 年 9 月 10 日发布
- 特征
- 错误修复
- 杂项-将 eth-tester 升级到 0.1.0-beta.32,并删除 py-ethereum 的集成测试。-使用 pycryptodome 3.6.6 将 eth-hash 升级到 0.2.0,该版本解决了一个漏洞。
4.6.0 版
2018 年 8 月 24 日发布
-
特征
- 对 Python 3.7 的支持,最值得一提的是
WebsocketProvider
- #996 - 您现在可以使用:
contract.decode_function_input()
- #991 将事务的数据解码为其原始函数调用和参数 - FreeBSD 中对
IPCProvider
的支持(以及更多 readme 文档)——# 1008 -
错误修复
-
修复基于时间的少量交易策略中的崩溃- #983
- 向
w3.eth.getLogs()
- #1005 传递多个地址时 Fx 崩溃 -
混杂的
-
不允许使用手动和生成的主题列表配置过滤器- #976
-
添加对即将推出的 eth-abi v2 的支持,该版本以不同的方式进行 abi 字符串解码- #974
-
添加更多的过滤器测试- #997
-
使用
None
添加更多过滤测试。注意这里的 geth &奇偶性不同。- #985 -
跟进我们在上游报告的奇偶校验错误(奇偶校验#7816 ):它们在 1.10 中解决了。我们在那个测试中移除了 xfail。- #992
-
文档:添加与 ERC20 合约交互的示例- #995
-
几个文档打字错误修复
- 对 Python 3.7 的支持,最值得一提的是
4.5.0 版
2018 年 7 月 30 日发布
- 特征
- 接受以
bytes
格式提供的地址(不提供校验和验证) - 改进对燃气价格的估计
- 接受以
- 错误修复
- 现在可以使用一个带有
getCode()
的块号连接到EthereumTesterProvider
(不会崩溃)
- 现在可以使用一个带有
- 混杂的
- 测试奇偶校验 1.11.7
- 奇偶校验集成测试升级为使用 sha256 而不是 md5
- 修复一些过滤文档
- eth 帐户升级到 v0.3.0
- eth-tester 升级到 v 0 . 1 . 0-beta 29
4.4.1 版
2018 年 6 月 29 日发布
- 错误修复
- eth-pm 包被重命名(旧的被删除),这打破了 web3 版本。eth-pm 从 web3.py 安装中移除,直到它稳定。
- 混杂的
IPCProvider
现在接受一个pathlib.Path
参数作为 IPC 路径- 说明 web3 中 新自定义自动提供程序的文档
4.4.0 版
2018 年 6 月 21 日发布
- 特征
- 在 WEB3_PROVIDER_URI 环境变量中添加 https 支持
- 可以在
WebsocketProvider
中发送 websocket 连接参数 - 两个新的自动初始化选项:
from web3.auto.gethdev import w3
from web3.auto.infura import w3
(设置INFURA_API_KEY
环境变量后)
- 对基于 ethpm-spec 的新包管理工具的 Alpha 支持,参见 包管理器 API
- 错误修复
- 现在可以通过在 websocket 连接参数中指定一个大的
max_size
来在WebsocketProvider
中接收大的响应。
- 现在可以通过在 websocket 连接参数中指定一个大的
- 混杂的
- Websockets 依赖项已升级到 v5
- 在
getTransactionFromBlock()
上发出弃用警告 - 为
waitForTransactionReceipt()
修复文档 - 开发者 Dockerfile 现在安装测试依赖项
4.3.0 版
2018 年 6 月 6 日发布
- 特征
- 支持 ABI 类型,如:Vyper 使用的 fixedMxN 。
- 动态交易签名中间件:使用本地密钥,就像使用新的
sign_and_send_raw_middleware
托管密钥一样 - 新增
getUncleByBlock()
API - 新名称
getTransactionByBlock()
,取代了已弃用的getTransactionFromBlock()
- 添加几个新的奇偶校验跟踪函数
- 解决模糊函数调用的新 API,例如:
- 两个同名的函数接受相似的参数类型,比如
myfunc(uint8)
和myfunc(int8)
,你想调用contract.functions.myfunc(1).call()
- 请看如何在: 调用不明确的合约函数示例
- 两个同名的函数接受相似的参数类型,比如
- 错误修复
- 气体估计不崩溃,当 0 块可用。(即~在创世纪板块上)
- 关闭所有 HTTPProvider 会话,以消除退出时的警告
- 停止向筛选器添加两次合约地址。这让一些节点不高兴
- 混杂的
- Friendlier json 编码/解码失败错误消息
- 当来自节点的响应很大时,性能提高(通过减少我们评估响应是否是有效 json 的次数)
- 奇偶校验 CI 测试修复(唉,环境设置地狱,感谢社区清理这一点!)
- 当请求一个带有奇偶错误的事务时,不要崩溃(它允许包含一个未签名的事务,所以
publicKey
是None
) - 文档修复:必须对地址进行校验和检查(或在 mainnet 上对名称进行检查)
- 在非 Debian 操作系统上启用奇偶校验的本地集成测试
- 自述文件:
- 测试开发人员的设置
- 将构建徽章从 Travis 更改为 Circle CI
- 在 Circle CI 中缓存奇偶校验二进制文件,以减少二进制 API 宕机的影响
- 掉了点:
py.test
->T1】
4.2.1 版
2018 年 5 月 9 日发布
- 错误修复
- 当附加了数据的
getting a transaction
试图modify it
(例如,提高汽油价格)时,数据在新的交易中没有被重新附加。 web3.personal.sendTransaction()
在使用由buildTransaction()
生成的交易时崩溃
- 当附加了数据的
- 混杂的
- 改进了连接到 geth 风格 PoA 网络时的错误消息
- 改进了地址未校验和时的错误消息
- 开始于对 ABI 论点的支持
- 大量文档升级,包括:
- 理解节点/网络/连接的指南
- 带有常见问题注释的简化快速入门
- 新的故障排除部分
- 潜在的 pypy 性能改进(使用 toolz 而不是 cytoolz)
- eth-tester 升级到 beta 24
4.2.0 版
2018 年 4 月 25 日发布
- 删除了对
w3.eth.account
的审计警告和选择加入要求。详见: 使用本地私钥 - 添加了一个 API 来查找合约函数:
fn = contract.functions['function_name_here']
- 升级 Whisper (shh)模块以使用 v6 API
- Bugfix:使用
transaction = contract.constructor().buildTransaction()
时将事务的“to”字段设置为空 - 您现在可以在
buildTransaction()
中指定随机数 - 区分链 id 和网络 id–当前总是为
chainId
返回无 - 更好的错误消息,当试图使用一个合约功能有 0 或 1 以上的匹配
- 尝试在低于 3.5 版本的 python 上安装时出现更好的错误消息
- 在 pip 安装过程中安装 pypiwin32,以获得更好的 Windows 体验
- 通过从已弃用的 API 升级,尤其是从已弃用的
contract.deploy(txn_dict, args=contract_args)
升级到新的contract.constructor(*contract_args).transact(txn_dict)
,清除了大量测试警告 - 文档打字错误修复
- 更好的拉取请求模板
4.1.0 版
2018 年 4 月 9 日发布
- 新
WebsocketProvider
。如果您正在寻找比 HTTP 更好的性能,请查看 websockets。 - 新增
w3.eth.waitForTransactionReceipt()
- 向简明合约和隐含合约添加了名称冲突检测
- 修正了在 createFilter 中允许 fromBlock 设置为 0 的错误,比如
contract.events.MyEvent.createFilter(fromBlock=0, ...)
- ENS 自动连接的错误修正
- 支持拜占庭的 eth-tester
- v3 -> v4 升级的新迁移指南
- 各种文档更新
- 将 eth 帐户固定到旧版本
4.0.0 版
2018 年 4 月 2 日发布
- 将 beta.13 标记为稳定
- 文档调整
4 . 0 . 0-beta 13
2018 年 3 月 27 日发布
这是稳定的 v4 版本发布之前的最终版本。
- 增加对 geth 1.8 的支持(修复了
getTransactionReceipt()
上的错误) - 现在,您可以使用
block_identifier
关键字参数在特定块调用合约方法,参见:call()
- 在准备稳定发布时,默认禁用
w3.eth.account
,直到第三方审计完成&解决。 - 用于合约部署的新 API,支持燃气估算、本地签署等。
constructor()
见。 - 用contract . events . $ my _ event . create filter()查找合约事件
- 支持合约方法的自动完成。
- 将大多数依赖项升级到稳定
- eth-abi
- eth-utils
- 六字节
- 不包括:以太网测试仪和以太网账户
- 将默认的 EthereumTesterProvider 后端从 eth-testrpc 切换到 eth-tester:
web3.providers.eth_tester.EthereumTesterProvider
- 大量文档改进
- 测试各种供应商上的节点集成
- geth 1.8 测试套件
4 . 0 . 0-beta 12
释放时出了点小问题。跳过。
4 . 0 . 0-beta 11
2018 年 2 月 28 日发布
- 修改或替换待定事务的新方法
- 连接到
geth --dev
的兼容性选项–参见 授权证明 - 新的
web3.net.chainId
- 从现有筛选器 ID 创建筛选器对象。
- eth-utils v1.0.1(稳定)兼容性
4 . 0 . 0-beta 10
2018 年 2 月 21 日发布
- 错误修复:与 eth-utils v1-beta2 的兼容性(不兼容性导致全新的 web3.py 安装失败)
- bugfix:发送
contract.functions.myFunction().buildTransaction()
的输出到sendTransaction()
时崩溃。现在,拥有 chainID 键不会使 sendTransaction 崩溃。 - 修正:修正了估算气体时的一个类型错误,比如:
contract.functions.myFunction().estimateGas()
- 在持续集成套件中增加了奇偶校验集成测试!
- 一些 py3 和文档清理
4 . 0 . 0-测试版 9
2018 年 2 月 8 日发布
- 将事件日志参数作为属性访问
- 支持在 eth-tester 中指定随机数
- 修复 eth-utils、eth-abi 和 eth-tester 之间的依赖冲突
- 向协定构造函数提供无效关键字时,错误消息更清晰
- 使用私钥的新文档+设置文档测试
- 首次奇偶校验集成测试
- 用
eth_account.account.Account
替换 w3.eth.account 的内部实现
4.0.0 版-测试版 8
2018 年 2 月 7 日发布,随后召回。它向 git 历史记录中添加了 32MB 的测试数据,因此标签被删除,相应的发布也被删除。(尽管该版本不包含该测试数据)
4 . 0 . 0-beta 7
2018 年 1 月 29 日发布
- 在带有 py-evm 的 eth-tester 中支持
web3.eth.Eth.getLogs()
- 使用contract . events . my Event( args,*kwargs)通过事件 ABI 处理交易收据。process receipt(transaction _ receipt)新类型见 事件日志对象 。
- 将超时参数添加到
web3.providers.ipc.IPCProvider
- 错误修复:确保总是安装 idna 包
- 在所有测试中,用 py-evm 替换 ethtestrpc
- Dockerfile 文件修正
- 测试重构和清理
- 减少测试期间的警告
4.0.0 版-测试版 6
2018 年 1 月 18 日发布
- 新合约函数调用 API:my _ contract . functions . my _ func()。call() 优于现在已经废弃的 my_contract.call()。my_func() API。
- 基于https://eth gasstation . info方法的一种新的、复杂的气体估计算法。你必须接受新方法,因为它相当慢。我们建议使用新的缓存中间件。
web3.gas_strategies.time_based.construct_time_based_gas_price_strategy()
见 - 新的缓存中间件,可以基于时间、块或无限期进行缓存。
- 通过 HTTP 自动重试几次 JSON-RPC 请求。
- 简明合约现在直接有了地址
- 许多 eth-tester 修复。
web3.providers.eth_tester.main.EthereumTesterProvider
现在是web3.providers.tester.EthereumTesterProvider
的合法替代。 - ethest-RPC 已从测试中移除。测试仅使用 eth-tester,在肾盂上进行。很快它将成为带有 py-evm 的 eth-tester。
- 挤掉了几个依赖项,比如 eth-tester
- 文档更新
4.0.0 版-测试版 5
2017 年 12 月 28 日发布
- 对使用
EthereumTesterProvider
使用 eth-tester 的改进:- 修复事件记录中的键名
- 添加对
sendRawTransaction()
的支持
IPCProvider
现在自动重试断开的连接,就像当你重启你的节点- 新的燃气价格引擎 API,为更先进的燃气定价策略奠定了基础
4 . 0 . 0-beta 4
2017 年 12 月 7 日发布
- 离线准备合约交易的新方法
- 新的自动供应商检测,用于
w3 = Web3()
初始化 - 设置环境变量 WEB3_PROVIDER_URI 以建议自动检测的供应商
- 设置供应商的新 API,如:
w3.providers = [IPCProvider()]
- Crashfix:
web3.eth.Eth.filter()
检索带有参数“最新”的日志时 - 将 eth-tester 升级到 v 0 . 1 . 0-beta 5,修正了按主题过滤的错误
- 移除了 GPL 库
pylru
,现在被认为完全符合 MIT 许可。
4 . 0 . 0-beta 3
2017 年 12 月 1 日发布
- 修正 ABI 类型的编码:
bytes[]
和string[]
- Windows 连接错误修复
- 修正了约 1%的时间内被破坏的消息签名(零填充
r
和s
) - Autoinit web3 现在不产生任何异常,而不是在
from web3.auto import w3
引发异常 - 清除格式化失败的错误(包括失败的字段名称)
- Python 现代化,消除 Py2 兼容性缺陷
- 现在更新已更改名称的依赖项:
eth-abi
eth-keyfile
eth-keys
eth-tester
eth-utils
- 使用缓存的 geth 二进制文件加快 Travis CI 构建
4.0.0 版-测试版 2
2017 年 11 月 22 日发布
错误修复:
sendRawTransaction()
接受原始字节contract()
接受 ENS 名称作为合约地址signTransaction()
返回期望的散列值(签署交易后的)Account
方法都可以静态调用,比如:Account.sign(...)
getTransactionReceipt()
将status
字段作为int
返回- 如果提供了“地址”ABI,则查找 ENS 名称
- 如果使用同一个 w3 实例运行多个线程,则不再引发
ValueError: Recursively called ...
另外,各种 python 现代化代码清理,以及针对 geth 1.7.2 的测试。
4.0.0 版-测试版 1
- 现在需要 Python 3
- ENS 名称可以用在十六进制地址可以用的任何地方
- 用本地私钥签署事务和消息
- 新增过滤机制:
get_all_entries()
和get_new_entries()
- 用
from web3.auto import w3
快速自动初始化 - 所有地址都必须提供 EIP-55 校验和
- 返回的所有地址都带有校验和
- 将
Web3.toDecimal()
改名为toInt()
,参见: 编解码助手 - 所有过滤器调用都是同步的,gevent 集成被丢弃
- 合约
eventFilter()
已经取代了Contract.on()
和Contract.pastEvents()
- ABI 类型的合约参数现在接受十六进制字符串。
string
ABI 类型的合约参数现在接受 pythonstr
。string
ABI 类型的合约返回值现在返回 pythonstr
。- 许多方法现在返回一个类似于
bytes
的对象,而以前它们会返回一个十六进制字符串,就像在Web3.sha3()
中一样 - IPC 连接保持打开并重用,而不是在每次调用时打开和关闭
- v3 中的许多不推荐使用的方法已被删除
3.16.1
- 添加
ethereum-tester
作为依赖项
3.16.0
- 添加了名为的中间件,以便更容易地操作中间件堆栈。
- 运行时不能再修改供应商中间件。
- 合约对象的实验性自定义 ABI 规范化 API。
3.15.0
- 更改文档以使用 RTD 主题
ethereum-tester
库的实验新品EthereumTesterProvider
。- 通过
ethereum-abi-utils
升级到v0.4.1
修正了function
类型 abi 编码的错误 - 修正了
Web3.toHex
符合 RPC 规范的错误。
3.14.2
- Fix PyPi readme text.
3.14.1
- Fix PyPi readme text.
3.14.0
- 新
stalecheck_middleware
- 对
Web3.toHex
和Web3.toText
的改进。 - 对
Web3.sha3
签名的改进。 Web3.eth.sign
api 的错误修复
3.13.5
- 添加实验
fixture_middleware
- 中间件 API 引入和迁移到格式化程序中间件中引入的各种错误修复。
3.13.4
- 修复了格式化程序处理合约创建事务的错误。
3.13.3
- 改进的测试基础设施。
3.13.2
- 修复了为新的块过滤器和待定事务过滤器检索过滤器更改的错误。
3.13.1
- 修复拼写错误的
attrdict_middleware
(拼写为attrdict_middlware
)。
3.13.0
- 新的中间件 API
- 支持多个提供商
- 新
web3.soliditySha3
- 删除原始网站中从未实现的多个功能 3。
- 不推荐使用的
web3.currentProvider
访问器。现在用web3.provider
代替。 - 在
web3.personal.newAccount
中不推荐使用的密码提示。
3.12.0
- 修正了 abi 过滤错误,以正确处理
constructor
和fallback
类型的 abi 条目。
3.11.0
- 如果地址看起来像是校验和,所有接受
address
参数的 web3 apis 现在都会执行校验和。 - 改进了在可能未完全同步的节点上调用合约时的错误消息
- 修正了
web3.eth.syncing
正确处理False
的错误
3.10.0
- Web3 现在返回了
web3.utils.datastructures.AttributeDict
,它之前返回了一个普通的dict
。 web3.eth.contract
现在对address
参数进行验证。- 增加了
web3.eth.getWork
API
3.9.0
- 增加对
eth
的abi
参数的验证 bytes
、bytesXX
和string
的合约返回值不再转换为文本类型,而是以其原始的字节-字符串格式返回。
3.8.1
- 修正了双重散列输入。
- 删除了已弃用的
DelegatedSigningManager
- 删除了弃用的
PrivateKeySigningManager
3.8.0
- 将 pyrlp 依赖关系更新为
>=0.4.7
- 将 eth-testrpc 依赖关系更新为
>=1.2.0
- 反对
DelegatedSigningManager
- 反对
PrivateKeySigningManager
3.7.1
- eth-abi-utils 中错误修复的上游版本碰撞
3.7.0
- 不赞成
eth.defaultAccount
默认为 coinbase 帐户。
3.6.2
- 修复合约工厂创建的错误消息。
- 将
ethereum-utils
用于实用功能。
3.6.1
- 升级
ethereum-abi-utils
对上游错误修复的依赖性。
3.6.0
- 弃用
Contract.code
:替换为Contract.bytecode
- 弃用
Contract.code_runtime
:替换为Contract.bytecode_runtime
- 反对将
abi
、code
、code_runtime
和source
作为Contract
对象的参数。 - 反对将
source
作为Contract
对象的属性 - 添加
Contract.factory()
API。 - 不赞成使用
construct_contract_factory
助手函数。
3.5.3
- 修正了如何使用
requests
库的错误。现在重用会话。
3.5.2
- 修复了在 HTTPProvider 中构造
request_kwargs
的错误
3.5.1
- 允许从
web3
模块导入HTTPProvider
。 - 使
HTTPProvider
作为web3
实例的属性可访问。
3.5.0
- 反对
web3.providers.rpc.RPCProvider
- 反对
web3.providers.rpc.KeepAliveRPCProvider
- 添加新的
web3.providers.rpc.HTTPProvider
- 移除对 gevent 的硬依赖。
3.4.4
- 修正了当散列未知时
web3.eth.getTransaction
的错误。
3.4.3
- 修复了事件日志数据解码的错误,以正确处理动态大小的值。
- 从
eth-testrpc
访问额外 RPC 功能的新web3.tester
模块
3.4.2
- 固定包装,这样就不需要
eth-testrpc
。
3.4.1
- force gevent<1.2.0 until this issue is fixed: https://github . com/gevent/gevent/issues/916
3.4.0
- 修正了合约实例尊重
web3.eth.defaultAccount
的错误 - 更好的错误报告时,ABI 解码失败的合约方法响应。
3.3.0
- 新
EthereumTesterProvider
现已上市。比TestRPCProvider
更快的测试运行 - 更新了基本的 eth-testrpc 要求。
3.2.0
web3.shh
现已实施。- 引入了
KeepAliveRPCProvider
以正确回收 HTTP 连接并使用 HTTP keep alive
3.1.1
- 修正了合约交易发送不考虑
web3.eth.defaultAccount
配置的错误。
3.1.0
- 新的 DelegatedSigningManager 和 PrivateKeySigningManager 类。
3.0.2
- 错误修复或 IPCProvider 不能很好地处理大型 JSON 响应。
3.0.1
- 更好的 RPC 兼容性,与奇偶校验 JSON-RPC 服务器兼容。
3.0.0
Filter
对象现在支持使用poll_interval
属性控制它们轮询的时间间隔
2.9.0
- 修正了事件主题的生成。
- Web3。Iban 现在允许访问 Iban 地址工具。
2.8.1
- 修正了 linux 系统上的
geth.ipc
路径。
2.8.0
-
对
Contract
API 的更改:Contract.deploy()
参数参数重命名为 argsContract.deploy()
现在接受 args 和 kwargs 参数,以允许使用关键字参数或位置参数进行构造。Contract.pastEvents
现在允许你指定一个fromBlock or ``toBlock.
以前这些分别被强制为'earliest'
和web3.eth.blockNumber
。Contract.call
、Contract.transact
和Contract.estimateGas
现在可以作为类方法和实例方法调用。以这种方式调用时,必须为地址提供事务参数。Contract.call
、Contract.transact
和Contract.estimateGas
现在允许为交易指定备用地址。
-
RPCProvider
现在支持以下构造函数参数。ssl
用于启用 SSLconnection_timeout
和network_timeout
用于控制请求超时。
T15】
2.7.1
- 错误修复:修复 merge_args_and_kwargs helper fn 中的 KeyError。
2.7.0
- 修正了使用块标识符“最新”、“最早”、“待定”的错误
- Sphinx 文档
- 非数据交易现在默认 90000 气。
- Web3 对象现在将帮助器设置为静态方法,而不是在初始化时设置。
- RPCProvider 现在接受一个
path
参数来允许请求配置到除了/
之外的路径。
2.6.0
- TestRPCProvider 不再将日志记录输出转储到 stdout 和 stderr。
- 修正了
address[]
返回类型的错误 - 修正了
address
事件数据类型的错误
2.5.0
- 现在,所有包含
data
元素的交易都将使用 100k 额外缓冲区自动估算其 gas。以前只有从Contract
对象发起的事务才是这样。
2.4.0
- 现在可以使用关键字参数调用合约函数。
2.3.0
- 过滤器的上游修复
- 过滤器 API
on
和pastEvents
现在可以作为实例和类方法调用。
2.2.0
- 从合约
on
和pastEvents
方法返回的过滤器现在使用与web3.js
相同的数据格式调用它们的回调。
2.1.1
- 将 RPCProvider 端口转换为整数。
2.1.0
- 删除所有猴子补丁
2.0.0
- 引入下游更新以正确使用 gevent。
- 修复
eth_sign
- 修正了合约操作改变被传入的交易对象的错误。
- 更明确的林挺忽略声明。
1.9.0
- BugFix:修复 python3 只处理
json.JSONDecodeError
的问题。
1.8.0
- 错误修正:
RPCProvider
不发送内容类型头 - Bugfix:
web3.toWei
现在返回整数而不是小数。小数
1.7.1
TestRPCProvider
现在可以直接从web3
导入
1.7.0
- 添加
eth.admin
界面。 - Bugfix:格式化
web3.eth.syncing
的返回值 - Bugfix: IPCProvider 套接字交互现在更加健壮。
1.6.0
eth-testrpc
和ethereum-tester-client
的下游包升级,以处理 Homestead 和 DAO fork 块号的配置。
1.5.0
- 将
web3.contract._Contract
重命名为web3.contract.Contract
,将其公开给静态分析和自动完成工具 - 允许向函数传递字符串参数
- 自动计算合约部署的气体需求,并
- 交易。
- 合约过滤器
- 块、事务和日志过滤器
web3.eth.txpool
界面web3.eth.mining
界面- 编码修复。
1.4.0
- 修复了允许在构造函数参数中使用地址类型的错误。
1.3.0
web3.eth.contract
接口的部分实现。
1.2.0
- 重组项目模块,使其更加扁平
** 添加运行测试套件的能力,而没有缓慢的测试。 将实用程序分解成更小的模块。 基本 pep8 格式。 将 python 命名约定应用于内部 API 许多小的错误修正。 移除
1.0.0
重构留下的死代码。 移除web3/solidity
模块。*
*## 1.1.0
- 添加缺少的
isConnected()
方法。 - 为
setProvider()
添加测试覆盖
1.0.1
- 指定缺少的
pyrlp
和gevent
依赖项
1.0.0
- 对应用程序的大部分进行大规模重构。
0.1.0
- 初始发布*