ethers.js/README.md

93 lines
3.4 KiB
Markdown
Raw Permalink Normal View History

2019-05-14 22:25:46 +00:00
The Ethers Project
==================
2020-06-18 03:38:59 +00:00
[![npm (tag)](https://img.shields.io/npm/v/ethers)](https://www.npmjs.com/package/ethers)
2020-06-12 23:21:37 +00:00
[![Node.js CI](https://github.com/ethers-io/ethers.js/workflows/Node.js%20CI/badge.svg?branch=ethers-v5-beta)](https://github.com/ethers-io/ethers.js/actions?query=workflow%3A%22Node.js+CI%22)
2019-05-14 22:25:46 +00:00
2020-06-12 23:21:37 +00:00
A complete Ethereum wallet implementation and utilities in JavaScript (and TypeScript).
2019-05-14 22:25:46 +00:00
2020-06-12 23:21:37 +00:00
**Features:**
2019-12-15 07:08:02 +00:00
2020-06-12 23:21:37 +00:00
- Keep your private keys in your client, **safe** and sound
- Import and export **JSON wallets** (Geth, Parity and crowdsale)
- Import and export BIP 39 **mnemonic phrases** (12 word backup phrases) and **HD Wallets** (English as well as Czech, French, Italian, Japanese, Korean, Simplified Chinese, Spanish, Traditional Chinese)
- Meta-classes create JavaScript objects from any contract ABI, including **ABIv2** and **Human-Readable ABI**
- Connect to Ethereum nodes over [JSON-RPC](https://github.com/ethereum/wiki/wiki/JSON-RPC), [INFURA](https://infura.io), [Etherscan](https://etherscan.io), [Alchemy](https://alchemyapi.io) or [MetaMask](https://metamask.io)
- **ENS names** are first-class citizens; they can be used anywhere an Ethereum addresses can be used
- **Tiny** (~104kb compressed; 322kb uncompressed)
- **Modular** packages; include only what you need
- **Complete** functionality for all your Ethereum desires
2020-09-04 05:26:29 +00:00
- Extensive [documentation](https://docs.ethers.io/v5/)
2020-06-12 23:21:37 +00:00
- Large collection of **test cases** which are maintained and added to
- Fully **TypeScript** ready, with definition files and full TypeScript source
- **MIT License** (including ALL dependencies); completely open source to do with as you please
Keep Updated
------------
For the latest news and advisories, please follow the [@ethersproject](https://twitter.com/ethersproject)
2020-07-05 02:44:27 +00:00
on Twitter (low-traffic, non-marketing, important information only) as well as watch this GitHub project.
2020-06-12 23:21:37 +00:00
For the latest changes, see the [CHANGELOG](https://github.com/ethers-io/ethers.js/blob/master/CHANGELOG.md).
2019-05-14 22:25:46 +00:00
Installing
----------
**node.js**
```
2020-06-18 03:38:59 +00:00
/home/ricmoo/some_project> npm install --save ethers
2019-05-14 22:25:46 +00:00
```
2019-12-15 07:08:02 +00:00
**browser (UMD)**
```
2020-06-15 06:25:46 +00:00
<script src="https://cdn.ethers.io/lib/ethers-5.0.umd.min.js" type="text/javascript">
2019-12-15 07:08:02 +00:00
</script>
```
**browser (ESM)**
2019-05-14 22:25:46 +00:00
```
2019-12-15 07:08:02 +00:00
<script type="module">
import { ethers } from "https://cdn.ethers.io/lib/ethers-5.0.umd.min.js";
2019-05-14 22:25:46 +00:00
</script>
```
2020-06-12 23:21:37 +00:00
Documentation
-------------
2020-06-18 03:38:59 +00:00
Browse the [documentation](https://docs.ethers.io/v5/) online:
2020-06-12 23:21:37 +00:00
2020-06-18 03:38:59 +00:00
- [Getting Started](https://docs.ethers.io/v5/getting-started/)
- [Full API Documentation](https://docs.ethers.io/v5/api/)
2020-06-12 23:21:37 +00:00
- [Various Ethereum Articles](https://blog.ricmoo.com/)
2020-07-13 12:03:56 +00:00
Or browse the entire documentation as a [single page](https://docs.ethers.io/v5/single-page/) to make searching easier.
2020-06-12 23:21:37 +00:00
2019-05-14 22:25:46 +00:00
Ancillary Packages
------------------
2020-06-12 23:21:37 +00:00
These are a number of packages not included in the umbrella `ethers` npm package, and
2019-05-14 22:25:46 +00:00
additional packages are always being added. Often these packages are for specific
use-cases, so rather than adding them to the umbrella package, they are added as
2020-08-20 20:49:34 +00:00
ancillary packages, which can be included by those who need them, while not bloating
2019-05-14 22:25:46 +00:00
everyone else with packages they do not need.
2020-07-05 02:44:27 +00:00
We will keep a list of useful packages here.
2019-05-14 22:25:46 +00:00
2020-06-12 23:21:37 +00:00
- `@ethersproject/experimental` ([documentation](https://docs.ethers.io))
- `@ethersproject/cli` ([documentation](https://docs.ethers.io))
- `@ethersproject/hardware-wallets` ([documentation](https://docs.ethers.io))
2019-05-14 22:25:46 +00:00
License
-------
MIT License (including **all** dependencies).