Account

Usage: new Account(wallet, accountOpts)
Description: This method creates a new Account associated to the given wallet.
Notes: As it is directly linked to a wallet, you might want to rely on Wallet.getAccount({index}) instead.
When wallet.offlineMode:true, you can manage utxos / addresses via a cache options (or after init via the Storage controller).

Parameters:

parameters type required Description
wallet Wallet yes A valid wallet instance
accountOpts.index number no The BIP44 account index; by default use the next one (n+1) of the biggest account index already created in wallet
accountOpts.strategy string/function no A valid strategy string identifier (amongst "simpleAscendingAccumulator", "simpleDescendingAccumulator", simpleTransactionOptimizedAccumulator") or your own strategy function
accountOpts.label string no (def: null) If you want to be able to reference to an account per label
accountOpts.injectDefaultPlugins boolean no (def: true) Use to inject default plugins on loadup (BIP44Worker, ChainWorker and SyncWorker)
accountOpts.allowSensitiveOperations boolean no (def: false) If you want a special plugin to access the keychain or other sensitive operation, set this to true.
accountOpts.cacheTx boolean no (def: true) If you want to cache the transaction internally (for faster sync-up)
accountOpts.cache.addresses object no If you have your addresses state somewhere else (fs) you can fetch and pass it along for faster sync-up
accountOpts.cache.transactions object no If you have your tx state somewhere else (fs) you can fetch and pass it along for faster sync-up

Returns : Account instance.

Examples (assuming a Wallet instance created) :

const { Account, Wallet } = require('@dashevo/wallet-lib');
const wallet = new Wallet();
const account = new Account(wallet, {index: 42});
await account.init();

Reminder: Because many parameters are inherited from the wallet object (network, plugins, transporter, storage, keychain...), initializing an Account without a Wallet will require mocking all those properties.

Identities: Identities are accessible from an account via the identities interface : account.identities. See Identities