ethers.js/docs.wrm/api/providers/index.wrm
2019-08-21 01:53:47 -04:00

47 lines
1.5 KiB
Plaintext

_title: Providers
_section: Providers
A **Provider** is an abstraction of a connection to the
Ethereum network, providing a concise, consistent interface
to standard Ethereum node functionality.
The ethers.js library provides several options which should
cover the vast majority of use-cases, but also includes the
necessary functions and classes for sub-classing if a more
custom configuration is necessary.
Most users should be able to simply use the [[get-default-provider]].
_subsection: Default Provider @<get-default-provider>
The default provider is the safest, easiest way to begin
developing on //Ethereum//, and it is also robust enough
for use in production.
It creates a [[provider-fallback]] connected to as many backend
services as possible. When a request is made, it is sent to
multiple backends simulatenously. As responses from each backend
are returned, they are checked that they agree. Once a quorum
has been reached (i.e. enough of the backends agree), the response
is provided to your application.
This ensures that if a backend has become out-of-sync, or if it
has been compromised that its responses are dropped in favor of
responses that match the majority.
_property: ethers.getDefaultProvider([ network ]) => [[provider]]
Returns a new Provider, backed by multiple services, connected
to //network//. Is no //network// is provided, **homestead**
(i.e. mainnet) is used.
_subsection: Provider Documentation
_toc:
provider
jsonrpc-provider
api-providers
other
types