What is ethers?

The ethers.js library aims to be a complete and compact library for interacting with the Ethereum Blockchain and its ecosystem. It was originally designed for use with ethers.io and has since expanded into a much more general-purpose library.

Features

Developer Documentation

Getting Started
Installing
Importing
Concepts
Events
Gas
Gas Price
Gas Limit
Application Programming Interface
Contracts
Buckets
Signers
Signer
Wallet inherits Signer
Providers
Provider
Accounts Methods
Blocks Methods
Ethereum Naming Service (ENS) Methods
Logs Methods
Network Status Methods
Transactions Methods
Event Emitter Methods
Inspection Methods
JSON-RPC Provider
JsonRpcProvider
JsonRpcSigner
JsonRpcUncheckedSigner
API Providers
EtherscanProvider
InfuraProvider
NodesmithProvider
AlchemyProvider
Other Providers
FallbackProvider
IpcProvider
Types
Blocks
Events and Logs
Transactions
Utilities
Addresses
BigNumber
Types
Creating Instances
Methods
Notes
Byte Manipulation
Types
Inspection
Converting between Arrays and Hexstrings
Array Manipulation
Hexstring Manipulation
Signature Conversion
Constants
Bytes
Strings
BigNumber
Display Logic and Input
Units
Functions
FixedNumber
Types
Creating Instances
Properties
Methods
Hashing Algorithms
Cryptographic Hashing
Common Hashing Helpers
Solidity Hashing Algorithms
Strings
Bytes32String
UTF-8 Strings
Cookbook
Migration Guide
From Web3
From ethers v4
Testing
Contributing and Hacking
Building
Flatworm Docs
Fragments
Markdown
License and Copyright

Legacy Documentation

This section will be kept up to date, linking to documentation of older versions of the library.