leap-keychain library includes modules for key management, account creation, and transaction signing for cosmos blockchains.
Use one of the following methods:
npm i @leapwallet/leap-keychain
yarn add @leapwallet/leap-keychain
Initialize storage and crypto modules in the top level file index.js or app.js
import { initStorage, initCrypto } from '@leapwallet/leap-keychain';
// create a storage object
initStorage({
set: (key, value) => {
localStorage.setItem(key, value);
return Promise.resolve();
},
get: (key) => {
const value = localStorage.getItem(key);
return Promise.resolve(storageObj[key]);
},
remove: (key) => {
localStorage.removeItem(key);
return Promise.resolve();
},
});
// initialize crypto modules
initCrypto();
To use the keychain
import { KeyChain } from '@leapwallet/leap-keychain'
// create wallet using mnemonic
KeyChain.createWalletUsingMnemonic({
mnemonic: "12/24 word mnemonic",
name: "wallet name";
password: "encryption password";
addressIndex: "address index";
colorIndex: "0";
chainInfos: {
//The 'chain infos' object includes the address prefix and coin type for the chains for which wallet creation is required.
cosmos: {
addressPrefix: 'cosmos',
coinType: '118',
key: 'cosmos'
}
};
})