Web3.js Extension for kaia
Web3.js Extension for kaia offers:
- Drop-in replacement to
new Web3(...)
that supports both Ethereum and kaia transaction types involving AccountKey and TxTypes. See Modifications to the Web3 object section for details
Install
Node.js
- Install
npm install --save @kaiachain/web3js-ext
- ESM or TypeScript
import { Web3 } from "@kaiachain/web3js-ext";
const web3 = new Web3("https://public-en-kairos.node.kaia.io");
- CommonJS
const { Web3 } = require("@kaiachain/web3js-ext");
const web3 = new Web3("https://public-en-kairos.node.kaia.io");
Browser
It is not recommended to use CDNs in production, But you can use below for quick prototyping.
<script src="https://cdn.jsdelivr.net/npm/@kaiachain/web3js-ext@latest/dist/web3js-ext.bundle.js"></script>
<script>
const web3 = new web3_ext.Web3(window.klaytn);
</script>
Usage
See example and test.
Modifications to the Web3 object
See DESIGN for source code organization.
Accounts
- Following functions can handle Klaytn TxTypes. See src/account/index.ts
web3.eth.accounts.recoverTransaction(rlp)
web3.eth.accounts.signTransaction(obj or rlp)
web3.eth.accounts.signTransactionAsFeePayer(obj or rlp)
var account = web3.eth.accounts.create()
var account = web3.eth.accounts.privateKeyToAccount(priv)
var account = web3.eth.accounts.decrypt(keystore)
account.signTransaction(obj or rlp)
account.signTransactionAsFeePayer(obj or rlp)
- Following functions can handle the KIP-3 Klaytn keystore format v4
web3.eth.accounts.decrypt(keystore)
web3.eth.accounts.decryptList(keystore)
Eth RPC wrappers
Klaytn RPCs