Snapshot of MetaMask/web3-provider-engine: 601★, JavaScript. A JavaScript library for composing Ethereum provider objects using middleware modules
Snapshot summary built from the project's own GitHub metadata — there's no written TopGit review yet. The page will update automatically when a full review is published.
WHY NO REVIEW YET
TopGit writes full reviews for the most-starred, most-requested repositories. This page is a snapshot until then — see the READ ME tab for the original README in full.
Web3 ProviderEngine is a tool for composing your own web3 providers.
[!CAUTION]
This package has been deprecated.
This package was originally created for MetaMask, but has been replaced by @metamask/json-rpc-engine, @metamask/eth-json-rpc-middleware, @metamask/eth-json-rpc-provider, and various other packages.
Here is an example of how to create a provider using those packages:
This example was written with v12.1.0 of @metamask/eth-json-rpc-middleware, v3.0.1 of @metamask/eth-json-rpc-provider, and v8.4.0 of @metamask/utils.
Composable
Built to be modular - works via a stack of 'sub-providers' which are like normal web3 providers but only handle a subset of rpc methods.
The subproviders can emit new rpc requests in order to handle their own; e.g. eth_call may trigger eth_getAccountBalance, eth_getCode, and others.
The provider engine also handles caching of rpc request results.
import * as Web3ProviderEngine from 'web3-provider-engine';
import * as RpcSource from 'web3-provider-engine/subproviders/rpc';
import * as HookedWalletSubprovider from 'web3-provider-engine/subproviders/hooked-wallet';
Built For Zero-Clients
The Ethereum JSON RPC was not designed to have one node service many clients.
However a smaller, lighter subset of the JSON RPC can be used to provide the blockchain data that an Ethereum 'zero-client' node would need to function.
We handle as many types of requests locally as possible, and just let data lookups fallback to some data source ( hosted rpc, blockchain api, etc ).
Categorically, we don’t want / can’t have the following types of RPC calls go to the network:
Does MetaMask/web3-provider-engine have a project website?
No homepage URL was recorded for MetaMask/web3-provider-engine in TopGit's last sync. The README tab above frequently contains screenshots and demo links, or check the repository description on GitHub.
How many stars does MetaMask/web3-provider-engine have?
MetaMask/web3-provider-engine has 601 GitHub stars — refresh the page for the live number, or check github.com/MetaMask/web3-provider-engine. TopGit mirrors GitHub's count but does not claim minute-by-minute accuracy.
Is MetaMask/web3-provider-engine open source?
Yes — MetaMask/web3-provider-engine ships under the MIT license, which makes its source code freely readable (and, depending on license terms, forkable and reusable). Source: github.com/MetaMask/web3-provider-engine.
What is MetaMask/web3-provider-engine?
MetaMask/web3-provider-engine (MetaMask/web3-provider-engine) is a JavaScript project on GitHub. From the project's own README: A JavaScript library for composing Ethereum provider objects using middleware modules
Where do I read more about MetaMask/web3-provider-engine?
This TopGit page is a snapshot — the READ ME tab shows the project's own README content (links stripped, images preserved). The GitHub repository at github.com/MetaMask/web3-provider-engine is the definitive source.
Read full README in the tab above.
Is web3-provider-engine worth your time?
ChatGPT, Claude and Perplexity can all read this page. Ask one of them what it makes of web3-provider-engine.