5.0 KiB
description: Starting Pantheon
Starting Pantheon
Pantheon nodes can be used for varying purposes as described in the Overview. Nodes can connect to the Ethereum mainnet, public testnets such as Ropsten, or private networks.
Prerequisites
Local Block Data
When connecting to a network other than the network previously connected to, you must either delete the local block data
or use the --datadir
option to specify a different data directory.
To delete the local block data, delete the database
directory in the pantheon/build/distribution/pantheon-<version>
directory.
Genesis Configuration
Pantheon specifies the genesis configuration, and sets the network ID and bootnodes when connecting to Mainnet, Goerli, Rinkeby, and Ropsten.
When --dev-mode
is specified, Pantheon uses the development mode genesis configuration.
The genesis files defining the genesis configurations are in the Pantheon source files.
To define a genesis configuration, create a genesis file (for example, genesis.json
) and specify the file
using the --genesis
option.
Confirm Node is Running
If you have started Pantheon with the --rpc-enabled
option, use cURL to
call JSON-RPC API methods to confirm the node is running.
!!!example
* `eth_chainId` returns the chain ID of the network.
```bash
$ curl -X POST --data '{"jsonrpc":"2.0","method":"eth_chainId","params":[],"id":1}' 127.0.0.1:8545
```
* `eth_syncing` returns the starting, current, and highest block.
```bash
$ curl -X POST --data '{"jsonrpc":"2.0","method":"eth_syncing","params":[],"id":1}' 127.0.0.1:8545
```
For example, after connecting to mainnet `eth_syncing` will return something similar to:
```json
{
"jsonrpc" : "2.0",
"id" : 1,
"result" : {
"startingBlock" : "0x0",
"currentBlock" : "0x2d0",
"highestBlock" : "0x66c0"
}
}
```
Run a Node on Ethereum Mainnet
To run a node on the Ethereum mainnet:
$ bin/pantheon
To run a node on mainnet with the HTTP JSON-RPC service enabled:
$ bin/pantheon --rpc-enabled
Run a Node on Ropsten Testnet
!!!note
From v0.8.2, use the --ropsten
option
instead of the following options. For v0.8.1, use the following options.
To run a node on Ropsten:
$ bin/pantheon --network-id=3 --genesis=<path>/pantheon/ethereum/core/src/main/resources/ropsten.json --bootnodes=enode://6332792c4a00e3e4ee0926ed89e0d27ef985424d97b6a45bf0f23e51f0dcb5e66b875777506458aea7af6f9e4ffb69f43f3778ee73c81ed9d34c51c4b16b0b0f@52.232.243.152:30303,enode://94c15d1b9e2fe7ce56e458b9a3b672ef11894ddedd0c6f247e0f1d3487f52b66208fb4aeb8179fce6e3a749ea93ed147c37976d67af557508d199d9594c35f09@192.81.208.223:30303
To run a node on Ropsten with the HTTP JSON-RPC service enabled and allow Remix to access the node:
$ bin/pantheon --rpc-enabled --rpc-cors-origins "http://remix.ethereum.org" --network-id=3 --genesis=<path>/pantheon/ethereum/core/src/main/resources/ropsten.json --bootnodes=enode://6332792c4a00e3e4ee0926ed89e0d27ef985424d97b6a45bf0f23e51f0dcb5e66b875777506458aea7af6f9e4ffb69f43f3778ee73c81ed9d34c51c4b16b0b0f@52.232.243.152:30303,enode://94c15d1b9e2fe7ce56e458b9a3b672ef11894ddedd0c6f247e0f1d3487f52b66208fb4aeb8179fce6e3a749ea93ed147c37976d67af557508d199d9594c35f09@192.81.208.223:30303
Where <path>
is the path to the /pantheon
directory.
Run a Node on Rinkeby Testnet
To run a node on Rinkeby specifying a data directory:
$ bin/pantheon --rinkeby --datadir=<path>/rinkebyDataDir
Where <path>
and <rinkebyDataDir>
are the path and directory where the Rinkeby chain data is to be saved.
Run a Node on Goerli Testnet
To run a node on Goerli specifying a data directory:
$ bin/pantheon --goerli --datadir=<path>/<goerliDataDir>
Where <path>
and <goerliDataDir>
are the path and directory where the Goerli chain data is to be saved.
!!!note This option is only available from v0.8.3.
Run a Node for Testing
To run a node that mines blocks at a rate suitable for testing purposes:
$ bin/pantheon --dev-mode --network-id="2018" --bootnodes= --miner-enabled --miner-coinbase fe3b557e8fb62b89f4916b721be55ceb828dbd73 --rpc-cors-origins "all" --ws-enabled --rpc-enabled