diff --git a/docs/Configuring-Pantheon/NetworkID-And-ChainID.md b/docs/Configuring-Pantheon/NetworkID-And-ChainID.md index 279d30c73..8f8df7194 100644 --- a/docs/Configuring-Pantheon/NetworkID-And-ChainID.md +++ b/docs/Configuring-Pantheon/NetworkID-And-ChainID.md @@ -24,10 +24,10 @@ same and are specified in the genesis file. The network ID and chain ID are automatically defined by Pantheon when connecting to networks specified using the [`--network`](../Reference/Pantheon-CLI-Syntax.md#network) option: -- **MainNet:** chain-id ==1==, network-id ==1== -- **Rinkeby:** chain-id ==4==, network-id ==4== -- **Ropsten:** chain-id ==3==, network-id ==3== -- **Dev:** chain-id ==2018==, network-id ==2018== +- **MainNet:** chain-id 1, network-id 1 +- **Rinkeby:** chain-id 4, network-id 4 +- **Ropsten:** chain-id 3, network-id 3 +- **Dev:** chain-id 2018, network-id 2018 When using the [`--network=dev`](../Reference/Pantheon-CLI-Syntax.md#network) or [`--genesis-file`](../Reference/Pantheon-CLI-Syntax.md#genesis-file) options, you can override the diff --git a/docs/Configuring-Pantheon/Networking.md b/docs/Configuring-Pantheon/Networking.md index 70a4c7d9d..00877c7eb 100644 --- a/docs/Configuring-Pantheon/Networking.md +++ b/docs/Configuring-Pantheon/Networking.md @@ -24,8 +24,8 @@ If connections are not getting through the firewalls, ensure the peer discovery ## Peer Discovery Port The [`--p2p-host`](../Reference/Pantheon-CLI-Syntax.md#p2p-host) and [`--p2p-port`](../Reference/Pantheon-CLI-Syntax.md#p2p-port) -options specifies the host and port on which P2P peer discovery listens. The default is ==127.0.0.1== -for host and ==30303== for port. +options specifies the host and port on which P2P peer discovery listens. The default is `127.0.0.1` +for host and `30303` for port. ## Limiting Peers diff --git a/docs/Consensus-Protocols/Comparing-PoA.md b/docs/Consensus-Protocols/Comparing-PoA.md index a826d9c04..227b97e3b 100644 --- a/docs/Consensus-Protocols/Comparing-PoA.md +++ b/docs/Consensus-Protocols/Comparing-PoA.md @@ -6,9 +6,6 @@ Pantheon implements the Clique and IBFT 2.0 Proof of Authority consensus protoco consensus protocols are used when participants are known to each other and there is a level of trust between them. For example, in a permissioned consortium network. -!!! note - IBFT 2.0 is under development and will be available in v1.0. - Proof of Authority consensus protocols allow faster block times and have a much greater throughput of transactions than the Ethash Proof of Work consensus protocol used on the Ethereum MainNet. diff --git a/docs/Consensus-Protocols/IBFT.md b/docs/Consensus-Protocols/IBFT.md index f03866677..dccaf197d 100644 --- a/docs/Consensus-Protocols/IBFT.md +++ b/docs/Consensus-Protocols/IBFT.md @@ -6,9 +6,6 @@ description: Pantheon IBFT 2.0 Proof-of-Authority (PoA) consensus protocol imple # IBFT 2.0 -!!! note - IBFT 2.0 is under development and will be available in v1.0. - Pantheon implements the IBFT 2.0 Proof-of-Authority (PoA) consensus protocol. IBFT 2.0 can be used for private networks. In IBFT 2.0 networks, transactions and blocks are validated by approved accounts, known as validators. diff --git a/docs/Consensus-Protocols/Overview-Consensus.md b/docs/Consensus-Protocols/Overview-Consensus.md index 57db1c6e3..76681d1a9 100644 --- a/docs/Consensus-Protocols/Overview-Consensus.md +++ b/docs/Consensus-Protocols/Overview-Consensus.md @@ -9,10 +9,7 @@ Pantheon implements a number of consensus protocols: * [Clique](Clique.md) (Proof of Authority) -* [IBFT 2.0](IBFT.md) (Proof of Authority) - -!!! note - IBFT 2.0 is under development and will be available in v1.0. +* [IBFT 2.0](IBFT.md) (Proof of Authority) The genesis file specifies the consensus protocol for a chain `config`: diff --git a/docs/Getting-Started/Run-Docker-Image.md b/docs/Getting-Started/Run-Docker-Image.md index 992543257..6550317ab 100644 --- a/docs/Getting-Started/Run-Docker-Image.md +++ b/docs/Getting-Started/Run-Docker-Image.md @@ -19,8 +19,8 @@ To run a Pantheon node in a container connected to the Ethereum mainnet: docker run pegasyseng/pantheon:latest ``` -```bash tab="0.8.5" -docker run pegasyseng/pantheon:0.8.5 +```bash tab="1.0" +docker run pegasyseng/pantheon:1.0 ``` !!! note @@ -44,73 +44,23 @@ docker run pegasyseng/pantheon:0.8.5 - [`--rpc-ws-host`](../Reference/Pantheon-CLI-Syntax.md#rpc-ws-host) and [`--rpc-ws-port`](../Reference/Pantheon-CLI-Syntax.md#rpc-ws-port) All other [Pantheon command line options](/Reference/Pantheon-CLI-Syntax) work in the same way as when Pantheon is installed locally. - -### Data Directory - -Specify a Docker volume for the data directory. This is the equivalent of specifying the [`--data-path`](../Reference/Pantheon-CLI-Syntax.md#data-path) option. - -To run Pantheon specifying a volume for the data directory: - -```bash -docker run --mount type=bind,source=/,target=/var/lib/pantheon pegasyseng/pantheon:latest - -``` - -Where `` is the volume to which the data is saved. - -### Custom Configuration File - -Specify a [custom configuration file](../Configuring-Pantheon/Using-Configuration-File.md) to provide a file containing key/value pairs for command line options. This is the equivalent of specifying the [`--config-file`](../Reference/Pantheon-CLI-Syntax.md#config-file) option. - -To run Pantheon specifying a custom configuration file: -```bash -docker run --mount type=bind,source=/,target=/etc/pantheon/pantheon.conf pegasyseng/pantheon:latest - -``` - -Where `myconf.toml` is your custom configuration file and `path` is the absolute path to the file. -!!!example - ```bash - docker run --mount type=bind,source=/Users/username/pantheon/myconf.toml,target=/etc/pantheon/pantheon.conf pegasyseng/pantheon:latest - ``` - -### Custom Genesis File - -Specify a custom genesis file to configure the blockchain. This is equivalent to specifying the `--genesis-file` option. - -To run Pantheon specifying a custom genesis file: -```bash -docker run --mount type=bind,source=,target=/etc/pantheon/genesis.json pegasyseng/pantheon:latest -``` - -Where `mygenesis.json` is your custom configuration file and `path` is the absolute path to the file. - -!!!example - ```bash - docker run --mount type=bind,source=/Users/username/pantheon/mygenesis.json,target=/etc/pantheon/genesis.json pegasyseng/pantheon:latest - ``` - -### Exposing Ports - -Expose ports for P2P peer discovery, metrics, and HTTP and WebSockets JSON-RPC. This is required to use the -defaults ports or specify different ports (the equivalent of specifying the [`--rpc-http-port`](../Reference/Pantheon-CLI-Syntax.md#rpc-http-port), -[`--p2p-port`](../Reference/Pantheon-CLI-Syntax.md#p2p-port), [`--rpc-ws-port`](../Reference/Pantheon-CLI-Syntax.md#rpc-ws-port), -[`--metrics-port`](../Reference/Pantheon-CLI-Syntax.md#metrics-port), and [`--metrics-push-port`](../Reference/Pantheon-CLI-Syntax.md#metrics-push-port) -options). - -To run Pantheon exposing local ports for access: -```bash -$ docker run -p :8545 -p :8546 -p :30303 pegasyseng/pantheon:latest --rpc-http-enabled --rpc-ws-enabled -``` - -!!!example - To enable RPC calls to http://127.0.0.1:8545 and P2P discovery on http://127.0.0.1:13001: - ```bash - docker run -p 8545:8545 -p 13001:30303 pegasyseng/pantheon:latest --rpc-http-enabled - ``` ## Starting Pantheon +### Run a Node for Testing + +To run a node that mines blocks at a rate suitable for testing purposes with WebSockets enabled: +```bash +docker run -p 8546:8546 --mount type=bind,source=/,target=/var/lib/pantheon pegasyseng/pantheon:latest --miner-enabled --miner-coinbase fe3b557e8fb62b89f4916b721be55ceb828dbd73 --rpc-http-cors-origins="all" --rpc-ws-enabled --network=dev +``` + +### Run a Node on Rinkeby Testnet + +To run a node on Rinkeby: +```bash +docker run -p 30303:30303 --mount type=bind,source=/,target=/var/lib/pantheon pegasyseng/pantheon:latest --network=rinkeby +``` + ### Run a Node on Ethereum Mainnet To run a node on the Ethereum mainnet: @@ -124,27 +74,6 @@ To run a node on mainnet with the HTTP JSON-RPC service enabled: docker run -p 8545:8545 -p 30303:30303 --mount type=bind,source=/,target=/var/lib/pantheon pegasyseng/pantheon:latest --rpc-http-enabled ``` -## Run a Node on Ropsten Testnet - -To run a node on Ropsten: -```bash -docker run -p 30303:30303 --mount type=bind,source=/,target=/var/lib/pantheon --network=ropsten -``` - -## Run a Node on Rinkeby Testnet - -To run a node on Rinkeby: -```bash -docker run -p 30303:30303 --mount type=bind,source=/,target=/var/lib/pantheon pegasyseng/pantheon:latest --network=rinkeby -``` - -## Run a Node for Testing - -To run a node that mines blocks at a rate suitable for testing purposes with WebSockets enabled: -```bash -docker run -p 8546:8546 --mount type=bind,source=/,target=/var/lib/pantheon pegasyseng/pantheon:latest --miner-enabled --miner-coinbase fe3b557e8fb62b89f4916b721be55ceb828dbd73 --rpc-http-cors-origins="all" --rpc-ws-enabled --network=dev -``` - ## Stopping Pantheon and Cleaning up Resources When you're done running nodes, you can shut down the node container without deleting resources. Alternatively, you can delete the container (after stopping it) and its associated volume. Run `docker container ls` and `docker volume ls` to obtain the container and volume names. Then run the following commands: @@ -162,4 +91,68 @@ docker rm To delete a container volume (optional): ```bash docker volume rm -``` \ No newline at end of file +``` + +## Data Directory + +Specify a Docker volume for the data directory. This is the equivalent of specifying the [`--data-path`](../Reference/Pantheon-CLI-Syntax.md#data-path) option. + +To run Pantheon specifying a volume for the data directory: + +```bash +docker run --mount type=bind,source=/,target=/var/lib/pantheon pegasyseng/pantheon:latest + +``` + +Where `` is the volume to which the data is saved. + +## Custom Configuration File + +Specify a [custom configuration file](../Configuring-Pantheon/Using-Configuration-File.md) to provide a file containing key/value pairs for command line options. This is the equivalent of specifying the [`--config-file`](../Reference/Pantheon-CLI-Syntax.md#config-file) option. + +To run Pantheon specifying a custom configuration file: +```bash +docker run --mount type=bind,source=/,target=/etc/pantheon/pantheon.conf pegasyseng/pantheon:latest + +``` + +Where `myconf.toml` is your custom configuration file and `path` is the absolute path to the file. +!!!example + ```bash + docker run --mount type=bind,source=/Users/username/pantheon/myconf.toml,target=/etc/pantheon/pantheon.conf pegasyseng/pantheon:latest + ``` + +## Custom Genesis File + +Specify a custom genesis file to configure the blockchain. This is equivalent to specifying the `--genesis-file` option. + +To run Pantheon specifying a custom genesis file: +```bash +docker run --mount type=bind,source=,target=/etc/pantheon/genesis.json pegasyseng/pantheon:latest +``` + +Where `mygenesis.json` is your custom configuration file and `path` is the absolute path to the file. + +!!!example + ```bash + docker run --mount type=bind,source=/Users/username/pantheon/mygenesis.json,target=/etc/pantheon/genesis.json pegasyseng/pantheon:latest + ``` + +## Exposing Ports + +Expose ports for P2P peer discovery, metrics, and HTTP and WebSockets JSON-RPC. This is required to use the +defaults ports or specify different ports (the equivalent of specifying the [`--rpc-http-port`](../Reference/Pantheon-CLI-Syntax.md#rpc-http-port), +[`--p2p-port`](../Reference/Pantheon-CLI-Syntax.md#p2p-port), [`--rpc-ws-port`](../Reference/Pantheon-CLI-Syntax.md#rpc-ws-port), +[`--metrics-port`](../Reference/Pantheon-CLI-Syntax.md#metrics-port), and [`--metrics-push-port`](../Reference/Pantheon-CLI-Syntax.md#metrics-push-port) +options). + +To run Pantheon exposing local ports for access: +```bash +$ docker run -p :8545 -p :8546 -p :30303 pegasyseng/pantheon:latest --rpc-http-enabled --rpc-ws-enabled +``` + +!!!example + To enable RPC calls to http://127.0.0.1:8545 and P2P discovery on http://127.0.0.1:13001: + ```bash + docker run -p 8545:8545 -p 13001:30303 pegasyseng/pantheon:latest --rpc-http-enabled + ``` diff --git a/docs/Reference/JSON-RPC-API-Methods.md b/docs/Reference/JSON-RPC-API-Methods.md index 87122529e..9e7cdb98f 100644 --- a/docs/Reference/JSON-RPC-API-Methods.md +++ b/docs/Reference/JSON-RPC-API-Methods.md @@ -2018,9 +2018,6 @@ None ## IBFT 2.0 Methods -!!! note - IBFT 2.0 is under development and will be available in v1.0. - !!! note The `IBFT` API methods are not enabled by default. Use the [`--rpc-http-api`](Pantheon-CLI-Syntax.md#rpc-http-api) or [`--rpc-ws-api`](Pantheon-CLI-Syntax.md#rpc-ws-api) options to enable the `IBFT` API methods. @@ -2156,7 +2153,7 @@ Lists the validators defined in the specified block. ### ibft_proposeValidatorVote -Proposes [adding or removing a validator](../Consensus-Protocols/IBFT.md#adding-and-removing-validators)) with the specified address. +Proposes [adding or removing a validator](../Consensus-Protocols/IBFT.md#adding-and-removing-validators) with the specified address. **Parameters** @@ -2187,9 +2184,6 @@ Proposes [adding or removing a validator](../Consensus-Protocols/IBFT.md#adding- ## Permissioning Methods -!!! note - Permissioning is under development and will be available in v1.0. - !!! note The `PERM` API methods are not enabled by default. Use the [`--rpc-http-api`](Pantheon-CLI-Syntax.md#rpc-http-api) or [`--rpc-ws-api`](Pantheon-CLI-Syntax.md#rpc-ws-api) options to enable the `PERM` API methods. diff --git a/docs/Reference/Pantheon-CLI-Syntax.md b/docs/Reference/Pantheon-CLI-Syntax.md index 6b447a4b8..8c03f1e15 100644 --- a/docs/Reference/Pantheon-CLI-Syntax.md +++ b/docs/Reference/Pantheon-CLI-Syntax.md @@ -553,6 +553,7 @@ permissions-accounts-enabled=true ``` Set to enable account level permissions. + The default is `false`. ### permissions-config-file