mirror of
https://github.com/status-im/nimbus-eth1.git
synced 2025-02-14 04:56:58 +00:00
63 lines
2.6 KiB
Markdown
63 lines
2.6 KiB
Markdown
# MetaMask configuration with Alchemy provider
|
|
|
|
This documents shows how to build and start light client proxy on Goerli
|
|
network and pair it with the MetaMask browser extension.
|
|
|
|
### 1. Build light client proxy
|
|
|
|
First build light client proxy as explained [here](../README.md#Build-light-client-proxy).
|
|
|
|
### 2. Configuring and running light client proxy
|
|
|
|
To run the binary built in previous step with Goerli config and using Alchemy data
|
|
provider, run:
|
|
|
|
|
|
```bash
|
|
# From the nimbus-eth1 repository
|
|
./build/lc_proxy --trusted-block-root:TrustedBlockRoot --web3-url="wss://eth-goerli.g.alchemy.com/v2/ApiKey" --network=goerli
|
|
```
|
|
|
|
`ApiKey`: personal API key assigned by Alchemy
|
|
|
|
`TrustedBlockRoot`: Trusted block root, from which the consensus light client will
|
|
start synchronization
|
|
|
|
This command also starts an HTTP server with address `http://127.0.0.1:8545` to listen
|
|
for incoming JSON RPC requests.
|
|
|
|
After startup, light client will start looking for suitable peers in the network,
|
|
i.e peers which serve light client data, and will then start syncing.
|
|
During syncing most of the RPC endpoints will be inactive
|
|
and will fail to respond to queries. This happens because the light client proxy can't verify responses
|
|
from the data provider until the consensus light client is in sync with the consensus chain.
|
|
|
|
When the light client is in sync, the following line should be visible in the logs:
|
|
|
|
```bash
|
|
NOT 2022-09-29 10:06:15.974+02:00 New LC optimistic block opt=81de61ec:3994230 wallSlot=3994231
|
|
```
|
|
|
|
After receiving the first optimistic block, the proxy is ready to be used with MetaMask.
|
|
|
|
### 3. Configuring MetaMask extension to use custom network
|
|
|
|
To add custom network in MetaMask browser extension:
|
|
1. Go to `settings`
|
|
2. In `settings`, go to `networks` tab
|
|
3. Click on the `Add a network` button.
|
|
4. The most important fields when adding a new network are `New RPC URL` and `Chain ID`.
|
|
`New RPC URL` should be configured to point to the HTTP server started with proxy. In this
|
|
example it will be `http://127.0.0.1:8545`. `Chain ID` should be set to the chain id of
|
|
the network used by proxy. The chain id for Goerli is `5`.
|
|
|
|
If everyting went smooth there should be new network in `Networks` drop down menu.
|
|
|
|
After switching to this network it should be possible to create new accounts, and
|
|
perform transfers between them.
|
|
|
|
NOTE: Currently when adding a custom network with a chain id which already exists in the MetaMask
|
|
configuration, MetaMask will highlight this as an error. This should be ignored
|
|
as this is really a warning, and it is a known [bug](https://github.com/MetaMask/metamask-extension/issues/13249)
|
|
in MetaMask.
|