7 月 30 日,包括 DApp 开发者和核心开发者在内的网络利益相关者聚集在一起,在 Zoom 上召开了最后一次协调会议。在会议中,开发人员讨论了解决 EIP1559 让在以太坊调试 DApp 更加困难这一棘手问题的长期计划。会议讨论的更多关于问题的定义,以及为什么还没有一个明确的解决方案。 代码调试
为了保持与钱包和区块链服务的向后兼容性,EIP1559 的实现保留了这些服务的字段来指定 Gas 价格。通常,Gas 和 ETH 只是单位上的区别,目的是激励网络上的矿工将其交易纳入区块。随着 EIP1559 的实施,被称为”基础费用“的最低 Gas 价格将由网络自动确定,以帮助提高以太坊费用市场的效率和可预测性。无需指定 Gas 价格,用户只需指定交易的最大支付意愿。一旦指定,网络将从用户的最大支付意愿中扣除基本费用,并将差额退回到用户的账户余额中。EIP1559 的当前代码规范仅在交易被纳入到区块之前返回用户最大意愿支付的 Gas 价格。在被纳入区块后,Gas 价格字段的值变为基础费用。对于试图调试代码的 DApp 开发人员来说,基于时间和区块链状态的变化值是一个新的挑战。独立软件开发者米卡·佐尔图(Micah Zoltu)在 7 月 23 日的核心开发者会议上就这个问题说:“任何时候,当你在调试一个问题时,行为会根据你的观察而改变,这就会成为一个非常非常难调试的 bug。我怀疑大多数开发人员等可能不密切关注这些事情,他们不会意识到,Gas 价格字段和行为有所变化。”佐尔图建议在下一次不兼容的升级(上海升级)期间放弃 Gas 价格字段,作为一个可能的解决方案。然而,其他人则认为,在即将到来的上海升级(暂定于 10 月)期间弃用该字段,将破坏几个钱包和区块链工具服务的功能。以太坊代码库 ether.js 的创建者理查德·摩尔(Richard Moore)在周五的 EIP1559 协调会议上说:“我肯定希望能不那么早解决这个问题,我前几天看了看,我认为 50%的用户仍在使用 ether.js 的老版本。”相反,摩尔建议采用一个版本系统,保留 EIP1559 的遗留字段,最终,如果用户试图获得关于交易的 Gas 价格值的信息,他们将收到一个错误信息,指定这个字段的命令不再被当前版本的软件支持。 谨慎行事替代以太坊版本控制系统的另一种可能是将 gas price 字段的返回值固定为一个静态数字,比如负 1 或零,这将阻止开发人员使用该字段进行任何有意义的调试。虽然开发人员正在研究如何处理这个问题,但某些以太坊工具服务,如加密货币钱包 Argent 和加密货币交易所 Coinbase,正在推迟对其用户界面进行更改,以支持 EIP1559。在内部,所有连接到网络的以太坊相关服务都需要及时升级其软件,以激活 EIP1559。然而,更新应用程序或平台的面向用户的元素,以支持 EIP1559 启用的许多功能,如最大支付意愿而不是 Gas 价格,可以稍后进行。以太坊基金会的特伦顿·范·埃普斯(Trenton Van Epps)表示:“在决定如何呈现内容并在 UI 中做出改变之前,等待并看看 EIP 1559 如何发挥作用也不是不合理的。”
声明:此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。本网站所提供的信息,只供参考之用。