Skip to content
This repository has been archived by the owner on Jul 23, 2024. It is now read-only.

Release v1.5.0

Compare
Choose a tag to compare
@jimni1222 jimni1222 released this 24 Jun 06:15
· 900 commits to dev since this release
b82c661

v1.5.0 Release Notes

Highlights: The common architecture of caver, the Klaytn SDK, is implemented.

Common Architecture is a new software architecture for Klaytn development environment which is shared by all Klaytn SDKs (caver-js/caver-java). It is designed for your streamlined development experience and ease of extensibility to other programming languages. Common Architecture realizes a much easier implementation of blockchain applications with other languages if you have former experiences with the existing Klaytn SDKs, as they all share the same architectural background.
The changes made in this new version of caver-js align the architectural bases of Klaytn SDKs into a single structure. From these changes, you can understand and develop blockchain applications with Klaytn and expand your choice of languages for building your application, much more easily, fast, and with great convenience.

For more details about caver-js 1.5.0, please visit Getting Started.
This new version does not broke the backward compatibility. Usage with previous versions works as the same as before for the new versions.

New features

  • Introduced caver.account which provides a structure that can be used to update a Klaytn account
    • Introduced the Account class to update a Klaytn account. An Account instance has an address and an accountKey
    • Introduced the AccountKey* classes to represent an account key of a Klaytn account
  • Introduced caver.wallet which provides funtionality for using Klaytn account in caver-js
    • Introduced the KeyringContainer class to manage keyrings in in-memoty wallet
    • Introduced Keyring which includes an address and private key(s)
      • Introduced SingleKeyring which includes an address and a private key
      • Introduced MultipleKeyring which includes an address and private keys
      • Introduced RoleBasedKeyring which includes an address and private keys by roles
  • Introduced caver.transaction which provides classes for various transaction types provided by the platform
  • Introduced caver.rpc to interact with Klaytn nodes through JSON RPC calls
    • Introduced caver.rpc.klay supports klay namespace JSON RPC calls
    • Introduced caver.rpc.net supports net namespace JSON RPC calls
  • Introduced caver.contract that enables to use smart contract as a javascript object
  • Introduced caver.kct to interact with a KCT contract in Klaytn
    • Introduced caver.kct.kip7 to interact with a KIP-7 fungible token contract
    • Introduced caver.kct.kip17 to interact with a KIP-17 non-fungible token contract
  • Introduced new util functions
    • caver.utils.isValidHash to validate a hash string
    • caver.utils.isValidHashStrict to validate a 0x-prefixed hash string
    • caver.utils.hashMessage to hash a message with the Klaytn specific prefix
    • caver.utils.parseKlaytnWalletKey to parse a KlaytnWalletKey
    • caver.utils.convertToPeb to convert a value in peb
    • caver.utils.convertFromPeb to convert a value in peb to another unit of KLAY
    • caver.utils.recover to recover an address from the signature

Fixes

  • Fixed caver.klay.accounts.decrypt to handle the string type of the salt option
  • Fixed error handling for contract deployment in caver-core-method to check the status in a receipt
  • Fixed package import forscrypt-shim

Improvements

  • Improved caver.utils.isValidPublicKey to validate with the curve