Version v1.0.1 contains fixes and improvements over v1.0.0. The mainnet hardfork block number will be included in a later version.
Notices
Versions v1.0.0 and v1.0.1 contain notable transaction fees and API interface changes. Please review these changes thoroughly to ensure smooth engagement with the Kaia blockchain.
To all dApp developers and wallet users
With the activation of KIP-162 as part of Kaia hardfork, transaction senders are likely to pay higher gas fees than before. KIP-162 is similar to EIP-1559, where a gas price is the base fee plus a priority fee (tip).
If your dApp or wallet utilizes type-2 transactions (EIP-1559), ensure you set a reasonable priority fee. You can also call the eth_maxPriorityFeePerGas
API to retrieve the recommended tip.
If your dApp or wallet utilizes other types like legacy (type-0) or fee-delegated transaction types, be careful when setting the gasPrice because you’ll pay the full gasPrice for the transaction. For instance, if you declare gasPrice as 500 gkei, under the lowest base fee, the transaction will pay 25 gkei for the base fee and 475 gkei for the priority fee. To pay an appropriate gas price, it is recommended to call the eth_gasPrice
API to retrieve the recommended gasPrice.
Read more about Kaia’s guide to transaction fees.
To dApp developers utilizing message signing APIs
The JSON-RPC APIs related to message signing (eth_sign
, kaia_sign
, personal_sign
, personal_ecRecover
) are going to support EIP-191 (Ethereum Signed Message prefix) and move away from KIP-97 for better compatibility with Ethereum ecosystem tools.
This change only affects instances where a Kaia node signs messages using private keys stored within the node itself. Transaction signatures remain unaffected. You can also continue using the KIP-97 standard with caver-js, caver-java, and previous versions of the Kaia node. Read more about message signing standards in the docs and pull request.
To debug trace consumers
The callTracer
and fastCallTracer
results from the debug_trace*
RPCs and chaindatafetcher
have been refined to more accurately reflect transaction execution. See the pull request for the changes and examples. Find more about debug traces in the [docs](insert link here).
To node operators
For backward compatibility, the RPC namespaces "kaia" and "klay" are both supported and functionally identical. Similarly, the network selection flags "--cypress" and "--mainnet" are interchangeable, as are the flags "--baobab" and "--kairos." However, the “--testnet” flag is removed as the testnet is now called Kairos.
The binary packages in .tar.gz and .rpm formats, as well as the docker images, are distributed starting from this version. Please find the most suitable format for your installation.
Improvements
- Updated message signing RPCs to be EIP-191 compliant and move away from KIP-97 (#33)
- Improved system contracts related to KIP-160, KIP-163 and KAIA token bridge (#2210, #2211, #18, #24)
- Added type-2 transaction support to the Go RPC client (#29, #41)
Fixes
- Fixed debug_trace* API and chaindatafetcher system to produce more accurate call traces (#15, #16, #43, #47)
- Fixed eth_gasPrice and eth_maxPriorityFeePerGas to return a reasonable price under low network traffic (#28, #44, #45)
- Fixed kaia_getTransaction* API to return correct gasPrice (#26)
- Fixed kaia_getTotalSupply for Kairos testnet (#23)
- Fixed staking and consensus-related APIs for post-Kaia blocks (#48)
- Fixed the service chain RPC error (#27)
Miscellaneous
- Changed the go.mod package name to github.com/kaiachain/kaia (#36)
- Rename the Testnet to Kairos (#34)
- Minor maintenance (#10, #20, #21, #19, #25, #22, #30, #32, #37, #38, #49)
Downloads
- Linux Cypress: (tgz) kcn kpn ken (rpm) kcn kpn ken
- Linux Baobab: (tgz) kcn kpn ken (rpm) kcn kpn ken
- Linux Common: (tgz) kscn kspn ksen kbn kgen homi (rpm) kscn kspn ksen kbn kgen homi
- Docker:
kaiachain/kaia:v1.0.1
Thank you @junha-ahn for your first contribution to Kaia.