Eth Keyring Controller
A module for managing groups of Ethereum accounts called "Keyrings", defined originally for MetaMask's multiple-account-type feature.
To add new account types to a KeyringController
, just make sure it follows The Keyring Class Protocol.
The KeyringController has three main responsibilities:
- Initializing & using (signing with) groups of Ethereum accounts ("keyrings").
- Keeping track of local nicknames for those individual accounts.
- Providing password-encryption persisting & restoring of secret information.
Installation
npm install eth-keyring-controller --save
Usage
const KeyringController = require('eth-keyring-controller')
const SimpleKeyring = require('eth-simple-keyring')
const keyringController = new KeyringController({
keyringTypes: [SimpleKeyring],
initState: initState.KeyringController,
encryptor: {
encrypt (password, object) {
return new Promise('encrypted!')
},
decrypt (password, encryptedString) {
return new Promise({ foo: 'bar' })
},
},
})
this.keyringController.on('newAccount', (address) => {
console.log(`New account created: ${address}`)
})
this.keyringController.on('removedAccount', handleThat)
Methods
Currently the methods are heavily commented in the source code, so it's the best place to look until we aggregate it here as well.