ethers.js
=========

[![npm version](https://badge.fury.io/js/ethers.svg)](https://badge.fury.io/js/ethers)

Complete Ethereum wallet implementation and utilities in JavaScript.

**Features:**

- Keep your private keys in your client, **safe** and sound
- Import and export **JSON wallets** (Geth, Parity and crowdsale) and brain wallets
- Import and export BIP 39 **mnemonic phrases** (12 word backup phrases) and **HD Wallets**
- Meta-classes create JavaScript objects from any contract ABI
- Connect to Ethereum nodes over [JSON-RPC](https://github.com/ethereum/wiki/wiki/JSON-RPC), [INFURA](https://infura.io), [Etherscan](https://etherscan.io), or [MetaMask](https://metamask.io)
- ENS names are first-class citizens; they can almost always used instead of Ethereum addresses
- **Tiny** (~79kb compressed; 242kb uncompressed)
- **Complete** functionality for all your Ethereum needs
- Extensive [documentation](https://docs.ethers.io/ethers.js/html/)
- Large collection of test cases which are maintained and added to
- **MIT License** (including ALL dependencies); completely open source to do with as you please


Installing
----------

To use in a browser:

```html
<script charset="utf-8"
        src="https://cdn.ethers.io/scripts/ethers-v3.min.js"
        type="text/javascript">
</script>
```

To use in [node.js](https://nodejs.org/):

```
/Users/ethers/my-app> npm install --save ethers
```



Documentation
-------------

Browse the [API Documentation](https://docs.ethers.io/ethers.js/html/) online.

Documentation is generated using [Sphinx](http://www.sphinx-doc.org) and can be browsed locally from the /docs/build/html directory.



Donations
---------

I do this because I love it, but if you want to buy me a coffee, I won't say no. **:o)**

Ethereum: `0xEA517D5a070e6705Cc5467858681Ed953d285Eb9`


License
-------

Completely MIT Licensed. Including ALL dependencies.
