full version identifies the hashType
full version identifies the hashType
create a TransactionSkeleton from a Transaction
create a TransactionSkeleton from a Transaction
encode a script to an address with args and a key of config
script args
a key of config.SCRIPTS
encode a script to an address with args and a key of config
Convert js object to TransactionSkeleton
Convert js object to TransactionSkeleton
Convert TransactionSkeleton to js object
Convert TransactionSkeleton to js object
Validate a P2PKH(Pay to public key hash) message
the message digest for signing. means hash(rawTransaction | extraData).
raw transaction object
content to be hashed other than rawTransaction, is generally processed witness
hash algorithm for signing. Default is "ckb-blake2b-256"
the validate result. unless all messages equals, it will return false.
Validate a P2PKH(Pay to public key hash) message
the message digest for signing. means hash(rawTransaction | extraData).
raw transaction object
content to be hashed other than rawTransaction, is generally processed witness
hash algorithm for signing. Default is "ckb-blake2b-256"
the validate result. unless all messages equals, it will return false.
Generated using TypeDoc
@ckb-lumos/helpers
Helper utilities for working with CKB transactions from lumos.
The difference between this and
@ckb-lumos/base
, is that@ckb-lumos/base
contains only core definitions, while this module contains utilities used in a framework sense. One example is: you can pretty much use@ckb-lumos/base
as a standalone library, while this library integrates more withconfig
module so it knows whether the framework is running under testnet, or mainnet environment.Usage
const { minimalCellCapacity, generateAddress, parseAddress } = require("@ckb-lumos/helpers") // Get cell minimal capacity. const result = minimalCellCapacity({ cellOutput: { capacity: "0x174876e800", lock: { args: "0x36c329ed630d6ce750712a477543672adab57f4c", codeHash: "0x9bd7e06f3ecf4be0f2fcd2188b23f1b9fcc88e5d4b65a8637b17723bbda3cce8", hashType: "type", }, type: null, }, data: "0x", blockHash: null, blockNumber: null, outPoint: null, }) // result will be 6100000000n shannons. // Use `generateAddress` to get address from lock script. const address = generateAddress({ codeHash: "0x9bd7e06f3ecf4be0f2fcd2188b23f1b9fcc88e5d4b65a8637b17723bbda3cce8", hashType: "type", args: "0x36c329ed630d6ce750712a477543672adab57f4c", }) // Then you will get mainnet address "ckb1qyqrdsefa43s6m882pcj53m4gdnj4k440axqdt9rtd", or you can generate testnet address by const { predefined } = require("@ckb-lumos/config-manager") const address = generateAddress({ codeHash: "0x9bd7e06f3ecf4be0f2fcd2188b23f1b9fcc88e5d4b65a8637b17723bbda3cce8", hashType: "type", args: "0x36c329ed630d6ce750712a477543672adab57f4c", }, { config: predefined.AGGRON4 }) // Will get testnet address "ckt1qyqrdsefa43s6m882pcj53m4gdnj4k440axqswmu83". // Use `parseAddress` to get lock script from an address. const script = parseAddress("ckb1qyqrdsefa43s6m882pcj53m4gdnj4k440axqdt9rtd") // TransactionSkeleton <=> Object // Convert TransactionSkeleton to js object const obj = transactionSkeletonToObject(txSkeleton) // then your can write to json file fs.writeFileSync("your file", JSON.stringify(obj)) // Or convert js object to TransactionSkeleton // If your object is from json file, make sure `cellProvider` is working properly. const txSkeleton = objectToTransactionSkeleton(obj)