跳转至

发布说明

原文:https://web3py.readthedocs.io/en/stable/releases.html

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 日)

特征

  • 添加新的预定义块标识符safefinalized。( #2655 )

错误修复

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_transactionTRANSACTION_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 中的buildTransactionestimateGas,支持estimate_gasbuild_transaction ( #2459 )

混杂的

2022 年 6 月 1 日

错误修复

  • 只有线程锁方法试图访问缓存中间件的缓存。( #2493 )

混杂的

5.29.1 版(2022 年 5 月 16 日)

错误修复

  • 修复缓存中间件( #2185 )中 _ is _ latest _ block _ number _ request 的错误
  • 增加会话缓存大小( #2451 )

改进的文档

  • 文档修复:待处理事务过滤器返回一个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 )
  • 异常重试中间件白名单在txpooltesting ( #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_receipteth.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 )

改进的文档

  • Websocket 库文档的正确链接( #2173 )
  • 文档更新,使 enable _ unstable _ package _ management()方法在 web3 实例上( #2208 )

混杂的

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_feeHistory RPC 方法的支持( #2038 )
  • 添加对 eth_maxPriorityFeePerGas RPC 方法的支持( #2100 )

错误修复

  • 合约函数调用解码异常的字符串插值问题的热修复,以便于从 eth_call 响应中提取有意义的消息( #2096 )
  • 当 EIP-1559 交易参数用于send_transaction ( #2099 )时,如果设置了gasPrice,则绕过通过气价策略添加gasPrice

改进的文档

  • 更新费用历史文档( #2104 )

5.22.0 版(2021 年 8 月 2 日)

特征

  • 添加对 eth_getRawTransactionByHash RPC 方法( #2039 )的支持
  • 添加异步网络模块( #2044 )
  • 添加异步eth.get_balanceeth.get_codeeth.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_transactionmodify_transactionreplace_transaction返回 HexByte 对象而不是字符串。( #2058 )
  • 添加了 Windows 计算机上 Microsoft Visual C++错误的故障排除部分( #2077 )
  • 更新了签署和发送中间件文档,以包括 EIP-1559 以及遗留交易示例( #2092 )

混杂的

5.21.0 版(2021 年 7 月 12 日)

特征

  • 增加对 EIP 1559 交易键的支持: maxFeePerGasmaxPriorityFeePerGas(# 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 )

改进的文档

  • 澄清 solidityKeccak 文档。( #1971 )
  • 改进贡献者文档上下文和排序。( #2008 )
  • 添加不稳定异步供应商的文档( #2017 )

混杂的

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 日)

特征

  • 添加get_storage_at方法,取消getStorageAt。( #1828 )
  • 添加eth.get_block方法,取消eth.getBlock。( #1829 )

错误修复

  • 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 )

特征

  • 介绍实验以太坊 2.0 信标节点 API ( #1758 )
  • 在 Eth 类上添加新的 get_balance 方法。已弃用 getBalance。( #1806 )

混杂的

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 日)

错误修复

  • 解决在文档中使用多个提供商的问题( #1701 )
  • 从文档中删除过时的连接错误( #1737 )
  • 允许对使用Method类的方法进行 ENS 名称解析( #1749 )

混杂的

5.12.1 版(2020 年 9 月 2 日)

混杂的

5.12.0 版(2020 年 7 月 16 日)

特征

  • web3.pmethpm 模块更新为 EthPM v3 规格。( #1652 )
  • 允许消费者用自己的请求初始化 HttpProvider 。会话。这允许根据需要调整 HttpAdapter 连接池。( #1469 )

改进的文档

  • 在示例文档中使用 ethpm v3 包。( #1683 )
  • 现代化部署合约示例。( #1679 )
  • 添加投稿指南和行为准则。( #1691 )

混杂的

v 5 . 12 . 0-beta 3(2020-07-15)

错误修复

  • 在发行版中包括 ethpm-spec 实度示例。( #1686 )

v 5 . 12 . 0-beta 2(2020-07-14)

错误修复

  • 支持发行版中的 ethpm-spec 子模块。( #1682 )

改进的文档

  • 现代化部署合约示例。( #1679 )
  • 在示例文档中使用 ethpm v3 包。( #1683 )

5 . 12 . 0-测试版 1 (2020 年 7 月 9 日)

特征

  • 允许消费者用自己的请求初始化 HttpProvider 。会话。这允许根据需要调整 HttpAdapter 连接池。( #1469 )
  • web3.pmethpm 模块更新为 EthPM v3 规格。( #1652 )

错误修复

  • 更新 ethpm 文档和测试中过时的参考 url。( #1680 )

改进的文档

  • 添加一个 getBalance() 示例,并为使用 fromWeitoWei 实用程序方法提供更多上下文。( #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)的类型注释

改进的文档

  • 更正了getTransactionReceipt的返回值、缓存中间件的描述以及不推荐使用的方法名。( #1663 )
  • 更正 websocket 超时配置的文档。( #1665 )

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 )

错误修复

  • 修复 local_filter_middleware 新条目 bug ( #1514 )
  • ENS name和 ENS address可以返回None。修复返回类型。( #1633 )

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 日)

特征

  • ENS 不得不发布一个新的注册表来修复一个错误。背景资料见本文。现在,Web3.py 为所有默认的 ENS 交互使用新的注册表。( #1573 )

错误修复

  • 修正了 ContractCaller 查找 abi 函数的方式。( #1552 )
  • 更新模块以使用兼容的类型扩展导入。( #1554 )
  • 在返回的交易收据( #1562 )中制作“从”和“到”字段校验和地址
  • 对于 Trinity 的较新版本,使用本地 Trinity 的 IPC 套接字(如果可用)。( #1563 )

改进的文档

  • 将 Matomo 跟踪添加到文档网站。

    Matomo 是一个开源的网络分析平台,允许我们获得更好的见解,并为我们的受众进行优化,而没有其他可比平台的负面影响。

    更多阅读:https://matomo.org/why-matomo/(# 1541)

  • 修复文档中的 web3 错别字( #1559 )

混杂的

5.4.0 版(2019-12-06)

特征

  • str 添加到 IPCProvider ( #1536 )

错误修复

  • 将所需的类型扩展库添加到 setup.py ( #1544 )

5.3.1 版(2019-12-05)

错误修复

  • 仅将六字节格式应用于事务中的 r 和 s 值(如果存在)( #1531 )
  • 更新包含 mypy 错误修复的 eth-utils 依赖项。( #1537 )

改进的文档

  • 更新合约事件文档以显示正确的示例( #1515 )
  • 向在 v5 中引发错误的方法添加文档,而不是返回None ( #1527 )

混杂的

v5.3.0 (2019-11-14)

特征

  • 支持处理 ERC1319 URIs 中的 ENS 域。( #1489 )

错误修复

  • 当没有开采的块时,使本地块过滤器返回空列表( #1255 )
  • Google protobuf 依赖更新为 3.10.0 ( #1493 )
  • Infura websocket 提供程序在没有密钥的情况下工作( #1501 )

改进的文档

  • 更新快速入门说明,使用自动 Infura 模块,而不是更复杂的 web3 自动模块( #1482 )
  • 从自述文件中删除过时的 py.test 命令( #1483 )

混杂的

v5.2.2 (2019-10-21)

特征

  • 将 poll_latency 添加到 waitForTransactionReceipt(# 1453)

错误修复

  • 修复片状奇偶校验密语模块测试( #1473 )

混杂的

v5.2.1 (2019-10-17)

改进的文档

  • 更新解锁帐户持续时间的文档( #1464 )
  • 澄清 OSX>=10.15 ( #1467 )的模块安装命令

混杂的

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 日发布

  • 错误修复
    • [ethPM]将开始/结束字符添加到包名 regex - #1418
    • [ethPM]更新部署以在只有 abi 可用时工作- #1417
    • 修复decode_function_input - #1410 中处理错误的元组
  • 混杂的
    • 消除signTransaction警告- #1404

v5.0.0

2019 年 8 月 1 日发布

  • 特征
    • web3.eth.chainId现在返回一个整数而不是十六进制- #1394
  • 错误修复
    • 对于有@combomethod装饰器- #1401 的方法,现在会显示弃用警告
  • 混杂的
    • [ethPM]将 ethPM 添加到 docker 文件- #1405
  • 文件(documents 的简写)
    • 文档被更新为使用校验和地址- #1390
    • 微小的文档格式修正- #1338 & #1345

v 5 . 0 . 0-beta 5

2019 年 7 月 31 日发布

这是稳定的 v5 发布之前的最终版本。

  • 特征
    • 可以读取和设置奇偶校验操作模式- #1355
    • 处理单个事件日志,而不是整个交易收据- #1354
  • 文件(documents 的简写)
    • 移除 ethtoken 上的 doctest 依赖项- #1395
  • 错误修复
    • [ethPM]绕过大型文件的 IPFS 验证- #1393
  • 混杂的
    • [ethPM]更新默认注册管理机构可靠性合约- #1400
    • [ethPM]更新 web3.pm 以使用新的简单注册表实现- #1398
    • 更新发布依赖要求格式- #1403

v5.0.0-beta.4

2019 年 7 月 18 日发布

  • 特征
    • [ethPM]更新注册表 uri 以支持不带包 id 的基本 uri-# 1389
  • 文件(documents 的简写)
    • 在 docs 中澄清Eth.sendRawTransaction()的返回是一个 HexBytes 对象,而不是一个字符串。- #1384
  • 混杂的
    • [ethPM]从 pytest-ethereum - #1385 迁移测试

v 5 . 0 . 0-beta 3

2019 年 7 月 15 日发布

  • 特征
    • 添加 eth_getProof 支持- #1185
    • 实现 web 3 . pm . get _ local _ package()-# 1372
    • 更新注册中心 URIs 以支持链 id-# 1382
    • 将错误标志添加到event.processReceipt - #1366
  • 错误修复
    • 移除完全 IDNA 处理以支持 UTS46 - #1364
  • 混杂的
    • 将 py-ethpm 库迁移到 web3/ethpm - #1379
    • 放宽 ethPM - #1380 中的规范地址要求
    • 用 web3 的原生 infura 支持替换 ethPM 的 infura 策略- #1383
    • combine_argument_formatters改为apply_formatters_to_sequence - #1360
    • pytest.xfail实例移动到@pytest.mark.xfail - #1376
    • 在默认交易参数- #1378 中将net.version改为eth.chainId

v 5 . 0 . 0-beta 2

2019 年 5 月 13 日发布

  • 特征
    • 将已弃用的 sha3 方法标记为静态- #1350
    • 升级到 eth-account v0.4.0 - #1348
  • 文件(documents 的简写)
    • 在文档中添加关于 web3[tester]的注释- #1325
  • 混杂的
    • web3._utils.toolz进口替换为eth_utils.toolz - #1317

v 5 . 0 . 0-beta 1

2019 年 5 月 6 日发布

  • 特征
    • 在供应商 IPC 路径中添加对 tilda 的支持- #1049
    • 支持 EIP 712 签约- #1319
  • 文件(documents 的简写)
    • 更新合约示例以使用compile_standard - #1263
    • 修复中间件文档中的错别字- #1339

v 5 . 0 . 0-α11

2019 年 4 月 24 日发布

  • 文件(documents 的简写)
    • 添加 web3.py 单元测试的文档- #1324
  • 混杂的
    • 更新已弃用的 collections . ABC imports-# 1334
    • 修复文档输入错误- #1335
    • 升级 eth-tester 版本- #1332

v 5 . 0 . 0-α10

2019 年 4 月 15 日发布

  • 特征
    • 按块哈希添加 get logs-# 1269
    • 实现 chainId 端点- #1295
    • 将非标准 JSON-RPC 端点移至适用的奇偶校验/获取文档。web3.api - #1290 弃用web3.version
    • 将 Whisper 端点移至适用的 Geth 或奇偶校验名称空间- #1308
    • 增加了对 Goerli 供应商的支持- #1286
    • 将 addReservedPeer 添加到奇偶校验模块- #1311
  • 错误修复
    • 将燃气价格值转换为燃气策略中的整数- #1297
    • 缺少构造函数不再忽略构造函数参数- #1316
  • 混杂的
    • 要求 eth-utils >= 1.4,降级 Go 版本用于集成测试- #1310
    • 修复文档构建警告- #1331
    • 拉链夹具数据- #1307
    • 更新集成测试的 Geth 版本- #1301
    • 移除不需要的 testrpc - #1322
    • 将 ContractCaller 文档添加到 v5 迁移指南- #1323

v 5 . 0 . 0-α9

2019 年 3 月 26 日发布

  • 重大变化
    • 如果没有 Infura API 键,则引发错误-# 1294&-# 1299
  • 混杂的
    • 集成测试的奇偶校验版本升级- #1292

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
  • 特征
    • 实现eth_submitHashrateeth_submitWork JSONRPC 端点。- #1280
    • 实施web3.eth.signTransaction - #1277
  • 文件(documents 的简写)
    • 新增 v5 迁移单据- #1284

v 5 . 0 . 0-alpha 7

2019 年 3 月 11 日发布

  • 重大变化
    • 更新的 JSON-RPC 调用查找 txs 或块,如果查找失败将引发错误- #1218#1268
  • 特征
    • 元组 ABI 支持- #1235
  • 错误修复
    • 最后一个人还在坚持。变更为middleware_onion - #1262

v 5 . 0 . 0-alpha 6

2019 年 2 月 25 日发布

  • 特征
    • 新增NoABIFound没有 ABI 的情况下的错误- #1247
  • 混杂的
    • 使用 API 键与 Infura 交互。3 月 27 日之后需要钥匙。- #1232
    • 删除process_type实用功能,支持 eth-abi 功能- #1249

v 5 . 0 . 0-α5

2019 年 2 月 13 日发布

  • 重大变化
    • 删除已弃用的buildTransactioncalldeployestimateGastransact方法- #1232
  • 特征
    • 添加Web3.toJSON方法- #1173
    • 合约调用者 API 已实现- #1227
    • 添加 Geth POA 中间件以使用 Rinkeby 和 Infura Auto - #1234
    • 将清单和输入参数验证添加到pm.release_package() - #1237
  • 混杂的
    • 清理过滤文件中的 intro 和 block/tx 部分- #1223
    • 移除不必要的EncodingError异常捕捉- #1224
    • merge_args_and_kwargs效用函数- #1228 的改进
    • 更新 vyper 注册表资产- #1242

v 5 . 0 . 0-α4

2019 年 1 月 23 日发布

  • 重大变化
    • middleware_stack更名为middleware_onion - #1210
    • 掉落已经弃用web3.soliditySha3 - #1217
    • ENS:不要在域名上推断.ethTLD-# 1205
  • 错误修复
    • EthereumTesterProvider - #1217 中验证ethereum_tester
    • 支持不创建过滤器的getLogs()方法- #1192
  • 特征
    • 稳定PM模块- #1125
    • 实现异步Version模块- #1166
  • 混杂的
    • 更新。gitignore 忽略.DS_Store.mypy_cache/ - #1215
    • 将 CircleCI 徽章链接更改为 CircleCI 项目- #1214

v 5 . 0 . 0-α3

2019 年 1 月 15 日发布

  • 重大变化
    • 移除web3.miner.hashrateweb3.version.network - #1198
    • 移除web3.providers.tester.EthereumTesterProviderweb3.providers.tester.TestRPCProvider - #1199
    • manager.providers从列表改为单个manager.provider - #1200
    • web3.keccak方法- #1207 替换已弃用的web3.sha3方法
    • 丢弃 IPCProvider - #1206 的自动检测测试网
  • 错误修复
    • 添加检查以确保 blockHash 存在- #1158
  • 混杂的
    • 删除providers/base . py-# 1160中一些无法访问的代码
    • 将测试者供应商结果从中间件迁移到默认值- #1188
    • 修复 build_filter 方法的文档格式- #1187
    • 在文档- #1178 中添加 ERC20 示例
    • 代码风格改进- #1194 & #1191
    • 将 Web3 实例变量转换为 w3 - #1186
    • 更新 eth-utils 依赖项并清理其他依赖项- #1195

v 5 . 0 . 0-α2

2018 年 12 月 20 日发布

  • 重大变化
    • 移除对 python3.5 的支持,放弃对 eth-abi v1 - #1163 的支持
  • 特征
    • 对自定义 ReleaseManager 的支持已修复- #1165
  • 混杂的
    • 用独角兽令牌修复 doctest 废话- 3b2047
    • 在 FreeBSD 中安装 web3 的文档- #1156
    • 在 readthedocs - #1162 中使用最新的 python
    • 在发布脚本中使用 twine-# 1164
    • 升级 eth-tester,支持 eth-ABI v2-# 1168

v 5 . 0 . 0-α1

2018 年 12 月 13 日发布

  • 特征
    • 添加 Rinkeby 和 Kovan Infura 网络;使 mainnet 成为默认- #1150
    • 添加奇偶校验特定的listStorageKeys RPC - #1145
    • 已弃用Web3.soliditySha3;用Web3.solidityKeccak代替。- #1139
    • 将默认三位一体位置添加到 IPC 路径猜测器- #1121
    • 将 wss 添加到AutoProvider - #1110
    • 添加WebsocketProvider - #1109 的超时
    • 收据超时引发TimeExhausted - #1070
    • 允许指定eth_estimateGas - #1046 的块号
  • 混杂的
    • 移除web3._utils.six支架- #1116
    • 将 eth-utils 升级到 1.2.0 - #1104
    • 需要 Python 版本 3.5.3 或更高版本- #1095
    • 将 websockets 版本提升到 7.0.0 - #1146
    • 将奇偶校验测试二进制提升至 1.11.11 - #1064

4.8.2 版

2018 年 11 月 15 日发布

  • 混杂的
    • 减少不必要的内存使用- #1138

4.8.1 版

2018 年 10 月 28 日发布

  • 特征
    • 为 WebsocketProvider 添加超时- #1119
    • 拒绝将以太网发送到非应付合约功能的交易- #1115
    • 增加自动进尺支持:from web3.auto.infura.ropsten import w3 - #1124
    • 自动检测 trinity IPC 文件位置- #1129
  • 混杂的
    • 要求 Python >=3.5.3 - #1107
    • 升级 eth-tester 和 eth-utils - #1085
    • 配置 readthedocs 依赖关系- #1082
    • soliditySha3 文档修复- #1100
    • 更新疑难解答文档中的 ropsten 水龙头链接

4.7.2 版

2018 年 9 月 25 日发布

  • 错误修复
    • ~开头的 IPC 路径被适当地解析到主目录- #1072
    • 您可以使用本地签名中间件bytes-类型地址- #1069

4.7.1 版

2018 年 9 月 11 日发布

4.7.0 版

2018 年 9 月 10 日发布

  • 特征
    • 向奇偶校验模块添加 traceFilter 方法。- #1051
    • datastructures移动到公共名称空间datastructures以改进对类型检查的支持。- #1038
    • 合约调用优化- #944
  • 错误修复
    • 默认情况下,仅在 mainnet 上尝试 ENS 名称解析。- #1037
    • 修复不使用 attributedict 中间件时的属性访问错误。- #1040
  • 杂项-将 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

    • 几个文档打字错误修复

4.5.0 版

2018 年 7 月 30 日发布

  • 特征
    • 接受以 bytes 格式提供的地址(不提供校验和验证)
    • 改进对燃气价格的估计
  • 错误修复
  • 混杂的
    • 测试奇偶校验 1.11.7
    • 奇偶校验集成测试升级为使用 sha256 而不是 md5
    • 修复一些过滤文档
    • eth 帐户升级到 v0.3.0
    • eth-tester 升级到 v 0 . 1 . 0-beta 29

4.4.1 版

2018 年 6 月 29 日发布

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 中接收大的响应。
  • 混杂的

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 测试修复(唉,环境设置地狱,感谢社区清理这一点!)
    • 当请求一个带有奇偶错误的事务时,不要崩溃(它允许包含一个未签名的事务,所以publicKeyNone)
    • 文档修复:必须对地址进行校验和检查(或在 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 的改进:
  • 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%的时间内被破坏的消息签名(零填充rs)
  • 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 类型的合约参数现在接受 python str
  • string ABI 类型的合约返回值现在返回 python str
  • 许多方法现在返回一个类似于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.toHexWeb3.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 过滤错误,以正确处理constructorfallback类型的 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

  • 增加对ethabi参数的验证
  • bytesbytesXXstring的合约返回值不再转换为文本类型,而是以其原始的字节-字符串格式返回。

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
  • 反对将abicodecode_runtimesource作为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

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()参数参数重命名为 args
    • Contract.deploy()现在接受 args 和 kwargs 参数,以允许使用关键字参数或位置参数进行构造。
    • Contract.pastEvents现在允许你指定一个fromBlock or ``toBlock.以前这些分别被强制为'earliest'web3.eth.blockNumber
    • Contract.callContract.transactContract.estimateGas现在可以作为类方法和实例方法调用。以这种方式调用时,必须为地址提供事务参数。
    • Contract.callContract.transactContract.estimateGas现在允许为交易指定备用地址。
  • RPCProvider现在支持以下构造函数参数。

    • ssl用于启用 SSL
    • connection_timeoutnetwork_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

  • 过滤器的上游修复
  • 过滤器 APIonpastEvents现在可以作为实例和类方法调用。

2.2.0

  • 从合约onpastEvents方法返回的过滤器现在使用与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-testrpcethereum-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

  • 指定缺少的pyrlpgevent依赖项

1.0.0

  • 对应用程序的大部分进行大规模重构。

0.1.0

  • 初始发布*


回到顶部