跳至主要内容
本页面使用机器翻译自英语,可能包含错误或不清楚的语言。如需最准确的信息,请参阅英文原文。由于更新频繁,部分内容可能与英文原文有出入。请加入我们在 Crowdin 上的努力,帮助我们改进本页面的翻译。 (Crowdin translation page, Contributing guide)

v1.8.0

软件包下载

转速

赛普拉斯套餐

猴面包树套餐

通用软件包

利纳克斯

赛普拉斯套餐

猴面包树套餐

通用软件包

MacOS

赛普拉斯套餐

猴面包树套餐

通用软件包

视窗

  • 尚未支持

发布说明

Klaytn v1.8.0 包含协议升级,这将导致不兼容的变化,如以太坊硬分叉。 所有节点都需要在目标块编号之前升级到该版本。

计划的硬分叉时间表如下

  • Baobab 测试网(Baobab 区块编号 86513895,计划日期:3 月 24 日)

  • EthTxType 硬分叉:#86513895 (Baobab 上已经应用了伊斯坦布尔 EVM 和伦敦 EVM 硬分叉)

  • 赛普拉斯主网(赛普拉斯区块编号 86816005,计划日期:3 月 31 日)

  • 伊斯坦布尔 EVM 硬分叉:#86816005

  • LondonEVM 硬分叉:#86816005

  • EthTxType 硬分叉:#86816005

注意:伊斯坦布尔 EVM 硬分叉包括 EVM 操作码的气体成本变化以及如何使用 API 的变化。 由于这些更改,现有合同可能无法按预期运行,因此请参阅本文的[协议更新注意事项]部分

协议升级功能

  • 引入 EthTxType 硬分叉,使新的交易类型能够支持以太坊交易类型:TxTypeEthereumAccessList "和 "TxTypeEthereumDynamicFee"(#1142 #1158)

v1.8.0 中的新功能

  • 定义了 EthereumTxTypeEnvelope (#1171)
  • 为新交易类型实施 EIP-2930 签名器和伦敦签名器 (#1142 #1158)
  • 引入了 eth 命名空间 API 以支持以太坊 API 格式(#1076 #1077 #1083 #1088 #1093 #1095 #1121 #1123 #1124 #1127 #1129 #1130 #1134 #1172)
  • 添加了新的 klay 命名空间 API:klay_maxPriorityFeePerGasklay_createAccessListklay_feeHistory` (#1156)
  • 引入rpc.eth.noncompatible标记,禁用以太坊应用程序接口格式兼容性(#1072)
  • 在块标头 API 返回值中添加了 "baseFeePerGas "字段 (#1183)
  • 已执行状态快照(#1112 #1116 #1152 #1154 #1155 #1173 #1174)
  • 实现了自动重启守护进程以防崩溃 (#1101)

改进

  • 调整了节点启动时帐户管理器的解锁时间 (#1141)
  • 允许在一次投票中添加/删除多个验证器 (#1110)
  • 增强了治理投票 API 的验证逻辑 (#1109)
  • 统一 blockchain.go 中的互斥 (#1099)

修复

  • 修正了一个治理缓存初始化错误 (#1168)
  • 修正了 klay_gasPrice API,使其返回正确的天然气价格值 (#1211)
  • 修复了事务字段更新引发的竞赛条件问题 (#1091)
  • 修正了深度返回对象引起的调用跟踪恐慌 (#1203)

ETC

  • 设置赛普拉斯网络的硬分叉区块编号 (#1230)
  • 伊斯坦布尔 EVM 硬分叉:86816005
  • LondonEVM 硬分叉: 86816005
  • EthTxType 硬分叉: 86816005
  • 为 Baobab 网络设置硬分叉区块编号 (#1230)
  • EthTxType 硬分叉: 86513895

有关硬分叉的注意事项

新版本预计会影响目前正在服务中的 Klaytn DApp,因此如果您是服务运营商或开发者,我们建议您同时阅读《迈向以太坊等价性》系列 #1 #2 #3 #4 以及以下说明。

针对 DApp 服务提供商

使用旧版智能合约时可能会出现 "Out of Gas "错误

IstanbulEVM 硬分叉 EVM 包括对操作码气体成本的更改(请参阅 Klaytn v1.7.0 发行说明 中的 "协议升级功能")。 如果您的合同有很多功能需要有限的燃气成本(如后备),那么燃气成本的变化可能会导致 "用完燃气"。 到目前为止,我们已经确定了继承 OpenZeppelin 的 BaseAdminUpgradeabilityProxy.sol 和 BaseUpgradeabilityProxy.sol 的可升级合约实现与 Proxy.sol 相同的回退函数时的问题。 请检查该功能是否以类似方式实现。 此外,请记住天然气成本会不断变化,因此除打印日志外,请避免在备用设备中使用重负荷操作。 (参考文献)。

部分预编合同地址将被更改

将转移 vmLog(0x09)、feePayer(0x0a)、validateSender(0x0b) 地址,以确保与以太坊预编译合约的兼容性。 它只适用于硬分叉后部署的合约;硬分叉前部署的合约仍可继续使用。 更多详情,请参阅 Toward Ethereum Equivalence #2 - Changes in Precompiled Contract Addresses

将您的 caver 更新至 v1.8.0 或更高版本,以支持新的交易类型

您将可以通过 EthTxType 硬分叉使用新的交易类型。 如果您的服务需要使用新的交易格式来访问其他账户的交易,请确保将您的 caver 更新到 v1.8.0 (js, java) 或更高版本。 有关新类型的更多详情,请参阅 Toward Ethereum Equivalence #4 - Ethereum 交易类型

面向 EN 操作员

eth "和 "klay "应用程序接口的新返回值

以前,您可以使用 eth 命名空间调用 API,其效果与 klay 命名空间相同。 但从 v1.8.0 开始,eth 命名空间 API 将采用以太坊 API 返回格式。 您可以在 Toward Ethereum Equivalence #3 - Supporting Ethereum API formats 中了解更多信息。 如果想沿用旧版本的行为,像使用 klay 那样使用 eth,只需添加 --rpc.eth.noncompatible init 选项。

在 EN 的默认允许 API 列表中添加 `eth

EN 支持 eth 命名空间 API,并将 eth 添加到默认允许列表中。 您需要将 eth 添加到 kend.conf 文件中的 RPC_APIWS_API 配置中,才能使用 eth API。 hardhat等以太坊工具使用的netweb3应用程序接口也被添加到了列表中。 总之,V1.8.0 中的默认 API 白名单包括RPC_API="klay,net,eth,web3",WS_API="klay,net,eth,web3"

让这个页面变得更好