@ckb-lumos/hd-cache
HD Cache manager for lumos.
Usage
const {
CacheManager,
CellCollector,
CellCollectorWithQueryOptions,
getBalance,
} = require("@ckb-lumos/hd-cache");
const { Indexer } = require("@ckb-lumos/ckb-indexer");
const indexer = new Indexer("http://localhost:8114");
const cacheManger = CacheManager.loadFromKeystore(
indexer,
"You keystore path",
"You password"
);
cacheManager.startForever();
cacheManager.getMasterPublicKeyInfo();
cacheManager.getNextReceivingPublicKeyInfo();
cacheManager.getNextChangePublicKeyInfo();
const cellCollector = new CellCollector(cacheManager);
const cellCollector = new CellCollectorWithQueryOptions(
new CellCollector(cacheManger),
queryOptions
);
for await (const cell of cellCollector.collect()) {
console.log(cell);
}
await getBalance(cellCollector);
how to quickly get transactionCollector
CKBIndexerTransactionCollector.asBaseTransactionCollector
helps you to get a transactionCollector instance.
const CKB_URL = "http://127.0.0.1:8118/rpc";
const CKB_INDEXER_URL = "ttp://127.0.0.1:8120";
const indexer = new CkbIndexer(CKB_INDEXER_URL, CKB_URL);
const ExtendCollector = CKBIndexerTransactionCollector.asBaseTransactionCollector(
nodeUri
);
const cacheManager = CacheManager.fromMnemonic(
indexer,
mnemonic,
getDefaultInfos(),
{
TransactionCollector: ExtendCollector,
rpc,
}
);