[공지] Klaytn SDK caver-js/java v1.8.0 릴리즈

Tech at Klaytn
Klaytn Korea
Published in
6 min readMar 8, 2022

--

[공지] Klaytn SDK caver-js v1.8.0 릴리즈

안녕하세요. 따스한 봄과 함께 caver-js v1.8.0이 릴리즈 되었습니다. 고된 작업으로 얼어 붙은 여러분의 마음을 봄볕 같이 녹여주지는 못하겠지만, 적어도 개발을 더 편리하게 해줄 새로운 기능들을 소개합니다.

아시다시피 클레이튼은 이더리움 동일성을 지원합니다. caver-js v.1.8.0에서는 이더리움 트랜잭션 타입을 지원합니다. 그리고 이 트랜잭션 타입에 사용되는 서명함수도 추가되었어요. klay 네임스페이스 의 API도 더 강력하게 보강했답니다.

# v1.8.0에서 새로워진 것들

클레이튼의 이더리움 동일성 지원의 일환으로 이더리움 트랜잭션 타입을 지원한다고 했었죠? caver에서도 caver.transaction로 이더리움 트랜잭션을 사용할 수 있습니다.

  • EIP-2930에서 소개되었던 TxTypeEthereumAccessList 트랜잭션을 사용하실 수 있습니다. caver.transaction.ethereumAccessList를 통해 TxTypeEthereumAccessList 트랜잭션을 사용할 수 있습니다.
  • [EIP-1559](https://eips.ethereum.org/EIPS/eip-1559)에서 소개되었던 트랜잭션 타입 TxTypeEthereumDynamicFee의 트랜잭션도 이용가능합니다. caver.transaction.ethereumDynamicFee를 통해 TxTypeEthereumDynamicFee을 이용할 수 있습니다.

caver.rpc.klay에 새로 추가된 klay 네임스페이스 API 함수들도 있어요!

그리고 새로 추가된 이더리움 트랜잭션 타입에 사용될 ecsign함수도 있습니다.

  • EthereumAccessListEthereumDynamicFee 트랜잭션은 ecsign을 이용해서 ECDSA 서명을 생성합니다. 트랜잭션에 서명할 때는 기존의 사용성과 동일하게 tx.sign이나 caver.wallet.sign 함수를 사용하면 됩니다.
  • 있을 지 모르겠지만, 더 궁금한 분들은 보세요. vchainId를 포함하여 서명을 생성하는 기존의 클레이튼 트랜잭션 타입과는 달리, 위의 이더리움 트랜잭션의 서명값 {v, r, s}에서 v는 Secp256k1 곡선의 y좌표의 패리티값이 사용되어야 하는데요(짝수는 0, 홀수는 1), 이러한 이유로 기존 chainId를 포함하는 서명 함수와 별개로 v의 값에 y 패리티 값을 리턴하는 서명함수인 ecsign가 추가된 것이랍니다.
  • 함수는 여기에 있습니다: keyring.ecsign

[공지] Klaytn SDK caver-java v1.8.0 Released

안녕하세요, 자바 개발자님들. 기억해주세요, 자바를 사용하는 당신은 너무 멋집니다. caver-java v1.8.0와 함께 여러분의 개발자 라이프를 조금이라도 편하게 해줄 기능들이 추가되었습니다.

아시다시피 클레이튼은 이더리움 동일성을 지원합니다. caver-java v.1.8.0에서는 이더리움 트랜잭션 타입을 지원합니다. 그리고 이 트랜잭션 타입에 사용되는 서명도 추가되었어요. klay 네임스페이스 함수도 더 강력하게 보강했답니다.

# v1.8.0에서 새로워진 것들

클레이튼의 이더리움 동일성 지원의 일환으로 이더리움 트랜잭션 타입을 지원한다고 했었죠? caver에서도 caver.transaction로 사용할 수 있습니다.

  • EIP-2930에서 소개되었던 TxTypeEthereumAccessList 트랜잭션을 사용하실 수 있습니다. caver.transaction.ethereumAccessList를 통해 TxTypeEthereumAccessList 트랜잭션을 사용할 수 있습니다.
  • EIP-1559에서 소개되었던 트랜잭션 타입 TxTypeEthereumDynamicFee의 트랜잭션도 이용가능합니다.
  • caver.transaction.ethereumDynamicFee를 통해 TxTypeEthereumDynamicFee을 이용할 수 있습니다.

caver.rpc.klay에 새로 추가된 klay 네임스페이스 API 함수들은 caver.rpc.klay에서 사용하실 수 있습니다!

  • caver.rpc.klay.getHeader
  • caver.rpc.klay.getFeeHistory
  • caver.rpc.klay.getMaxPriorityFeePerGas
  • caver.rpc.klay.createAccessList

그리고 새로 추가된 이더리움 트랜잭션 타입에 사용될 ecsign함수도 있습니다.

  • EthereumAccessListEthereumDynamicFee 트랜잭션은 ecsign을 이용해서 ECDSA 서명을 생성합니다. 트랜잭션에 서명할 때는 기존의 사용성과 동일하게 tx.sign이나 caver.wallet.sign 함수를 사용하면 됩니다.
  • 있을 지 모르겠지만, 더 궁금한 분들은 보세요. vchainId를 포함하여 서명을 생성하는 기존의 클레이튼 트랜잭션 타입과는 달리, 위의 이더리움 트랜잭션의 서명값 {v, r, s}에서 v는 Secp256k1 곡선의 y좌표의 패리티값이 사용되어야 하는데요(짝수는 0, 홀수는 1), 이러한 이유로 기존 chainId를 포함하는 서명 함수와 별개로 v의 값에 y 패리티 값을 리턴하는 서명함수인 ecsign가 추가된 것이랍니다.
  • 함수는 여기에 있습니다:
  • AbstractKeyring#ecsign()
  • SingleKeyring#ecsign()
  • MultipleKeyring#ecsign()
  • RolebasedKeyring#ecsign()

--

--