Klaytn v1.12.0 이 릴리즈 되었습니다.
NOTE: Klaytn v1.12.0은 과거 버전과 호환되지 않는 변경이 포함되어 있습니다. 따라서 모든 Baobab 노드들은 타겟 블록 번호 전에 v1.12.0 또는 그 이상으로 업그레이드해야 합니다. Cypress 메인넷 하드포크 시점은 다음 버전에서 정해질 예정입니다. |
이번 업그레이드는 두 하드포크를 포함합니다. 하나는 이더리움 Cancun 하드포크와 호환성을 맞추는 내용이며, 다른 하나는 선택적인 (optional) 하드포크로서 Randao 난수 생성 기능입니다.
계획된 하드포크 일정은 다음과 같습니다.
Baobab 테스트넷
- 블록번호: 141367000 블록 (예상 시간: 19 Dec, 10:00 AM UTC+9)
- 하드포크 내용: Cancun 하드포크, Randao 하드포크
Cancun 하드포크 기능
- EIP-1153에 따라 TLOAD, TSTORE opcode를 EVM에 추가 (#1988)
- EIP-4844와 EIP-7516에 따라 BLOBBASEFEE, BLOBHASH opcode 및 POINT_EVALUATION (0x0a) precompile을 EVM에 추가. 단, Blob 트랜잭션 타입은 지원하지 않음 (#2032)
- EIP-5656에 따라 MCOPY opcode가 EVM에 추가 (#1980)
- EIP-6780에 따라 SELFDESTRUCT opcode의 동작 변경 (#1986)
- ComputationCost 값을 권장 하드웨어 사양에 맞게 조정하고 ComputationCostLimit 상향 (#2037)
- EIP-1052에 따라 EXTCODEHASH opcode가 빈 계정에 대해 0을 리턴하도록 수정 (#2040)
- EIP-2930 AccessList 트랜잭션 타입을 완전히 지원 (#1955)
Randao 하드포크 기능
- KIP-149에 따라 시스템 컨트랙트 레지스트리 추가 (#1968, #1987, #1999, #2054, #2059)
- KIP-113에 따라 BLS 공개키 레지스트리 추가 (#1951, #1990, #2017, #2029, #2052, #2053)
- KIP-114에 따라 RANDAO 난수 필드를 블록 헤더에 추가 (#2009, #2014, #2028)
- KIP-146에 따라 블록 제안자를 선정할 때 예측 불가능한 랜덤을 사용하도록 변경 (#2030, #2039)
개선 사항
- Upstream EN 기능을 추가. API를 처리할 때 블록 데이터가 없는 경우 –rpc.upstream-en 플래그로 지정한 EN에 API를 호출해서 결과를 가져옴 (#2013)
- 블록을 합의 정족수를 상향해 네트워크 안전성을 강화 (#2026)
- 빌트인 콘솔의 JavaScript 런타임이 ECMAScript6 기능을 지원 (#2001)
- RocksDB 간에 데이터를 동기화하는 주기를 최적화 (#1947)
- EVM opcode의 실행시간을 측정할 수 있는 –vm.opdebug 플래그 추가 (#2012)
- 트랜잭션 관련 API에서 잘못된 서명에 대한 상세 에러 메시지 추가 (#1967)
- debug_startWarmUp API를 최적화 (#2011)
- debug_traceCall API 추가하여 ERC-4337 번들러를 지원 (#1965, #1979)
- admin_nodeConfig API 추가 (#1996)
- eth_createAccessList API 추가하여 AccessList 타입 트랜잭션의 생성을 지원 (#2027)
- eth_getBlockReceipts API 추가하고 klay_getBlockReceipts API는 블록 넘버를 받아들이도록 수정 (#2019)
오류 수정
- 거버넌스 관련 버그 수정 (#1942, #1984)
- debug_setHead API에서 거버넌스 관련한 내부 상태를 올바르게 되돌리도록 수정. 거버넌스 문제로 블록 싱크에 문제가 생긴 경우 debug_setHead를 시도할 수 있음. (#1966, #2002)
- 로그 레벨 일부 수정 (#1946, #1978)
- debug_traceTransaction API가 EOA로의 송금 트랜잭션을 올바르게 출력하도록 수정 (#1953)
- klay_recoverFromTransaction API가 이더리움 트랜잭션 타입도 처리하도록 수정 (#1975)
- 블록과 헤더를 조회하는 API가 “pending” 블록넘버를 받았을 때 발생하는 에러를 수정 (#1994)
- eth_maxPriorityFeePerGas API가 마그마 하드포크 이후에 0을 리턴하도록 수정 (#2008)
기타
- rlpx, abi 패키지 최신화 (#1954, #2015)
- 일부 패키지를 WASM 환경으로 빌드할 수 있도록 수정 (#1983)
- 코드 유지보수 (#1941, #1944, #1948, #1952, #1956, #1969, #1971, #1972, #1973, #1974, #1977, #1982, #1985, #1991, #1992, #1993, #1995, #1997, #1998, #2004, #2007, #2016, #2020, #2024, #2031, #2033, #2034, #2035, #2036, #2041, #2050, #2055, #2056, #2058, #2061)
다운로드
- 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
- Darwin Cypress: (amd64) kcn kpn ken (arm64) kcn kpn ken
- Darwin Baobab: (amd64) kcn kpn ken (arm64) kcn kpn ken
- Darwin Common: (amd64) kscn kspn ksen kbn kgen homi (arm64) kscn kspn ksen kbn kgen homi
- Docker: klaytn/klaytn:v1.12.0
더욱 자세한 릴리즈 노트는 여기에서도 확인할 수 있습니다.