- Notifications
You must be signed in to change notification settings - Fork21
Interact with Ethereum wallets easily
License
JoinColony/purser
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Purser simplifies interaction with Ethereum based wallets. It supports both hardware and software wallets and provides a consistent and predictable interface to work with during dApp development.
Purser is:
Simple - Has an easy and intuitive API. Get started in minutes!
Predictable - Uses the same commands for all wallet types.
Sane - Maintains developer health by using proper error messages, validations and sanitisers.
Plug & Play - Supports Hardware (Ledger, Trezor) and Software (ethers.js) wallets out of the box.
Purser was brought to you by the fine folks atColony. To learn more about Colony, you can visitthe website or read thewhite paper.
To use thesoftware wallet (based on theethers wallet):
npm install @purser/software
Create a new wallet
import{create}from'@purser/software'constwallet=awaitcreate();console.log(wallet);// { address: '...', privateKey: '...', publicKey: '...' }
or open an existing one (based on the mnemnonic)
import{open}from'@purser/software'constwallet=awaitopen({mnemonic:'...'});console.log(wallet);// { address: '...', privateKey: '...', publicKey: '...' }
Please see thedocumentation with detailed examples and explanations.
Purser is a monorepo consisting of a collection of Ethereum wallet libraries:
@purser/core
: A collection ofhelpers
,utils
,validators
andnormalizers
to assist the individual purser modules.@purser/metamask
: Ajavascript
library to interact with the aMetamask based Ethereum wallet.@purser/software
: Ajavascript
library to interact with a software Ethereum wallet, based on theethers.js library.@purser/signer-ethers
: An implementation of anethers signer to use with any of the purser compatible wallets.
In the root directory:
npm inpm run bootstrapnpm run buildnpm run publish
To clean detritus and reset the repository:
./node_modules/.bin/lerna cleannpm run bootstrap
We plan to add support more hardware wallets and other features that will make wallet interactions even easier. Stay tuned!
We welcome all contributions to Purser. You can help by adding support for new wallet types, testing existing wallets, or improving the documentation.
Please read ourContributing Guidelines for how to get started.
The purser monorepo and each individual purser library areMIT licensed.
About
Interact with Ethereum wallets easily