parent
6f5f15fc6d
commit
b8fc58a75c
@ -102,7 +102,7 @@ module.exports = {
|
|||||||
{
|
{
|
||||||
title: 'JSON-RPC',
|
title: 'JSON-RPC',
|
||||||
directory: true,
|
directory: true,
|
||||||
path: '/api/JSON-RPC'
|
path: '/api/json-rpc'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: 'Protobuf Reference',
|
title: 'Protobuf Reference',
|
||||||
@ -141,7 +141,7 @@ module.exports = {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: 'JSON-RPC API Reference',
|
title: 'JSON-RPC API Reference',
|
||||||
path: '/api/JSON-RPC/endpoints'
|
path: '/api/json-rpc/endpoints'
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
@ -1,12 +1,12 @@
|
|||||||
<!--
|
<!--
|
||||||
order: false
|
order: false
|
||||||
parent:
|
parent:
|
||||||
order: 5
|
order: 1
|
||||||
-->
|
-->
|
||||||
|
|
||||||
# API
|
# API
|
||||||
|
|
||||||
This section contains different client and API reference document.
|
This section contains different client and API reference document.
|
||||||
|
|
||||||
1. [JSON-RPC](./JSON-RPC)
|
1. [JSON-RPC](./json-rpc)
|
||||||
1. [Protobuf Docs](./proto-docs)
|
1. [Protobuf Docs](./proto-docs)
|
||||||
|
@ -74,7 +74,7 @@ curl -X POST --data '{"jsonrpc":"2.0","method":"eth_newBlockFilter","params":[],
|
|||||||
{"jsonrpc":"2.0","id":1,"result":"0x3503de5f0c766c68f78a03a3b05036a5"}
|
{"jsonrpc":"2.0","id":1,"result":"0x3503de5f0c766c68f78a03a3b05036a5"}
|
||||||
```
|
```
|
||||||
|
|
||||||
Then you can check if the state chages with the [`eth_getFilterChanges`](https://eth.wiki/json-rpc/API#eth_getfilterchanges) call:
|
Then you can check if the state changes with the [`eth_getFilterChanges`](https://eth.wiki/json-rpc/API#eth_getfilterchanges) call:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getFilterChanges","params":["0x3503de5f0c766c68f78a03a3b05036a5"],"id":1}' -H "Content-Type: application/json" http://localhost:8545
|
curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getFilterChanges","params":["0x3503de5f0c766c68f78a03a3b05036a5"],"id":1}' -H "Content-Type: application/json" http://localhost:8545
|
||||||
@ -109,7 +109,7 @@ Since Ethermint runs uses Tendermint Core as it's consensus Engine and it's buil
|
|||||||
SDK framework, it inherits the event format from them. However, in order to support the native Web3
|
SDK framework, it inherits the event format from them. However, in order to support the native Web3
|
||||||
compatibility for websockets of the [Ethereum's
|
compatibility for websockets of the [Ethereum's
|
||||||
PubSubAPI](https://geth.ethereum.org/docs/rpc/pubsub), Ethermint needs to cast the Tendermint
|
PubSubAPI](https://geth.ethereum.org/docs/rpc/pubsub), Ethermint needs to cast the Tendermint
|
||||||
responses retreived into the Ethereum types.
|
responses retrieved into the Ethereum types.
|
||||||
|
|
||||||
You can start a connection with the Ethereum websocket using the `--json-rpc.ws-address` flag when starting
|
You can start a connection with the Ethereum websocket using the `--json-rpc.ws-address` flag when starting
|
||||||
the node (default `"0.0.0.0:8546"`):
|
the node (default `"0.0.0.0:8546"`):
|
||||||
|
@ -4,23 +4,31 @@ order: 2
|
|||||||
|
|
||||||
# Metamask
|
# Metamask
|
||||||
|
|
||||||
Connect your Metamask wallet with Ethermint on a localnet mode. {synopsis}
|
Connect your Metamask wallet with Ethermint. {synopsis}
|
||||||
|
|
||||||
## Adding a custom Network for Ethermint
|
## Adding a custom Network for Ethermint
|
||||||
|
|
||||||
One of the main limitations of using the default `Localhost 8545` network is that the tokens will be represented as `ETH`.
|
|
||||||
|
|
||||||
Open the Metamask extension on your browser, you may have to log in to your Metamask account if you
|
Open the Metamask extension on your browser, you may have to log in to your Metamask account if you
|
||||||
are not already. Then click the top right circle and go to `Settings` > `Networks`. Press the `Add
|
are not already. Then click the top right circle and go to `Settings` > `Networks` > `Add
|
||||||
Network` button and fill the form as shown below with your application `ChainID`.
|
Network` and fill the form as shown below.
|
||||||
|
|
||||||
::: tip
|
::: tip
|
||||||
To find your full `ChainID`, got your genesis.json file. To get the [EIP155](https://github.com/ethereum/EIPs/blob/master/EIPS/eip-155.md) chain ID from the Cosmos chain ID, you need to consider only the second number in the string value. For example
|
You can also find the full `ChainID` form the `genesis.json` file. To get the
|
||||||
if your chain id on ethermint is `"chain_id": "ethermint_9000-1"`, then you will have to use the value `9000` on Metamask.
|
[EIP155](https://github.com/ethereum/EIPs/blob/master/EIPS/eip-155.md) chain ID from the Cosmos
|
||||||
|
chain ID, check the [Chain ID](./../../basics/chain_id) documentation page.
|
||||||
:::
|
:::
|
||||||
|
|
||||||
![metamask networks settings](./../img/metamask_network_settings.png)
|
![metamask networks settings](./../img/metamask_network_settings.png)
|
||||||
|
|
||||||
|
Here is the list of fields that you can use to paste on Metamask:
|
||||||
|
|
||||||
|
- **Network Name**: Ethermint
|
||||||
|
<!-- TODO: add RPC URL -->
|
||||||
|
- **New RPC URL**: http://localhost:8545
|
||||||
|
- **Chain ID**: 9000
|
||||||
|
- **Currency Symbol (optional)**: PHOTON
|
||||||
|
- **Block Explorer URL (optional)**:
|
||||||
|
|
||||||
## Import Account to Metamask
|
## Import Account to Metamask
|
||||||
|
|
||||||
Then close the settings, and go to `My Accounts` (top right circle) and select `Import Account`. You should see and image like the following one:
|
Then close the settings, and go to `My Accounts` (top right circle) and select `Import Account`. You should see and image like the following one:
|
||||||
@ -28,10 +36,10 @@ Then close the settings, and go to `My Accounts` (top right circle) and select `
|
|||||||
![metamask import account page](./../img/metamask_import.png)
|
![metamask import account page](./../img/metamask_import.png)
|
||||||
|
|
||||||
Now you can export your private key from the terminal using the following command. Again, make sure
|
Now you can export your private key from the terminal using the following command. Again, make sure
|
||||||
to replace `mykey` with the name of the key that you want to export:
|
to replace `mykey` with the name of the key that you want to export and use the correct `keyring-backend`:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
ethermintd keys unsafe-export-eth-key mykey
|
ethermintd keys unsafe-export-eth-key mykey --keyring-backend test
|
||||||
```
|
```
|
||||||
|
|
||||||
Go back to the browser and select the `Private Key` option. Then paste the private key exported from
|
Go back to the browser and select the `Private Key` option. Then paste the private key exported from
|
||||||
@ -46,4 +54,5 @@ Network` (or any other than `Localhost 8545` or `Ethermint`) and then switch bac
|
|||||||
|
|
||||||
## Downloading State
|
## Downloading State
|
||||||
|
|
||||||
to see metamask logs, go to top right circle -> settings -> advanced -> download state logs. if you search through the json file for the account address you'll find the tx history
|
To see your Metamask logs, click the top right circle and go to `Settings` > `Advanced` > `Download State Logs`.
|
||||||
|
If you search through the JSON file for the account address you'll find the transaction history.
|
||||||
|
@ -11,6 +11,29 @@ order: 1
|
|||||||
|
|
||||||
## Automated Localnet (script)
|
## Automated Localnet (script)
|
||||||
|
|
||||||
|
You can customize the localtestnet script by changing values for convinience for example:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# customize the name of your key, the chain-id, moniker of the node, keyring backend, and log level
|
||||||
|
KEY="mykey"
|
||||||
|
CHAINID="ethermint_9000-1"
|
||||||
|
MONIKER="localtestnet"
|
||||||
|
KEYRING="test"
|
||||||
|
LOGLEVEL="info"
|
||||||
|
|
||||||
|
|
||||||
|
# Allocate genesis accounts (cosmos formatted addresses)
|
||||||
|
ethermintd add-genesis-account $KEY 100000000000000000000000000aphoton --keyring-backend $KEYRING
|
||||||
|
|
||||||
|
# Sign genesis transaction
|
||||||
|
ethermintd gentx $KEY 1000000000000000000000aphoton --keyring-backend $KEYRING --chain-id $CHAINID
|
||||||
|
```
|
||||||
|
|
||||||
|
The default configuration will generate a single validator localnet with the chain-id
|
||||||
|
`ethermint_9000-1` and one predefined account (`mykey`) with some allocated funds at the genesis.
|
||||||
|
|
||||||
|
You can start the local chain using:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
init.sh
|
init.sh
|
||||||
```
|
```
|
||||||
|
@ -18,10 +18,10 @@ wallets and block explorers to interact with the proof-of-stake logic and native
|
|||||||
### Ethereum JSON-RPC server
|
### Ethereum JSON-RPC server
|
||||||
|
|
||||||
Ethermint also supports most of the standard web3 [JSON-RPC
|
Ethermint also supports most of the standard web3 [JSON-RPC
|
||||||
APIs](./../api/JSON-RPC/running_server) to connect with existing web3 tooling.
|
APIs](./../api/json-rpc/running_server) to connect with existing web3 tooling.
|
||||||
|
|
||||||
::: tip
|
::: tip
|
||||||
See the list of supported JSON-RPC API [endpoints](./../api/JSON-RPC/endpoints) and [namespaces](./../api/JSON-RPC/namespaces).
|
See the list of supported JSON-RPC API [endpoints](./../api/json-rpc/endpoints) and [namespaces](./../api/json-rpc/namespaces).
|
||||||
:::
|
:::
|
||||||
|
|
||||||
To connect to the JSON-PRC server, start the node with the `--json-rpc.enable=true` flag and define the namespaces that you would like to run using the `--evm.rpc.api` flag (e.g. `"txpool,eth,web3,net,personal"`. Then, you can point any Ethereum development tooling to `http://localhost:8545` or whatever port you choose with the listen address flag (`--json-rpc.address`).
|
To connect to the JSON-PRC server, start the node with the `--json-rpc.enable=true` flag and define the namespaces that you would like to run using the `--evm.rpc.api` flag (e.g. `"txpool,eth,web3,net,personal"`. Then, you can point any Ethereum development tooling to `http://localhost:8545` or whatever port you choose with the listen address flag (`--json-rpc.address`).
|
||||||
|
Loading…
Reference in New Issue
Block a user