Skip to content

drewstone/cryptomanager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

cryptomanager (previously ethereum-manager)

cryptomanager is a wrapper on top of Ethereum and eventually other cryptocurrencies. The goal is to provide access to cryptocurrency utilities (wallets) and the crytocurrency networks for client and server side applications.

Usage

import Crypto from 'cryptomanager';
const { Eth } = Crypto;

API

Eth

Eth.createWallet({ password, path, name, options })

-> Promise:({ ks, pwDerivedKey, mnemonic })

  • password {String}: Temporary password for encrypting keystore while in use (required)
  • path {String}: Path to store wallet (required)
  • name {String}: Name of wallet/file to store (default: 'wallet.json')
  • options {Object}: An object specifying device type (mobile for now) and other extra configuration parameters (default: {})
    • options.mobile {Boolean}: Check if using on mobile devices (for react-native specifically)
    • options.seedPhrase {String}: 12 string mnemonic used to restore existent Ethereum wallet

Usage

Eth.createWallet({
   password: /* Enter a password to encrypt wallet locally */ ,
   path: /* Enter a path to store the wallet */,
})
.then(({ ks, pwDerivedKey, mnemonic }) => {
  // Use ks, pwDerivedKey, mnemonic for wallet functionality
  // These variables are specific to 'eth-lightwallet'
  return ks.getAddresses();
});

Eth.connectToEthereum({ wallet, url })

-> Promise:({ web3 })

  • wallet {Object}: Wallet state (required)
    • wallet.ks {Object}: Wallet keystore (required)
    • wallet.pwDerivedKey {Uint8Array}: Password derived key for authenticating wallet actions (required)
  • url {String}: RPC url for Ethereum node (default: 'https://mainnet.infura.io/')

Usage

Eth.connectToEthereum({
  // Uses keystore & pw for address generation
  wallet: { ks, pwDerivedKey },
  url: /* Ethereum node location/address */
})
.then(({ web3 }) => {
  //  Connected Web3 instance
});

Eth.getWalletInterface({ web3 })

-> Promise:({ send, call, transact })

  • web3 {Object}: Connected Web3 instance through web3-provider-engine (required)

Usage

Eth.getWalletInterface({ web3 })
.then(({ send, call, transact }) => {
  // Promisified wallet interface utilities
  return send({ to: '0xc7fede610d0fa75dd87e7ab42781814919adea79', value: web3.toWei(100000, 'ether')});
});

About

Crypto wallet manager, currently supporting Ethereum

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published