diff --git a/docs/Monitoring/Alethio/Overview.md b/docs/Concepts/AlethioOverview.md similarity index 87% rename from docs/Monitoring/Alethio/Overview.md rename to docs/Concepts/AlethioOverview.md index 3252c39..ff64bae 100644 --- a/docs/Monitoring/Alethio/Overview.md +++ b/docs/Concepts/AlethioOverview.md @@ -11,7 +11,7 @@ public or private Enterprise Ethereum network. The statistics are at the network and the block, transaction, and account level. To use the Block Explorer and EthStats for testing and private networks, run the the [Lite Block -Explorer](Lite-Block-Explorer.md) and [EthStats Lite](Lite-Network-Monitor.md). +Explorer](../HowTo/Deploy/Lite-Block-Explorer.md) and [EthStats Lite](../HowTo/Deploy/Lite-Network-Monitor.md). Contact [Alethio](https://company.aleth.io/) at [contact@aleth.io](mailto:contact@aleth.io) for details about the full versions and enterprise solutions. diff --git a/docs/Architecture/Overview.md b/docs/Concepts/ArchitectureOverview.md similarity index 100% rename from docs/Architecture/Overview.md rename to docs/Concepts/ArchitectureOverview.md diff --git a/docs/Consensus-Protocols/Comparing-PoA.md b/docs/Concepts/Consensus-Protocols/Comparing-PoA.md similarity index 100% rename from docs/Consensus-Protocols/Comparing-PoA.md rename to docs/Concepts/Consensus-Protocols/Comparing-PoA.md diff --git a/docs/Consensus-Protocols/Overview-Consensus.md b/docs/Concepts/Consensus-Protocols/Overview-Consensus.md similarity index 69% rename from docs/Consensus-Protocols/Overview-Consensus.md rename to docs/Concepts/Consensus-Protocols/Overview-Consensus.md index f051d46..125dba3 100644 --- a/docs/Consensus-Protocols/Overview-Consensus.md +++ b/docs/Concepts/Consensus-Protocols/Overview-Consensus.md @@ -7,11 +7,11 @@ Pantheon implements a number of consensus protocols: * Ethash (Proof of Work) -* [Clique](Clique.md) (Proof of Authority) +* [Clique](../../HowTo/Configure-Pantheon/Consensus-Protocols/Clique.md) (Proof of Authority) -* [IBFT 2.0](IBFT.md) (Proof of Authority) +* [IBFT 2.0](../../HowTo/Configure-Pantheon/Consensus-Protocols/IBFT.md) (Proof of Authority) -* [Quorum IBFT 1.0](QuorumIBFT.md) (Proof of Authority) +* [Quorum IBFT 1.0](../../HowTo/Configure-Pantheon/Consensus-Protocols/QuorumIBFT.md) (Proof of Authority) The genesis file specifies the consensus protocol for a chain in the `config` property: diff --git a/docs/Using-Pantheon/Events-and-Logs.md b/docs/Concepts/Events-and-Logs.md similarity index 97% rename from docs/Using-Pantheon/Events-and-Logs.md rename to docs/Concepts/Events-and-Logs.md index 64a1f95..2c973a5 100644 --- a/docs/Using-Pantheon/Events-and-Logs.md +++ b/docs/Concepts/Events-and-Logs.md @@ -7,8 +7,8 @@ from within contracts. Log storage is cheaper than contract storage (that is, it be stored in and accessed from logs, the cost is reduced. For example, you can use logs to display all transfers made using a specific contract but not the current state of the contract. -A Dapp front end can either request logs using the [JSON-RPC API filter methods](Accessing-Logs-Using-JSON-RPC.md) -or subscribe to logs using the [RPC Pub/Sub API](../Pantheon-API/RPC-PubSub.md#logs). +A Dapp front end can either request logs using the [JSON-RPC API filter methods](../HowTo/Interact/Filters/Accessing-Logs-Using-JSON-RPC.md) +or subscribe to logs using the [RPC Pub/Sub API](../HowTo/Interact/Pantheon-APIs/RPC-PubSub.md#logs). ## Topics diff --git a/docs/Configuring-Pantheon/Network-vs-Node.md b/docs/Concepts/Network-vs-Node.md similarity index 50% rename from docs/Configuring-Pantheon/Network-vs-Node.md rename to docs/Concepts/Network-vs-Node.md index f4217cb..1b35a5d 100644 --- a/docs/Configuring-Pantheon/Network-vs-Node.md +++ b/docs/Concepts/Network-vs-Node.md @@ -5,9 +5,9 @@ description: Configuring Pantheon at the network level compared to the node leve Pantheon is configured at the network level and the node level. -Network wide settings are specified in the [genesis file](Config-Items.md). Examples include `evmStackSize` and the -[consensus mechanism](../Consensus-Protocols/Overview-Consensus.md). +Network wide settings are specified in the [genesis file](../Reference/Config-Items.md). Examples include `evmStackSize` and the +[consensus mechanism](Consensus-Protocols/Overview-Consensus.md). -Node settings are specified on the command line or in the [node configuration file](Using-Configuration-File.md). +Node settings are specified on the command line or in the [node configuration file](../HowTo/Configure-Pantheon/Using-Configuration-File.md). For example, the [JSON-RPC API methods to enable](../Reference/Pantheon-API-Methods.md) or the -[data directory](../Reference/Pantheon-CLI-Syntax.md#data-path) for the node. \ No newline at end of file +[data directory](../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#data-path) for the node. \ No newline at end of file diff --git a/docs/Configuring-Pantheon/NetworkID-And-ChainID.md b/docs/Concepts/NetworkID-And-ChainID.md similarity index 67% rename from docs/Configuring-Pantheon/NetworkID-And-ChainID.md rename to docs/Concepts/NetworkID-And-ChainID.md index 8f8df71..0ee96d5 100644 --- a/docs/Configuring-Pantheon/NetworkID-And-ChainID.md +++ b/docs/Concepts/NetworkID-And-ChainID.md @@ -22,14 +22,14 @@ For most networks including MainNet and the public testnets, the network ID and 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: +using the [`--network`](../Reference/Pantheon-CLI/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 -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 -network ID using the [`--network-id`](../Reference/Pantheon-CLI-Syntax.md#network-id) option. +When using the [`--network=dev`](../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#network) or +[`--genesis-file`](../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#genesis-file) options, you can override the +network ID using the [`--network-id`](../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#network-id) option. diff --git a/docs/Configuring-Pantheon/Node-Keys.md b/docs/Concepts/Node-Keys.md similarity index 68% rename from docs/Configuring-Pantheon/Node-Keys.md rename to docs/Concepts/Node-Keys.md index 46a6acf..b19da75 100644 --- a/docs/Configuring-Pantheon/Node-Keys.md +++ b/docs/Concepts/Node-Keys.md @@ -7,7 +7,7 @@ Each node has a node key pair consisting of a node private key and node public k ## Node Private Key -If a `key` file does not exist in the data directory and the [`--node-private-key-file`](../Reference/Pantheon-CLI-Syntax.md#node-private-key-file) +If a `key` file does not exist in the data directory and the [`--node-private-key-file`](../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#node-private-key-file) option is not specified when Pantheon is started, a node private key is generated and written to the `key` file. If Pantheon is stopped and restarted without deleting the `key` file, the same private key is used when Pantheon is restarted. @@ -18,7 +18,7 @@ If a `key` file exists in the data directory when Pantheon is started, the node ## Node Public Key -The node public key is displayed in the log after starting Pantheon. Use the [`public-key`](../Reference/Pantheon-CLI-Syntax.md#public-key) subcommand to export the public key to a file. +The node public key is displayed in the log after starting Pantheon. Use the [`public-key`](../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#public-key) subcommand to export the public key to a file. The node public key is also referred to as the node ID. The node ID forms part of the enode URL for a node. @@ -30,12 +30,12 @@ The enode URL is `enode://@` where: * `` is the node public key excluding the initial 0x. * `` is the host and port the bootnode is listening on for P2P peer discovery. -Specified by the [`--p2p-host`](../Reference/Pantheon-CLI-Syntax.md#p2p-host) and -[`--p2p-port`](../Reference/Pantheon-CLI-Syntax.md#p2p-port) options +Specified by the [`--p2p-host`](../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#p2p-host) and +[`--p2p-port`](../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#p2p-port) options (default host is `127.0.0.1` and port is `30303`). !!! example - If the [`--p2p-host`](../Reference/Pantheon-CLI-Syntax.md#p2p-host) or [`--p2p-port`](../Reference/Pantheon-CLI-Syntax.md#p2p-port) options are not specified and the node public key is `0xc35c3ec90a8a51fd5703594c6303382f3ae6b2ecb9589bab2c04b3794f2bc3fc2631dabb0c08af795787a6c004d8f532230ae6e9925cbbefb0b28b79295d615f` + If the [`--p2p-host`](../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#p2p-host) or [`--p2p-port`](../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#p2p-port) options are not specified and the node public key is `0xc35c3ec90a8a51fd5703594c6303382f3ae6b2ecb9589bab2c04b3794f2bc3fc2631dabb0c08af795787a6c004d8f532230ae6e9925cbbefb0b28b79295d615f` The enode URL is: `enode://c35c3ec90a8a51fd5703594c6303382f3ae6b2ecb9589bab2c04b3794f2bc3fc2631dabb0c08af795787a6c004d8f532230ae6e9925cbbefb0b28b79295d615f@127.0.0.1:30303` @@ -43,12 +43,12 @@ Specified by the [`--p2p-host`](../Reference/Pantheon-CLI-Syntax.md#p2p-host) an The enode is displayed when starting a Pantheon node and can be obtained using the [`net_enode`](../Reference/Pantheon-API-Methods.md#net_enode) JSON-RPC API method. -If [UPnP](Networking/Using-UPnP.md) is enabled, the enode advertised to other nodes during discovery is the +If [UPnP](../HowTo/Find-and-Connect/Using-UPnP.md) is enabled, the enode advertised to other nodes during discovery is the external IP address and port. ## Specifying a Custom Node Private Key File -Use the [`--node-private-key-file`](../Reference/Pantheon-CLI-Syntax.md#node-private-key-file) option to specify a custom `key` file in any location. +Use the [`--node-private-key-file`](../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#node-private-key-file) option to specify a custom `key` file in any location. If the `key` file exists, the node is started with the private key in the custom `key` file. If the custom `key` file does not exist, a node private key is generated and written to the custom `key` file. diff --git a/docs/Permissions/Onchain-Permissioning/Onchain-Permissioning.md b/docs/Concepts/Permissioning/Onchain-Permissioning.md similarity index 95% rename from docs/Permissions/Onchain-Permissioning/Onchain-Permissioning.md rename to docs/Concepts/Permissioning/Onchain-Permissioning.md index dbab03f..4906046 100644 --- a/docs/Permissions/Onchain-Permissioning/Onchain-Permissioning.md +++ b/docs/Concepts/Permissioning/Onchain-Permissioning.md @@ -30,7 +30,7 @@ one list of admin accounts for node and accounts. ## Permissioning Management Dapp -The [Permissioning Management Dapp](Getting-Started-Onchain-Permissioning.md) is provided to view +The [Permissioning Management Dapp](../../Tutorials/Permissioning/Getting-Started-Onchain-Permissioning.md) is provided to view and maintain the whitelists. !!! tip diff --git a/docs/Permissions/Permissioning-Overview.md b/docs/Concepts/Permissioning/Permissioning-Overview.md similarity index 78% rename from docs/Permissions/Permissioning-Overview.md rename to docs/Concepts/Permissioning/Permissioning-Overview.md index ec4e348..0845069 100644 --- a/docs/Permissions/Permissioning-Overview.md +++ b/docs/Concepts/Permissioning/Permissioning-Overview.md @@ -13,13 +13,13 @@ account permissioning on the network. follow the rules. A single bad actor can decide not to follow the rules. Nodes can take action to prevent the bad actor adding to the chain but they cannot prevent the bad actor from allowing access to the chain. - Pantheon also implements [privacy](../Privacy/Explanation/Privacy-Overview.md). + Pantheon also implements [privacy](../Privacy/Privacy-Overview.md). ## Node Permissioning Use node permissioning to restrict access to known participants only. -![Node Permissioning](../images/node-permissioning-bad-actor.png) +![Node Permissioning](../../images/node-permissioning-bad-actor.png) ## Account Permissioning @@ -30,7 +30,7 @@ Use account permissioning: * Blacklist broken contracts * Restrict the actions an account can perform -![Account Permissioning](../images/account-permissioning.png) +![Account Permissioning](../../images/account-permissioning.png) ## Specifying Permissioning @@ -38,7 +38,7 @@ Permissioning is [local](#local) or [onchain](#onchain). ### Local -[Local permissioning](Local-Permissioning.md) is specified at the node level. Each node in the network has a [permissions configuration file](#permissions-configuration-file). +[Local permissioning](../../HowTo/Limit-Access/Local-Permissioning.md) is specified at the node level. Each node in the network has a [permissions configuration file](#permissions-configuration-file). Local permissioning affects your node but not the rest of the network. Use local permissioning to restrict use of your node (that is, the resources under your control). For example, customers that can access your node. @@ -48,7 +48,7 @@ protect your node. Your rules are not enforced in blocks produced by other nodes ### Onchain -[Onchain permissioning](Onchain-Permissioning/Onchain-Permissioning.md) is specified in a smart contract on the network. Specifying permissioning onchain +[Onchain permissioning](Onchain-Permissioning.md) is specified in a smart contract on the network. Specifying permissioning onchain enables all nodes to read and update permissioning configuration from one location. Onchain permissioning requires co-ordination to update rules. The network may not be able to act immediately @@ -59,4 +59,4 @@ For example, blocked accounts can no longer add transactions to the chain. The diagram illustrates when local and onchain permissioning rules are applied. -![Permissioning Flow](../images/PermissioningFlow.png) \ No newline at end of file +![Permissioning Flow](../../images/PermissioningFlow.png) \ No newline at end of file diff --git a/docs/Privacy/Explanation/Privacy-Groups.md b/docs/Concepts/Privacy/Privacy-Groups.md similarity index 100% rename from docs/Privacy/Explanation/Privacy-Groups.md rename to docs/Concepts/Privacy/Privacy-Groups.md diff --git a/docs/Privacy/Explanation/Privacy-Overview.md b/docs/Concepts/Privacy/Privacy-Overview.md similarity index 96% rename from docs/Privacy/Explanation/Privacy-Overview.md rename to docs/Concepts/Privacy/Privacy-Overview.md index 15af337..f63b65e 100644 --- a/docs/Privacy/Explanation/Privacy-Overview.md +++ b/docs/Concepts/Privacy/Privacy-Overview.md @@ -8,7 +8,7 @@ Other parties cannot access the transaction content, sending party, or list of p !!! important For production systems requiring private transactions, we recommend using a network - with a consensus mechanism supporting transaction finality. For example, [IBFT 2.0](../../Consensus-Protocols/IBFT.md). + with a consensus mechanism supporting transaction finality. For example, [IBFT 2.0](../../HowTo/Configure-Pantheon/Consensus-Protocols/IBFT.md). ## Private Transaction Manager diff --git a/docs/Privacy/Explanation/Private-Transaction-Processing.md b/docs/Concepts/Privacy/Private-Transaction-Processing.md similarity index 92% rename from docs/Privacy/Explanation/Private-Transaction-Processing.md rename to docs/Concepts/Privacy/Private-Transaction-Processing.md index 9936cce..07aecb9 100644 --- a/docs/Privacy/Explanation/Private-Transaction-Processing.md +++ b/docs/Concepts/Privacy/Private-Transaction-Processing.md @@ -10,7 +10,7 @@ Ethereum node for later execution. - **Privacy Marker Transaction**: Public Ethereum transaction with a payload of the transaction hash of the private transaction. The `to` attribute of the Privacy Marker Transaction is the address of the privacy precompile contract. -The Privacy Marker Transaction is signed with the [Ethereum node private key](../../Configuring-Pantheon/Node-Keys.md#node-private-key). +The Privacy Marker Transaction is signed with the [Ethereum node private key](../Node-Keys.md#node-private-key). Private transactions are processed as illustrated and described below. @@ -21,7 +21,7 @@ The signed transaction includes transaction attributes that are specific to priv * `privateFor` or `privacyGroupId` specifies the list of recipients * `privateFrom` specifies the sender - * `restriction` specifies the transaction is of type [_restricted_](Privacy-Overview.md#private-transactions) + * `restriction` specifies the transaction is of type [_restricted_](../Privacy/Privacy-Overview.md#private-transactions) 1. The JSON-RPC endpoint passes the private transaction to the Private Transaction Handler. @@ -33,7 +33,7 @@ The stored transaction is associated with the transaction hash and privacy group 1. Orion returns the transaction hash to the Private Transaction Handler. -1. The Private Transaction Handler creates a [Privacy Marker Transaction](Privacy-Overview.md#privacy-concepts) for the private +1. The Private Transaction Handler creates a [Privacy Marker Transaction](../Privacy/Privacy-Overview.md#privacy-concepts) for the private transaction. The Privacy Marker Transaction is propagated using devP2P in the same way as a public Ethereum transaction. 1. The Privacy Marker Transaction is mined into a block and distributed to all Ethereum nodes in the network. @@ -57,4 +57,4 @@ the private world state, and read from the public world state. !!! important For production systems requiring private transactions, we recommend using a network - with a consensus mechanism supporting transaction finality. For example, [IBFT 2.0](../../Consensus-Protocols/IBFT.md). + with a consensus mechanism supporting transaction finality. For example, [IBFT 2.0](../../HowTo/Configure-Pantheon/Consensus-Protocols/IBFT.md). diff --git a/docs/Using-Pantheon/Transactions/Transaction-Pool.md b/docs/Concepts/Transactions/Transaction-Pool.md similarity index 74% rename from docs/Using-Pantheon/Transactions/Transaction-Pool.md rename to docs/Concepts/Transactions/Transaction-Pool.md index 1a404d3..1e8fe0b 100644 --- a/docs/Using-Pantheon/Transactions/Transaction-Pool.md +++ b/docs/Concepts/Transactions/Transaction-Pool.md @@ -5,13 +5,13 @@ Options and methods for configuring and monitoring the transaction pool include: * [`txpool_pantheonTransactions`](../../Reference/Pantheon-API-Methods.md#txpool_pantheontransactions) JSON-RPC API method to list transactions in the node transaction pool -* [`--tx-pool-max-size`](../../Reference/Pantheon-CLI-Syntax.md#tx-pool-max-size) command line option to specify the maximum number +* [`--tx-pool-max-size`](../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#tx-pool-max-size) command line option to specify the maximum number of transactions in the node transaction pool -* [`tx-pool-retention-hours`](../../Reference/Pantheon-CLI-Syntax.md#tx-pool-retention-hours) command line option to specify +* [`tx-pool-retention-hours`](../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#tx-pool-retention-hours) command line option to specify the maximum number of hours to retain pending transactions in the transaction pool -* [`newPendingTransactions`](../../Pantheon-API/RPC-PubSub.md#pending-transactions) and [`droppedPendingTransactions`](../../Pantheon-API/RPC-PubSub.md#dropped-transactions) +* [`newPendingTransactions`](../../HowTo/Interact/Pantheon-APIs/RPC-PubSub.md#pending-transactions) and [`droppedPendingTransactions`](../../HowTo/Interact/Pantheon-APIs/RPC-PubSub.md#dropped-transactions) RPC subscriptions to notify of transactions added to and dropped from the node transaction pool ## Dropping Transactions when Transaction Pool Full diff --git a/docs/Using-Pantheon/Transactions/Transaction-Validation.md b/docs/Concepts/Transactions/Transaction-Validation.md similarity index 100% rename from docs/Using-Pantheon/Transactions/Transaction-Validation.md rename to docs/Concepts/Transactions/Transaction-Validation.md diff --git a/docs/Deploying-Pantheon/Migration-Docker.md b/docs/Deploying-Pantheon/Migration-Docker.md deleted file mode 100644 index 62c13dc..0000000 --- a/docs/Deploying-Pantheon/Migration-Docker.md +++ /dev/null @@ -1,56 +0,0 @@ -description: Migrating from pre v1.2 Docker image to v1.2 Docker image - - -# Migrating from pre-1.2 Docker Image to 1.2+ - -## Before v1.2 - -The Pantheon Docker image had an entry-script that automatically added a number of options -to the Pantheon command line. The options could not be set using command line arguments. - -The options automatically added to the Pantheon command line for the Pantheon Docker image before v1.2 were: - -* If the file existed: - - - [`--config-file /etc/pantheon/pantheon.conf`](../Reference/Pantheon-CLI-Syntax.md#config-file) - - [`--genesis-file /etc/pantheon/genesis.json`](../Reference/Pantheon-CLI-Syntax.md#genesis-file) - - [`--rpc-http-authentication-credentials-file /etc/pantheon/rpc_http_auth_config.toml`](../Reference/Pantheon-CLI-Syntax.md#rpc-http-authentication-credentials-file) - - [`--rpc-ws-authentication-credentials-file /etc/pantheon/rpc_ws_auth_config.toml`](../Reference/Pantheon-CLI-Syntax.md#rpc-ws-authentication-credentials-file) - - [`--privacy-public-key-file /etc/pantheon/privacy_public_key`](../Reference/Pantheon-CLI-Syntax.md#privacy-public-key-file) - - [`--permissions-nodes-config-file /etc/pantheon/permissions_config.toml`](../Reference/Pantheon-CLI-Syntax.md#permissions-nodes-config-file) - - [`--permissions-accounts-config-file /etc/pantheon/permissions_config.toml`](../Reference/Pantheon-CLI-Syntax.md#permissions-accounts-config-file) - -* [`--data-path /var/lib/pantheon`](../Reference/Pantheon-CLI-Syntax.md#data-path) -* [`--rpc-http-host=0.0.0.0`](../Reference/Pantheon-CLI-Syntax.md#rpc-http-host) -* [`--rpc-http-port=8545`](../Reference/Pantheon-CLI-Syntax.md#rpc-http-port) -* [`--rpc-ws-host=0.0.0.0`](../Reference/Pantheon-CLI-Syntax.md#rpc-ws-host) -* [`--rpc-ws-port=8546`](../Reference/Pantheon-CLI-Syntax.md#rpc-ws-port) -* [`--p2p-host=0.0.0.0`](../Reference/Pantheon-CLI-Syntax.md#p2p-host) -* [`--p2p-port=30303`](../Reference/Pantheon-CLI-Syntax.md#p2p-port) - -The [`--node-private-key-file`](../Reference/Pantheon-CLI-Syntax.md#node-private-key-file) command line option -was not available and the node key was always read from the data path. - -## From v1.2 - -All file options (for example, [`--config-file`](../Reference/Pantheon-CLI-Syntax.md#config-file)) no longer -have a default. Add the relevant command line options to your Pantheon command line and specify the file path. - -The [`--data-path`](../Reference/Pantheon-CLI-Syntax.md#data-path) default is now `/opt/pantheon`. - -The [`--node-private-key-file`](../Reference/Pantheon-CLI-Syntax.md#node-private-key-file) default is -now `/opt/pantheon/key`. - -!!! important - Do not mount a volume at the default data path (`/opt/pantheon`). Mounting a volume at the default - data path path interferes with the operation of Pantheon and prevents Pantheon from safely launching. - - To run a node that maintains the node state (key and database), [`--data-path` must be set to a location - other than `/opt/pantheon` and a storage volume mounted at that location](../Getting-Started/Run-Docker-Image.md#starting-pantheon). - -The host and port options continue to default to the previously set values. - -!!! tip - All command line options can be set using [environment variables](../Reference/Pantheon-CLI-Syntax.md#pantheon-environment-variables). - - diff --git a/docs/Getting-Started/Getting-Started.md b/docs/Getting-Started/Getting-Started.md deleted file mode 100644 index cc45ec1..0000000 --- a/docs/Getting-Started/Getting-Started.md +++ /dev/null @@ -1,14 +0,0 @@ -description: Getting started with Pantheon - - -# Getting Started Overview - -Get started with Pantheon by: - -* [Installing Pantheon](../Installation/Install-Binaries.md) and [starting a node](Starting-Pantheon.md) -* Running from the [Pantheon Docker image](Run-Docker-Image.md) -* Using the [Private Network Quickstart](../Tutorials/Private-Network-Quickstart.md) - -The fastest way to run a single node and connect to the Ethereum mainnet (or a public testnet) is by using the [Docker image](Run-Docker-Image.md). - -To run a private network on which you can make JSON-RPC requests and send transactions, the [Private Network Quickstart](../Tutorials/Private-Network-Quickstart.md) sets up a network of Pantheon nodes in Docker containers. \ No newline at end of file diff --git a/docs/Consensus-Protocols/Clique.md b/docs/HowTo/Configure-Pantheon/Consensus-Protocols/Clique.md similarity index 84% rename from docs/Consensus-Protocols/Clique.md rename to docs/HowTo/Configure-Pantheon/Consensus-Protocols/Clique.md index 7cf6d9c..7fd5dec 100644 --- a/docs/Consensus-Protocols/Clique.md +++ b/docs/HowTo/Configure-Pantheon/Consensus-Protocols/Clique.md @@ -74,26 +74,26 @@ initial signer must be specified. ## Connecting to Clique Network -To connect to the Rinkeby testnet, start Pantheon with the [`--network=rinkeby`](../Reference/Pantheon-CLI-Syntax.md#network) +To connect to the Rinkeby testnet, start Pantheon with the [`--network=rinkeby`](../../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#network) command line option. To start a node on a Clique private network, use the -[`--genesis-file`](../Reference/Pantheon-CLI-Syntax.md#genesis-file) option to specify the custom genesis file. +[`--genesis-file`](../../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#genesis-file) option to specify the custom genesis file. ## Adding and Removing Signers To propose adding or removing signers using the JSON-RPC methods, enable the HTTP interface -using [`--rpc-http-enabled`](../Reference/Pantheon-CLI-Syntax.md#rpc-http-enabled) or WebSockets interface using -[`--rpc-ws-enabled`](../Reference/Pantheon-CLI-Syntax.md#rpc-ws-enabled). +using [`--rpc-http-enabled`](../../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#rpc-http-enabled) or WebSockets interface using +[`--rpc-ws-enabled`](../../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#rpc-ws-enabled). -The Clique API methods are not enabled by default. To enable, specify the [`--rpc-http-api`](../Reference/Pantheon-CLI-Syntax.md#rpc-http-api) -or [`--rpc-ws-api`](../Reference/Pantheon-CLI-Syntax.md#rpc-ws-api) option and include `CLIQUE`. +The Clique API methods are not enabled by default. To enable, specify the [`--rpc-http-api`](../../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#rpc-http-api) +or [`--rpc-ws-api`](../../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#rpc-ws-api) option and include `CLIQUE`. The JSON-RPC methods to add or remove signers are: -* [clique_propose](../Reference/Pantheon-API-Methods.md#clique_propose) -* [clique_getSigners](../Reference/Pantheon-API-Methods.md#clique_getsigners) -* [clique_discard](../Reference/Pantheon-API-Methods.md#clique_discard) +* [clique_propose](../../../Reference/Pantheon-API-Methods.md#clique_propose) +* [clique_getSigners](../../../Reference/Pantheon-API-Methods.md#clique_getsigners) +* [clique_discard](../../../Reference/Pantheon-API-Methods.md#clique_discard) -Use [clique_getSignerMetrics](../Reference/Pantheon-API-Methods.md#clique_getsignermetrics) to view signer metrics for a specified block range. +Use [clique_getSignerMetrics](../../../Reference/Pantheon-API-Methods.md#clique_getsignermetrics) to view signer metrics for a specified block range. To propose adding a signer, call `clique_propose` specifying the address of the proposed signer and `true`. diff --git a/docs/Consensus-Protocols/IBFT.md b/docs/HowTo/Configure-Pantheon/Consensus-Protocols/IBFT.md similarity index 87% rename from docs/Consensus-Protocols/IBFT.md rename to docs/HowTo/Configure-Pantheon/Consensus-Protocols/IBFT.md index 1916206..d23d67a 100644 --- a/docs/Consensus-Protocols/IBFT.md +++ b/docs/HowTo/Configure-Pantheon/Consensus-Protocols/IBFT.md @@ -56,12 +56,12 @@ Properties that have specific values in IBFT 2.0 genesis files are: * `difficulty` - `0x1` * `mixHash` - `0x63746963616c2062797a616e74696e65206661756c7420746f6c6572616e6365` for Istanbul block identification. -To start a node on an IBFT 2.0 private network, use the [`--genesis-file`](../Reference/Pantheon-CLI-Syntax.md#genesis-file) option to specify the custom genesis file. +To start a node on an IBFT 2.0 private network, use the [`--genesis-file`](../../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#genesis-file) option to specify the custom genesis file. ### Extra Data The `extraData` property is RLP encoded. RLP encoding is a space efficient object serialization scheme -used in Ethereum. Use the Pantheon subcommand [`rlp encode`](../Reference/Pantheon-CLI-Subcommands.md#rlp) +used in Ethereum. Use the Pantheon subcommand [`rlp encode`](../../../Reference/Pantheon-CLI/Pantheon-CLI-Subcommands.md#rlp) to generate the `extraData` RLP string to include in the genesis file. !!! example @@ -120,19 +120,19 @@ Optional configuration options that can be specified in the genesis file are: ## Adding and Removing Validators To propose adding or removing validators using the JSON-RPC methods, enable the HTTP interface -using [`--rpc-http-enabled`](../Reference/Pantheon-CLI-Syntax.md#rpc-http-enabled) or WebSockets interface using -[`--rpc-ws-enabled`](../Reference/Pantheon-CLI-Syntax.md#rpc-ws-enabled). +using [`--rpc-http-enabled`](../../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#rpc-http-enabled) or WebSockets interface using +[`--rpc-ws-enabled`](../../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#rpc-ws-enabled). -The IBFT API methods are not enabled by default. To enable, specify the [`--rpc-http-api`](../Reference/Pantheon-CLI-Syntax.md#rpc-http-api) -or [`--rpc-ws-api`](../Reference/Pantheon-CLI-Syntax.md#rpc-ws-api) option and include `IBFT`. +The IBFT API methods are not enabled by default. To enable, specify the [`--rpc-http-api`](../../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#rpc-http-api) +or [`--rpc-ws-api`](../../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#rpc-ws-api) option and include `IBFT`. The JSON-RPC methods to add or remove validators are: -* [ibft_getPendingVotes](../Reference/Pantheon-API-Methods.md#ibft_getPendingVotes) -* [ibft_proposeValidatorVote](../Reference/Pantheon-API-Methods.md#ibft_proposeValidatorVote) -* [ibft_discardValidatorVote](../Reference/Pantheon-API-Methods.md#ibft_discardValidatorVote) +* [ibft_getPendingVotes](../../../Reference/Pantheon-API-Methods.md#ibft_getPendingVotes) +* [ibft_proposeValidatorVote](../../../Reference/Pantheon-API-Methods.md#ibft_proposeValidatorVote) +* [ibft_discardValidatorVote](../../../Reference/Pantheon-API-Methods.md#ibft_discardValidatorVote) -Use [ibft_getSignerMetrics](../Reference/Pantheon-API-Methods.md#ibft_getsignermetrics) to view signer metrics for a specified block range. +Use [ibft_getSignerMetrics](../../../Reference/Pantheon-API-Methods.md#ibft_getsignermetrics) to view signer metrics for a specified block range. To propose adding a validator, call `ibft_proposeValidatorVote` specifying the address of the node to be added and `true`. diff --git a/docs/Consensus-Protocols/QuorumIBFT.md b/docs/HowTo/Configure-Pantheon/Consensus-Protocols/QuorumIBFT.md similarity index 82% rename from docs/Consensus-Protocols/QuorumIBFT.md rename to docs/HowTo/Configure-Pantheon/Consensus-Protocols/QuorumIBFT.md index d9637db..cbf7841 100644 --- a/docs/Consensus-Protocols/QuorumIBFT.md +++ b/docs/HowTo/Configure-Pantheon/Consensus-Protocols/QuorumIBFT.md @@ -19,5 +19,5 @@ from `istanbul` to `ibft`: } ``` -1. Use the [`--genesis-file`](../Reference/Pantheon-CLI-Syntax.md#genesis-file) option to specify the +1. Use the [`--genesis-file`](../../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#genesis-file) option to specify the IBFT 1.0 genesis file. \ No newline at end of file diff --git a/docs/Configuring-Pantheon/Contracts-in-Genesis.md b/docs/HowTo/Configure-Pantheon/Contracts-in-Genesis.md similarity index 100% rename from docs/Configuring-Pantheon/Contracts-in-Genesis.md rename to docs/HowTo/Configure-Pantheon/Contracts-in-Genesis.md diff --git a/docs/Configuring-Pantheon/FreeGas.md b/docs/HowTo/Configure-Pantheon/FreeGas.md similarity index 94% rename from docs/Configuring-Pantheon/FreeGas.md rename to docs/HowTo/Configure-Pantheon/FreeGas.md index 09945bd..9790340 100644 --- a/docs/Configuring-Pantheon/FreeGas.md +++ b/docs/HowTo/Configure-Pantheon/FreeGas.md @@ -48,7 +48,7 @@ Set the contract size limit to the maximum supported size (in bytes) in the `con ### 3. Start Pantheon with Minimum Gas Price of 0 -When starting nodes, set the [minimum gas price](../Reference/Pantheon-CLI-Syntax.md#min-gas-price) to 0: +When starting nodes, set the [minimum gas price](../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#min-gas-price) to 0: ```bash tab="Command Line" --min-gas-price=0 @@ -67,7 +67,7 @@ gas limit for transactions in Truffle to the maximum possible. !!! important Pantheon does not implement private key management. To use Pantheon with Truffle, you must configure - a [Truffle wallet](../Using-Pantheon/Truffle.md). + a [Truffle wallet](../Develop-Dapps/Truffle.md). ### Update truffle-config.js diff --git a/docs/HowTo/Configure-Pantheon/Mining.md b/docs/HowTo/Configure-Pantheon/Mining.md new file mode 100644 index 0000000..2606b28 --- /dev/null +++ b/docs/HowTo/Configure-Pantheon/Mining.md @@ -0,0 +1,18 @@ +description: Using Pantheon for PoW CPU mining + + +# Mining + +Start Pantheon with the following options to enable CPU mining: +```bash +pantheon --miner-enabled --miner-coinbase +``` + +Where `` is the account to which mining rewards are to be paid. For example, `fe3b557e8fb62b89f4916b721be55ceb828dbd73`. + +JSON-RPC API methods for mining are: + +* [`miner_start`](../../Reference/Pantheon-API-Methods.md#miner_start) to start mining. +* [`miner_stop`](../../Reference/Pantheon-API-Methods.md#miner_stop) to stop mining. +* [`eth_mining`](../../Reference/Pantheon-API-Methods.md#eth_mining) to determine whether the client is actively mining new blocks. +* [`eth_hashrate`](../../Reference/Pantheon-API-Methods.md#eth_hashrate) to get the number of hashes per second with which the node is mining. \ No newline at end of file diff --git a/docs/Configuring-Pantheon/Passing-JVM-Options.md b/docs/HowTo/Configure-Pantheon/Passing-JVM-Options.md similarity index 100% rename from docs/Configuring-Pantheon/Passing-JVM-Options.md rename to docs/HowTo/Configure-Pantheon/Passing-JVM-Options.md diff --git a/docs/Configuring-Pantheon/Using-Configuration-File.md b/docs/HowTo/Configure-Pantheon/Using-Configuration-File.md similarity index 81% rename from docs/Configuring-Pantheon/Using-Configuration-File.md rename to docs/HowTo/Configure-Pantheon/Using-Configuration-File.md index 2dd4f59..7b9ce16 100644 --- a/docs/Configuring-Pantheon/Using-Configuration-File.md +++ b/docs/HowTo/Configure-Pantheon/Using-Configuration-File.md @@ -3,10 +3,10 @@ To specify command line options in a file, use a TOML configuration file. The configuration file can be saved and reused across node startups. To specify the configuration file, -use the [`--config-file`](../Reference/Pantheon-CLI-Syntax.md#config-file) option. +use the [`--config-file`](../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#config-file) option. To override an option specified in the configuration file, specify the same option on the command line or as -an [environment variable](../Reference/Pantheon-CLI-Syntax.md#pantheon-environment-variables). If an option is specified in multiple places, +an [environment variable](../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#pantheon-environment-variables). If an option is specified in multiple places, the order of priority is command line, environment variable, configuration file. ## TOML Specification @@ -21,7 +21,7 @@ Specific differences between the command line and the TOML file format are: * File paths, hexadecimal numbers, URLs, and <host:port> values must be enclosed in quotes. !!!tip - The [command line reference](../Reference/Pantheon-CLI-Syntax.md) includes configuration file examples for each option. + The [command line reference](../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md) includes configuration file examples for each option. !!!example "Example TOML configuration file" ```toml diff --git a/docs/Deploying-Pantheon/Ansible.md b/docs/HowTo/Deploy/Ansible.md similarity index 100% rename from docs/Deploying-Pantheon/Ansible.md rename to docs/HowTo/Deploy/Ansible.md diff --git a/docs/Deploying-Pantheon/High-Availability.md b/docs/HowTo/Deploy/High-Availability.md similarity index 56% rename from docs/Deploying-Pantheon/High-Availability.md rename to docs/HowTo/Deploy/High-Availability.md index 0a41d1a..8d34f69 100644 --- a/docs/Deploying-Pantheon/High-Availability.md +++ b/docs/HowTo/Deploy/High-Availability.md @@ -3,16 +3,16 @@ description: Pantheon high availability # High Availability of JSON-RPC and RPC Rub/Sub APIs -To enable high availability to the [RPC Pub/Sub API over WebSockets](../Pantheon-API/RPC-PubSub.md) -or the [JSON-RPC API](../Pantheon-API/Using-JSON-RPC-API.md) run and synchronize multiple Pantheon +To enable high availability to the [RPC Pub/Sub API over WebSockets](../Interact/Pantheon-APIs/RPC-PubSub.md) +or the [JSON-RPC API](../Interact/Pantheon-APIs/Using-JSON-RPC-API.md) run and synchronize multiple Pantheon nodes to the network. Use a load balancer to distribute requests across nodes in the cluster that are ready to receive requests. -![Load Balancer](../images/LoadBalancer.png) +![Load Balancer](../../images/LoadBalancer.png) ## Determining When a Node is Ready -Use the [readiness endpoint](../Pantheon-API/Using-JSON-RPC-API.md#readiness-and-liveness-endpoints) +Use the [readiness endpoint](../Interact/Pantheon-APIs/Using-JSON-RPC-API.md#readiness-and-liveness-endpoints) to determine when a node is ready. !!! note @@ -21,16 +21,16 @@ to determine when a node is ready. ## Transaction Nonces -The account nonce for the next transaction is obtained using [`eth_getTransactionCount`](../Reference/Pantheon-API-Methods.md#eth_gettransactioncount). -The account nonce depends on the transactions in the [transaction pool](../Using-Pantheon/Transactions/Transaction-Pool.md). -If [`eth_getTransactionCount`](../Reference/Pantheon-API-Methods.md#eth_gettransactioncount) and -[`eth_sendRawTransaction`](../Reference/Pantheon-API-Methods.md#eth_sendrawtransaction) requests for a specific account -are sent to multiple nodes, the [`eth_getTransactionCount`](../Reference/Pantheon-API-Methods.md#eth_gettransactioncount) +The account nonce for the next transaction is obtained using [`eth_getTransactionCount`](../../Reference/Pantheon-API-Methods.md#eth_gettransactioncount). +The account nonce depends on the transactions in the [transaction pool](../../Concepts/Transactions/Transaction-Pool.md). +If [`eth_getTransactionCount`](../../Reference/Pantheon-API-Methods.md#eth_gettransactioncount) and +[`eth_sendRawTransaction`](../../Reference/Pantheon-API-Methods.md#eth_sendrawtransaction) requests for a specific account +are sent to multiple nodes, the [`eth_getTransactionCount`](../../Reference/Pantheon-API-Methods.md#eth_gettransactioncount) results can be incorrect. !!! note - If using [private transactions](../Privacy/Explanation/Privacy-Overview.md), `priv_getTransactionCount` is used to obtain - the account nonce and [`eea_sendRawTransaction`](../Reference/Pantheon-API-Methods.md#eea_sendrawtransaction) + If using [private transactions](../../Concepts/Privacy/Privacy-Overview.md), `priv_getTransactionCount` is used to obtain + the account nonce and [`eea_sendRawTransaction`](../../Reference/Pantheon-API-Methods.md#eea_sendrawtransaction) to send private transactions. To get correct account nonces when distributing requests across a cluster, do one of: @@ -43,13 +43,13 @@ node unless that node is unavailable. You can subscribe to events using: -* [RPC Pub/Sub over WebSockets](../Pantheon-API/RPC-PubSub.md) -* [Filters over HTTP](../Using-Pantheon/Accessing-Logs-Using-JSON-RPC.md) +* [RPC Pub/Sub over WebSockets](../Interact/Pantheon-APIs/RPC-PubSub.md) +* [Filters over HTTP](../Interact/Filters/Accessing-Logs-Using-JSON-RPC.md) -We recommend using [RPC Pub/Sub over WebSockets](../Pantheon-API/RPC-PubSub.md) because WebSockets +We recommend using [RPC Pub/Sub over WebSockets](../Interact/Pantheon-APIs/RPC-PubSub.md) because WebSockets connections are associated a specific node and do not require using the load balancer in sticky mode. -If using [filters over HTTP](../Using-Pantheon/Accessing-Logs-Using-JSON-RPC.md), configure the load balancer +If using [filters over HTTP](../Interact/Filters/Accessing-Logs-Using-JSON-RPC.md), configure the load balancer in sticky mode to associate the subscription with a specific node. ## Recovering from Dropped Subscriptions @@ -60,7 +60,7 @@ Subscriptions can be dropped if: * Node serving the subscription is removed from the ready pool If a subscription is dropped, events can be missed while reconnecting to a different node. -To recover dropped messages, create another subscription and follow the process for that [subscription type](../Pantheon-API/RPC-PubSub.md#subscribing): +To recover dropped messages, create another subscription and follow the process for that [subscription type](../Interact/Pantheon-APIs/RPC-PubSub.md#subscribing): * [`newHeads`](#new-headers) * [`logs`](#logs) @@ -71,17 +71,17 @@ To recover dropped messages, create another subscription and follow the process ### New Headers -Use [`eth_getBlockByNumber`](../Reference/Pantheon-API-Methods.md#eth_getblockbynumber) to request information on +Use [`eth_getBlockByNumber`](../../Reference/Pantheon-API-Methods.md#eth_getblockbynumber) to request information on blocks from the last block before the subscription dropped to the first block received from the new subscription. ### Logs -Use [`eth_getLogs`](../Reference/Pantheon-API-Methods.md#eth_getlogs) to request logs from the block number +Use [`eth_getLogs`](../../Reference/Pantheon-API-Methods.md#eth_getlogs) to request logs from the block number of the last log received before the subscription dropped to the current chain head. ### New Pending Transactions -Use [`txpool_pantheonTransactions`](../Reference/Pantheon-API-Methods.md#txpool_pantheontransactions) to +Use [`txpool_pantheonTransactions`](../../Reference/Pantheon-API-Methods.md#txpool_pantheontransactions) to request all pending transactions for the new node. !!! note @@ -89,7 +89,7 @@ request all pending transactions for the new node. ### Dropped Pending Transactions -Use [`txpool_pantheonTransactions`](../Reference/Pantheon-API-Methods.md#txpool_pantheontransactions) to +Use [`txpool_pantheonTransactions`](../../Reference/Pantheon-API-Methods.md#txpool_pantheontransactions) to request all pending transactions for the new node. !!! note @@ -97,5 +97,5 @@ request all pending transactions for the new node. ### Syncing -The syncing state of each node is specific to that node. Use [`eth_syncing`](../Reference/Pantheon-API-Methods.md#eth_syncing) +The syncing state of each node is specific to that node. Use [`eth_syncing`](../../Reference/Pantheon-API-Methods.md#eth_syncing) to retrieve the syncing state of the new node. diff --git a/docs/Monitoring/Alethio/Lite-Block-Explorer.md b/docs/HowTo/Deploy/Lite-Block-Explorer.md similarity index 94% rename from docs/Monitoring/Alethio/Lite-Block-Explorer.md rename to docs/HowTo/Deploy/Lite-Block-Explorer.md index 9007702..5e98b5f 100644 --- a/docs/Monitoring/Alethio/Lite-Block-Explorer.md +++ b/docs/HowTo/Deploy/Lite-Block-Explorer.md @@ -25,7 +25,7 @@ data is required. To run the Ethereum Lite Explorer using the Docker image: -1. Start Pantheon with the [`--rpc-http-enabled`](../../Reference/Pantheon-CLI-Syntax.md#rpc-http-enabled) option. +1. Start Pantheon with the [`--rpc-http-enabled`](../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#rpc-http-enabled) option. !!! example @@ -43,7 +43,7 @@ To run the Ethereum Lite Explorer using the Docker image: 1. Open [http://localhost:8080](http://localhost:8080) in your browser to view the Lite Explorer. - ![Ethereum Lite Explorer](explorer.png) + ![Ethereum Lite Explorer](../../images/explorer.png) !!! note "Default HTTP port" We are using port 8080 to run the Ethereum Lite Explorer so @@ -81,7 +81,7 @@ To run the Ethereum Lite Explorer using the Docker image: * Remove other environment variables. -1. In another terminal, start Pantheon with the [`--rpc-http-enabled`](../../Reference/Pantheon-CLI-Syntax.md#rpc-http-enabled) option. +1. In another terminal, start Pantheon with the [`--rpc-http-enabled`](../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#rpc-http-enabled) option. !!! example diff --git a/docs/Monitoring/Alethio/Lite-Network-Monitor.md b/docs/HowTo/Deploy/Lite-Network-Monitor.md similarity index 98% rename from docs/Monitoring/Alethio/Lite-Network-Monitor.md rename to docs/HowTo/Deploy/Lite-Network-Monitor.md index 9978d04..5e6269c 100644 --- a/docs/Monitoring/Alethio/Lite-Network-Monitor.md +++ b/docs/HowTo/Deploy/Lite-Network-Monitor.md @@ -81,7 +81,7 @@ Start the EthStats Lite server using in-memory persistence: cd ethstats-network-server/docker/lite-mode/memory-persistence ``` -1. Update the `docker-compose.yml` file to your Pantheon [network ID](../../Configuring-Pantheon/NetworkID-And-ChainID.md): +1. Update the `docker-compose.yml` file to your Pantheon [network ID](../../Concepts/NetworkID-And-ChainID.md): ```yaml - NETWORK_ID=2018 @@ -129,7 +129,7 @@ Registering the node is only required the first time the client is started for t To display EthStats Lite dashboard, open [http://localhost](http://localhost) in your browser. -![Alethio EthStats Lite Dashboard](ethstats.png) +![Alethio EthStats Lite Dashboard](../../images/ethstats.png) !!! note "Default HTTP port" We are using the default HTTP port (80) to run EthStats Lite. The [Lite Block Explorer](Lite-Block-Explorer.md) diff --git a/docs/Monitoring/Monitoring-Performance.md b/docs/HowTo/Deploy/Monitoring-Performance.md similarity index 83% rename from docs/Monitoring/Monitoring-Performance.md rename to docs/HowTo/Deploy/Monitoring-Performance.md index 1d2795d..c3008ad 100644 --- a/docs/Monitoring/Monitoring-Performance.md +++ b/docs/HowTo/Deploy/Monitoring-Performance.md @@ -5,17 +5,17 @@ description: Frequently asked questions FAQ and answers for troubleshooting Pant ## Monitor Node Performance and Connectivity Using the JSON-RPC API -You can monitor node performance using the [`debug_metrics`](../Reference/Pantheon-API-Methods.md#debug_metrics) +You can monitor node performance using the [`debug_metrics`](../../Reference/Pantheon-API-Methods.md#debug_metrics) JSON-RPC API method. ## Monitor Node Performance Using Prometheus -Use the [`--metrics-enabled` option](../Reference/Pantheon-CLI-Syntax.md#metrics-enabled) to enable the [Prometheus](https://prometheus.io/) monitoring and +Use the [`--metrics-enabled` option](../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#metrics-enabled) to enable the [Prometheus](https://prometheus.io/) monitoring and alerting service to access Pantheon metrics. You can also visualize the collected data using [Grafana](https://grafana.com/). A sample [Pantheon Grafana dashboard](https://grafana.com/dashboards/10273) is provided. -To specify the host and port on which Prometheus accesses Pantheon, use the [`--metrics-host`](../Reference/Pantheon-CLI-Syntax.md#metrics-host) and -[`--metrics-port`](../Reference/Pantheon-CLI-Syntax.md#metrics-port) options. +To specify the host and port on which Prometheus accesses Pantheon, use the [`--metrics-host`](../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#metrics-host) and +[`--metrics-port`](../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#metrics-port) options. The default host and port are 127.0.0.1 and 9545. You can install other Prometheus components such as the Alert Manager. Additional configuration @@ -45,7 +45,7 @@ block of the `prometheus.yml` file: - localhost:9545 ``` -1. Start Pantheon with the [`--metrics-enabled` option](../Reference/Pantheon-CLI-Syntax.md#metrics-enabled). To start +1. Start Pantheon with the [`--metrics-enabled` option](../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#metrics-enabled). To start a single node for testing with metrics enabled: ```bash tab="Example" @@ -71,9 +71,9 @@ block of the `prometheus.yml` file: ### Running Prometheus with Pantheon in Push Mode -The [`--metrics-enabled`](../Reference/Pantheon-CLI-Syntax.md#metrics-enabled) option enables Prometheus polling +The [`--metrics-enabled`](../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#metrics-enabled) option enables Prometheus polling Pantheon but sometimes metrics are hard to poll (for example, when running inside Docker containers with varying IP addresses). -The [`--metrics-push-enabled`](../Reference/Pantheon-CLI-Syntax.md#metrics-push-enabled) option enables Pantheon +The [`--metrics-push-enabled`](../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#metrics-push-enabled) option enables Pantheon to push metrics to a [Prometheus Pushgateway](https://github.com/prometheus/pushgateway). To configure Prometheus and run with Pantheon pushing to a push gateway: diff --git a/docs/Permissions/Onchain-Permissioning/Production.md b/docs/HowTo/Deploy/Production.md similarity index 94% rename from docs/Permissions/Onchain-Permissioning/Production.md rename to docs/HowTo/Deploy/Production.md index 870e3d1..10f40e1 100644 --- a/docs/Permissions/Onchain-Permissioning/Production.md +++ b/docs/HowTo/Deploy/Production.md @@ -24,6 +24,6 @@ the placeholders. ## Starting a Production Permissioned Network -Follow the procedure as for [Getting Started with Onchain Perissioning](Getting-Started-Onchain-Permissioning.md) +Follow the procedure as for [Getting Started with Onchain Perissioning](../../Tutorials/Permissioning/Getting-Started-Onchain-Permissioning.md) but do not perform the steps using `yarn` to install, build, and start the development server. Instead follow the procedure above to deploy the Permissioning Management dapp to your webserver. \ No newline at end of file diff --git a/docs/Using-Pantheon/Truffle.md b/docs/HowTo/Develop-Dapps/Truffle.md similarity index 100% rename from docs/Using-Pantheon/Truffle.md rename to docs/HowTo/Develop-Dapps/Truffle.md diff --git a/docs/Configuring-Pantheon/Networking/Bootnodes.md b/docs/HowTo/Find-and-Connect/Bootnodes.md similarity index 81% rename from docs/Configuring-Pantheon/Networking/Bootnodes.md rename to docs/HowTo/Find-and-Connect/Bootnodes.md index b65bbb4..75a9ffd 100644 --- a/docs/Configuring-Pantheon/Networking/Bootnodes.md +++ b/docs/HowTo/Find-and-Connect/Bootnodes.md @@ -31,20 +31,20 @@ To start a bootnode for a private network, complete the following steps: 2. Start the bootnode, specifying: * Genesis file and data directory, as in the previous step. - * No arguments for the [`--bootnodes` option](../../Reference/Pantheon-CLI-Syntax.md#bootnodes) because this is your bootnode. + * No arguments for the [`--bootnodes` option](../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#bootnodes) because this is your bootnode. !!! example ``` pantheon --genesis-file=privateNetworkGenesis.json --data-path=nodeDataPath --bootnodes ``` -To specify this bootnode for another node, specify the [enode URL](../Node-Keys.md#enode-url) using the [`--bootnodes`](../../Reference/Pantheon-CLI-Syntax.md#bootnodes) +To specify this bootnode for another node, specify the [enode URL](../../Concepts/Node-Keys.md#enode-url) using the [`--bootnodes`](../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#bootnodes) option. !!! info The default host and port for P2P peer discovery is `127.0.0.1:30303`. - Use the [`--p2p-host`](../../Reference/Pantheon-CLI-Syntax.md#p2p-host) and - [`--p2p-port`](../../Reference/Pantheon-CLI-Syntax.md#p2p-port) option to specify a host and port. + Use the [`--p2p-host`](../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#p2p-host) and + [`--p2p-port`](../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#p2p-port) option to specify a host and port. ### Start Node Specifying the Bootnode diff --git a/docs/Configuring-Pantheon/Networking/Configuring-Ports.md b/docs/HowTo/Find-and-Connect/Configuring-Ports.md similarity index 60% rename from docs/Configuring-Pantheon/Networking/Configuring-Ports.md rename to docs/HowTo/Find-and-Connect/Configuring-Ports.md index 5a20146..1ae6856 100644 --- a/docs/Configuring-Pantheon/Networking/Configuring-Ports.md +++ b/docs/HowTo/Find-and-Connect/Configuring-Ports.md @@ -7,7 +7,7 @@ Ports must be exposed appropriately to enable communication. An example port con ![Port Configuration](../../images/PortConfiguration.png) -When running Pantheon from the [Docker image](../../Getting-Started/Run-Docker-Image.md), [expose ports](../../Getting-Started/Run-Docker-Image.md#exposing-ports). +When running Pantheon from the [Docker image](../Get-Started/Run-Docker-Image.md), [expose ports](../Get-Started/Run-Docker-Image.md#exposing-ports). !!! tip Pantheon supports [UPnP](Using-UPnP.md) for home or small office environments where a wireless router @@ -21,21 +21,21 @@ We also recommended opening the P2P TCP port for inbound connections. This is no Pantheon attempts to initiate outbound TCP connections. However, if no nodes on the network are accepting inbound TCP connections, nodes cannot communicate. -The P2P port is specified by the [`--p2p-port`](../../Reference/Pantheon-CLI-Syntax.md#p2p-port) option. +The P2P port is specified by the [`--p2p-port`](../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#p2p-port) option. The default is `30303`. ## JSON-RPC API -To enable access to the [JSON-RPC API](../../Pantheon-API/Using-JSON-RPC-API.md), open the HTTP JSON-RPC and WebSockets JSON-RPC ports to the intended users +To enable access to the [JSON-RPC API](../Interact/Pantheon-APIs/Using-JSON-RPC-API.md), open the HTTP JSON-RPC and WebSockets JSON-RPC ports to the intended users of the JSON-RPC API on TCP. -The [`--rpc-http-port`](../../Reference/Pantheon-CLI-Syntax.md#rpc-http-port) and [`--rpc-ws-port`](../../Reference/Pantheon-CLI-Syntax.md#rpc-ws-port) +The [`--rpc-http-port`](../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#rpc-http-port) and [`--rpc-ws-port`](../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#rpc-ws-port) options specify the HTTP and WebSockets JSON-RPC ports. The defaults are `8545` and `8546`. ## Metrics -To enable [Prometheus to access Pantheon](../../Monitoring/Monitoring-Performance.md#monitor-node-performance-using-prometheus), +To enable [Prometheus to access Pantheon](../Deploy/Monitoring-Performance.md#monitor-node-performance-using-prometheus), open the metrics port or metrics push port to Prometheus or the Prometheus push gateway on TCP. -The [`--metrics-port`](../../Reference/Pantheon-CLI-Syntax.md#metrics-port) and [`--metrics-push-port`](../../Reference/Pantheon-CLI-Syntax.md#metrics-push-port) +The [`--metrics-port`](../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#metrics-port) and [`--metrics-push-port`](../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#metrics-push-port) options specify the ports for Prometheus and Prometheus push gateway. The defaults are `9545` and `9001`. \ No newline at end of file diff --git a/docs/Configuring-Pantheon/Networking/Managing-Peers.md b/docs/HowTo/Find-and-Connect/Managing-Peers.md similarity index 76% rename from docs/Configuring-Pantheon/Networking/Managing-Peers.md rename to docs/HowTo/Find-and-Connect/Managing-Peers.md index c148540..7f9bf17 100644 --- a/docs/Configuring-Pantheon/Networking/Managing-Peers.md +++ b/docs/HowTo/Find-and-Connect/Managing-Peers.md @@ -8,12 +8,12 @@ description: Managing Pantheon peers Limiting peers reduces the bandwidth used by Pantheon. It also reduces the CPU time and disk access used to manage and respond to peers. -Use the [`--max-peers`](../../Reference/Pantheon-CLI-Syntax.md#max-peers) command line option to reduce +Use the [`--max-peers`](../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#max-peers) command line option to reduce the maximum number of peers. The default is 25. ## No Discovery -The [`--discovery-enabled`](../../Reference/Pantheon-CLI-Syntax.md#discovery-enabled) command line option +The [`--discovery-enabled`](../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#discovery-enabled) command line option can be used to disable P2P peer discovery. Set this option to `false` if you are running a test node or a network with [static nodes](#static-nodes). @@ -25,11 +25,11 @@ the node attempts to reconnect every 60 seconds. To configure a network of static nodes: -1. List [enode URLs](../Node-Keys.md#enode-url) of the nodes in the [`static-nodes.json` file](#static-nodesjson-file). +1. List [enode URLs](../../Concepts/Node-Keys.md#enode-url) of the nodes in the [`static-nodes.json` file](#static-nodesjson-file). 1. Save the `static-nodes.json` file in the data directory of each node. -1. Start Pantheon with discovery disabled using [`--discovery-enabled=false`](../../Reference/Pantheon-CLI-Syntax.md#discovery-enabled). +1. Start Pantheon with discovery disabled using [`--discovery-enabled=false`](../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#discovery-enabled). To modify the static peers at run time, use the [`admin_addPeer`](../../Reference/Pantheon-API-Methods.md#admin_addpeer) and [`admin_removePeer`](../../Reference/Pantheon-API-Methods.md#admin_removepeer) JSON-RPC API methods. @@ -39,17 +39,17 @@ and [`admin_removePeer`](../../Reference/Pantheon-API-Methods.md#admin_removepee is not updated by `admin_addPeer` and `admin_removePeer` methods. Nodes outside of the static nodes are not prevented from connecting. To prevent nodes from connecting, - use [Permissioning](../../Permissions/Permissioning-Overview.md). + use [Permissioning](../../Concepts/Permissioning/Permissioning-Overview.md). !!! caution If the added peer does not appear in the peer list (returned by [`admin_peers`](../../Reference/Pantheon-API-Methods.md#admin_peers)), - check the supplied [enode URL](../Node-Keys.md#enode-url) is correct, the node is running, the node is listening for + check the supplied [enode URL](../../Concepts/Node-Keys.md#enode-url) is correct, the node is running, the node is listening for TCP connections on the endpoint, and has not reached the [maximum number of peers](#limiting-peers). ### static-nodes.json File -The `static-nodes.json` file must be located in the data directory (specified by [`--data-path`](../../Reference/Pantheon-CLI-Syntax.md#data-path)) -and contain a JSON array of [enode URLs](../Node-Keys.md#enode-url). +The `static-nodes.json` file must be located in the data directory (specified by [`--data-path`](../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#data-path)) +and contain a JSON array of [enode URLs](../../Concepts/Node-Keys.md#enode-url). !!! example ```json @@ -75,7 +75,7 @@ JSON-RPC API methods to monitor peer connections include: The default logging configuration does not list node connection and disconnection messages. To enable listing of node connection and disconnection messages, specify the -[`--logging`](../../Reference/Pantheon-CLI-Syntax.md#logging) command line option `--logging=DEBUG`. +[`--logging`](../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#logging) command line option `--logging=DEBUG`. For more verbosity, specify `--logging=TRACE`. The console logs connection and disconnection events when the log level is `DEBUG` or higher. @@ -86,6 +86,6 @@ If `Successfully accepted connection from ...` is displayed, connections are get ## Limiting Remote Connections -In private networks with a level of trust between peers, enabling the [remote connection limits](../../Reference/Pantheon-CLI-Syntax.md#remote-connections-limit-enabled) +In private networks with a level of trust between peers, enabling the [remote connection limits](../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#remote-connections-limit-enabled) is unnecessary and disabling may increase the speed at which nodes can join the network. diff --git a/docs/Configuring-Pantheon/Networking/Using-UPnP.md b/docs/HowTo/Find-and-Connect/Using-UPnP.md similarity index 75% rename from docs/Configuring-Pantheon/Networking/Using-UPnP.md rename to docs/HowTo/Find-and-Connect/Using-UPnP.md index 0b18202..48d7d16 100644 --- a/docs/Configuring-Pantheon/Networking/Using-UPnP.md +++ b/docs/HowTo/Find-and-Connect/Using-UPnP.md @@ -14,19 +14,19 @@ UPnP automatically detects that a node is running in a UPnP environment and prov ## Enabling UPnP -Use the [`--nat-method`](../../Reference/Pantheon-CLI-Syntax.md#nat-method) command line option to enable UPnP. +Use the [`--nat-method`](../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#nat-method) command line option to enable UPnP. !!! note Enabling UPnP may slow down node startup, especially on networks without a UPnP gateway device. When UPnP is enabled: -* [Enode](../Node-Keys.md#enode-url) advertised to other nodes during discovery is the external IP address and port. +* [Enode](../../Concepts/Node-Keys.md#enode-url) advertised to other nodes during discovery is the external IP address and port. * External address and port are returned by the [`admin_NodeInfo`](../../Reference/Pantheon-API-Methods.md#admin_nodeinfo) JSON-RPC API method for the `enode` and `listenAddr` properties. While Pantheon is running, UPnP does not support: * IP address changes -* Disabling UPnP. To disable UPnP, restart the node without the [`--nat-method`](../../Reference/Pantheon-CLI-Syntax.md#nat-method) +* Disabling UPnP. To disable UPnP, restart the node without the [`--nat-method`](../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#nat-method) option or set to `NONE`. \ No newline at end of file diff --git a/docs/Installation/Build-From-Source.md b/docs/HowTo/Get-Started/Build-From-Source.md similarity index 96% rename from docs/Installation/Build-From-Source.md rename to docs/HowTo/Get-Started/Build-From-Source.md index 216399c..cdf1ea4 100644 --- a/docs/Installation/Build-From-Source.md +++ b/docs/HowTo/Get-Started/Build-From-Source.md @@ -63,7 +63,7 @@ bin/pantheon --help maximum number of open files allowed using `ulimit`. If the open files limit is not high enough, a `Too many open files` RocksDB exception occurs. -Continue with [Starting Pantheon](../Getting-Started/Starting-Pantheon.md). +Continue with [Starting Pantheon](Starting-Pantheon.md). ## Installation on Windows @@ -117,7 +117,7 @@ cd pantheon- bin\pantheon --help ``` -Continue with [Starting Pantheon](../Getting-Started/Starting-Pantheon.md). +Continue with [Starting Pantheon](Starting-Pantheon.md). ## Installation on VM diff --git a/docs/Installation/Install-Binaries.md b/docs/HowTo/Get-Started/Install-Binaries.md similarity index 100% rename from docs/Installation/Install-Binaries.md rename to docs/HowTo/Get-Started/Install-Binaries.md diff --git a/docs/HowTo/Get-Started/Migration-Docker.md b/docs/HowTo/Get-Started/Migration-Docker.md new file mode 100644 index 0000000..9386480 --- /dev/null +++ b/docs/HowTo/Get-Started/Migration-Docker.md @@ -0,0 +1,56 @@ +description: Migrating from pre v1.2 Docker image to v1.2 Docker image + + +# Migrating from pre-1.2 Docker Image to 1.2+ + +## Before v1.2 + +The Pantheon Docker image had an entry-script that automatically added a number of options +to the Pantheon command line. The options could not be set using command line arguments. + +The options automatically added to the Pantheon command line for the Pantheon Docker image before v1.2 were: + +* If the file existed: + + - [`--config-file /etc/pantheon/pantheon.conf`](../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#config-file) + - [`--genesis-file /etc/pantheon/genesis.json`](../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#genesis-file) + - [`--rpc-http-authentication-credentials-file /etc/pantheon/rpc_http_auth_config.toml`](../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#rpc-http-authentication-credentials-file) + - [`--rpc-ws-authentication-credentials-file /etc/pantheon/rpc_ws_auth_config.toml`](../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#rpc-ws-authentication-credentials-file) + - [`--privacy-public-key-file /etc/pantheon/privacy_public_key`](../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#privacy-public-key-file) + - [`--permissions-nodes-config-file /etc/pantheon/permissions_config.toml`](../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#permissions-nodes-config-file) + - [`--permissions-accounts-config-file /etc/pantheon/permissions_config.toml`](../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#permissions-accounts-config-file) + +* [`--data-path /var/lib/pantheon`](../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#data-path) +* [`--rpc-http-host=0.0.0.0`](../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#rpc-http-host) +* [`--rpc-http-port=8545`](../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#rpc-http-port) +* [`--rpc-ws-host=0.0.0.0`](../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#rpc-ws-host) +* [`--rpc-ws-port=8546`](../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#rpc-ws-port) +* [`--p2p-host=0.0.0.0`](../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#p2p-host) +* [`--p2p-port=30303`](../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#p2p-port) + +The [`--node-private-key-file`](../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#node-private-key-file) command line option +was not available and the node key was always read from the data path. + +## From v1.2 + +All file options (for example, [`--config-file`](../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#config-file)) no longer +have a default. Add the relevant command line options to your Pantheon command line and specify the file path. + +The [`--data-path`](../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#data-path) default is now `/opt/pantheon`. + +The [`--node-private-key-file`](../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#node-private-key-file) default is +now `/opt/pantheon/key`. + +!!! important + Do not mount a volume at the default data path (`/opt/pantheon`). Mounting a volume at the default + data path path interferes with the operation of Pantheon and prevents Pantheon from safely launching. + + To run a node that maintains the node state (key and database), [`--data-path` must be set to a location + other than `/opt/pantheon` and a storage volume mounted at that location](Run-Docker-Image.md#starting-pantheon). + +The host and port options continue to default to the previously set values. + +!!! tip + All command line options can be set using [environment variables](../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#pantheon-environment-variables). + + diff --git a/docs/Getting-Started/Run-Docker-Image.md b/docs/HowTo/Get-Started/Run-Docker-Image.md similarity index 86% rename from docs/Getting-Started/Run-Docker-Image.md rename to docs/HowTo/Get-Started/Run-Docker-Image.md index 90461f8..7a011ac 100644 --- a/docs/Getting-Started/Run-Docker-Image.md +++ b/docs/HowTo/Get-Started/Run-Docker-Image.md @@ -34,10 +34,10 @@ docker run pegasyseng/pantheon:{{ versions.pantheon_stable }} ## Exposing Ports Expose ports for P2P peer discovery, GraphQL, metrics, and HTTP and WebSockets JSON-RPC. Exposing the ports is required to use the -default ports or the ports specified using [`--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), [`--graphql-http-port`](../Reference/Pantheon-CLI-Syntax.md#graphql-http-port), -and [`--metrics-push-port`](../Reference/Pantheon-CLI-Syntax.md#metrics-push-port) options. +default ports or the ports specified using [`--rpc-http-port`](../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#rpc-http-port), +[`--p2p-port`](../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#p2p-port), [`--rpc-ws-port`](../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#rpc-ws-port), +[`--metrics-port`](../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#metrics-port), [`--graphql-http-port`](../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#graphql-http-port), +and [`--metrics-push-port`](../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#metrics-push-port) options. To run Pantheon exposing local ports for access: ```bash diff --git a/docs/Getting-Started/Starting-Pantheon.md b/docs/HowTo/Get-Started/Starting-Pantheon.md similarity index 82% rename from docs/Getting-Started/Starting-Pantheon.md rename to docs/HowTo/Get-Started/Starting-Pantheon.md index 5878cdb..eebe8e9 100644 --- a/docs/Getting-Started/Starting-Pantheon.md +++ b/docs/HowTo/Get-Started/Starting-Pantheon.md @@ -3,17 +3,17 @@ description: Starting Pantheon # Starting Pantheon -Pantheon nodes can be used for varying purposes as described in the [Overview](../index.md). +Pantheon nodes can be used for varying purposes as described in the [Overview](../../index.md). Nodes can connect to the Ethereum mainnet, public testnets such as Ropsten, or private networks. ## Prerequisites -[Pantheon Installed](../Installation/Overview.md) +[Pantheon Installed](Install-Binaries.md) ## 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 [`--data-path`](../Reference/Pantheon-CLI-Syntax.md#data-path) option to specify a different data directory. +or use the [`--data-path`](../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#data-path) option to specify a different data directory. To delete the local block data, delete the `database` directory in the `pantheon/build/distribution/pantheon-` directory. @@ -22,19 +22,19 @@ To delete the local block data, delete the `database` directory in the `pantheon Pantheon specifies the genesis configuration, and sets the network ID and bootnodes when connecting to [Mainnet](#run-a-node-on-ethereum-mainnet), [Goerli](#run-a-node-on-goerli-testnet), [Rinkeby](#run-a-node-on-rinkeby-testnet), and [Ropsten](#run-a-node-on-ropsten-testnet). -When [`--network=dev`](../Reference/Pantheon-CLI-Syntax.md#network) is specified, Pantheon uses the +When [`--network=dev`](../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#network) is specified, Pantheon uses the development mode genesis configuration with a fixed low difficulty. -A node started with [`--network=dev`](../Reference/Pantheon-CLI-Syntax.md#network) has an empty bootnodes list by default. +A node started with [`--network=dev`](../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#network) has an empty bootnodes list by default. The genesis files defining the genesis configurations are in the [Pantheon source files](https://github.com/PegaSysEng/pantheon/tree/master/config/src/main/resources). To define a genesis configuration, create a genesis file (for example, `genesis.json`) and specify the file -using the [`--genesis-file`](../Reference/Pantheon-CLI-Syntax.md#genesis-file) option. +using the [`--genesis-file`](../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#genesis-file) option. ## Confirm Node is Running -If you have started Pantheon with the [`--rpc-http-enabled`](../Reference/Pantheon-CLI-Syntax.md#rpc-http-enabled) option, use [cURL](https://curl.haxx.se/) to -call [JSON-RPC API methods](../Reference/Pantheon-API-Methods.md) to confirm the node is running. +If you have started Pantheon with the [`--rpc-http-enabled`](../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#rpc-http-enabled) option, use [cURL](https://curl.haxx.se/) to +call [JSON-RPC API methods](../../Reference/Pantheon-API-Methods.md) to confirm the node is running. !!!example @@ -72,7 +72,7 @@ To run a node that mines blocks at a rate suitable for testing purposes: pantheon --network=dev --miner-enabled --miner-coinbase=0xfe3b557e8fb62b89f4916b721be55ceb828dbd73 --rpc-http-cors-origins="all" --host-whitelist="*" --rpc-ws-enabled --rpc-http-enabled --data-path=/tmp/tmpDatdir ``` -Alternatively, use the following [configuration file](../Configuring-Pantheon/Using-Configuration-File.md) +Alternatively, use the following [configuration file](../Configure-Pantheon/Using-Configuration-File.md) on the command line to start a node with the same options as above: ```toml network="dev" diff --git a/docs/Installation/System-Requirements.md b/docs/HowTo/Get-Started/System-Requirements.md similarity index 81% rename from docs/Installation/System-Requirements.md rename to docs/HowTo/Get-Started/System-Requirements.md index b746d11..458ec44 100644 --- a/docs/Installation/System-Requirements.md +++ b/docs/HowTo/Get-Started/System-Requirements.md @@ -9,8 +9,8 @@ The system requirements for Pantheon depend on a number of factors: * Size of the world state for the network * Number of transactions submitted to network * Block gas limit -* Number and complexity of [JSON-RPC](../Pantheon-API/Using-JSON-RPC-API.md), [PubSub](../Pantheon-API/RPC-PubSub.md), -or [GraphQL](../Pantheon-API/GraphQL.md) queries being handled by the node +* Number and complexity of [JSON-RPC](../Interact/Pantheon-APIs/Using-JSON-RPC-API.md), [PubSub](../Interact/Pantheon-APIs/RPC-PubSub.md), +or [GraphQL](../Interact/Pantheon-APIs/GraphQL.md) queries being handled by the node ## Determining System Requirements diff --git a/docs/Privacy/How-To/eeajs.md b/docs/HowTo/Interact/Client-Libraries/eeajs.md similarity index 82% rename from docs/Privacy/How-To/eeajs.md rename to docs/HowTo/Interact/Client-Libraries/eeajs.md index fddf7a1..683a9ca 100644 --- a/docs/Privacy/How-To/eeajs.md +++ b/docs/HowTo/Interact/Client-Libraries/eeajs.md @@ -25,9 +25,9 @@ npm install web3-eea Initilize your EEA client where: * `` is the JSON-RPC HTTP endpoint of your Pantheon node. Specified by the -[`--rpc-http-host`](../../Reference/Pantheon-CLI-Syntax.md#rpc-http-host) and [`--rpc-http-port`](../../Reference/Pantheon-CLI-Syntax.md#rpc-http-port) +[`--rpc-http-host`](../../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#rpc-http-host) and [`--rpc-http-port`](../../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#rpc-http-port) command line options. -* `` is the [chain ID](../../Configuring-Pantheon/NetworkID-And-ChainID.md) of your network. +* `` is the [chain ID](../../../Concepts/NetworkID-And-ChainID.md) of your network. !!! example ```js tab="Syntax" @@ -60,4 +60,4 @@ The transaction hash is returned. To get the private transaction receipt, use `w ## web3.js-eea Methods -Refer to the [web3.js-eea reference documentation](../../Reference/web3js-eea-Methods.md). +Refer to the [web3.js-eea reference documentation](../../../Reference/web3js-eea-Methods.md). diff --git a/docs/Using-Pantheon/Accessing-Logs-Using-JSON-RPC.md b/docs/HowTo/Interact/Filters/Accessing-Logs-Using-JSON-RPC.md similarity index 72% rename from docs/Using-Pantheon/Accessing-Logs-Using-JSON-RPC.md rename to docs/HowTo/Interact/Filters/Accessing-Logs-Using-JSON-RPC.md index 30d5bf6..c1d7be5 100644 --- a/docs/Using-Pantheon/Accessing-Logs-Using-JSON-RPC.md +++ b/docs/HowTo/Interact/Filters/Accessing-Logs-Using-JSON-RPC.md @@ -2,23 +2,23 @@ Access logs using Pantheon API methods: -* [`eth_getFilterChanges`](../Reference/Pantheon-API-Methods.md#eth_getfilterchanges) -* [`eth_getFilterLogs`](../Reference/Pantheon-API-Methods.md#eth_getfilterlogs) -* [`eth_getLogs`](../Reference/Pantheon-API-Methods.md#eth_getlogs) +* [`eth_getFilterChanges`](../../../Reference/Pantheon-API-Methods.md#eth_getfilterchanges) +* [`eth_getFilterLogs`](../../../Reference/Pantheon-API-Methods.md#eth_getfilterlogs) +* [`eth_getLogs`](../../../Reference/Pantheon-API-Methods.md#eth_getlogs) -Use [`eth_newFilter`](../Reference/Pantheon-API-Methods.md#eth_newfilter) to create the filter before -using [`eth_getFilterChanges`](../Reference/Pantheon-API-Methods.md#eth_getfilterchanges) and [`eth_getFilterLogs`](../Reference/Pantheon-API-Methods.md#eth_getfilterlogs)). +Use [`eth_newFilter`](../../../Reference/Pantheon-API-Methods.md#eth_newfilter) to create the filter before +using [`eth_getFilterChanges`](../../../Reference/Pantheon-API-Methods.md#eth_getfilterchanges) and [`eth_getFilterLogs`](../../../Reference/Pantheon-API-Methods.md#eth_getfilterlogs)). !!! note - The following examples are created using the sample contract included in [Events and Logs](Events-and-Logs.md). + The following examples are created using the sample contract included in [Events and Logs](../../../Concepts/Events-and-Logs.md). ## Creating a Filter -Create a filter using [`eth_newFilter`](../Reference/Pantheon-API-Methods.md#eth_newfilter). +Create a filter using [`eth_newFilter`](../../../Reference/Pantheon-API-Methods.md#eth_newfilter). !!! example - If the [example contract](Events-and-Logs.md#example) was deployed to 0x42699a7612a82f1d9c36148af9c77354759b210b, the + If the [example contract](../../../Concepts/Events-and-Logs.md#example) was deployed to 0x42699a7612a82f1d9c36148af9c77354759b210b, the following request for `eth_newFilter` creates a filter to log when `valueIndexed` is set to 5: ```json @@ -40,18 +40,18 @@ Create a filter using [`eth_newFilter`](../Reference/Pantheon-API-Methods.md#eth } ``` -[`eth_newFilter`](../Reference/Pantheon-API-Methods.md#eth_newfilter) returns a filter ID hash (for example, `0x1ddf0c00989044e9b41cc0ae40272df3`). +[`eth_newFilter`](../../../Reference/Pantheon-API-Methods.md#eth_newfilter) returns a filter ID hash (for example, `0x1ddf0c00989044e9b41cc0ae40272df3`). ### Polling Filter for Changes -To poll the filter for changes that have occurred since the last poll, use [`eth_getFilterChanges`](../Reference/Pantheon-API-Methods.md#eth_getfilterchanges) -with the filter ID hash returned by [`eth_newFilter`](../Reference/Pantheon-API-Methods.md#eth_newfilter). +To poll the filter for changes that have occurred since the last poll, use [`eth_getFilterChanges`](../../../Reference/Pantheon-API-Methods.md#eth_getfilterchanges) +with the filter ID hash returned by [`eth_newFilter`](../../../Reference/Pantheon-API-Methods.md#eth_newfilter). !!! example If the contract had been executed twice since the last poll, with `valueIndexed` set to 1 and 5, - [`eth_getFilterChanges`](../Reference/Pantheon-API-Methods.md#eth_getfilterchanges) returns - only the log where the [topic](Events-and-Logs.md#event-parameters) for `valueIndexed` is 5: + [`eth_getFilterChanges`](../../../Reference/Pantheon-API-Methods.md#eth_getfilterchanges) returns + only the log where the [topic](../../../Concepts/Events-and-Logs.md#event-parameters) for `valueIndexed` is 5: ```json { @@ -78,7 +78,7 @@ with the filter ID hash returned by [`eth_newFilter`](../Reference/Pantheon-API- ### Getting All Logs for a Filter -To get all logs for a filter, use [`eth_getFilterLogs`](../Reference/Pantheon-API-Methods.md#eth_getfilterlogs). +To get all logs for a filter, use [`eth_getFilterLogs`](../../../Reference/Pantheon-API-Methods.md#eth_getfilterlogs). !!! example @@ -124,16 +124,16 @@ To get all logs for a filter, use [`eth_getFilterLogs`](../Reference/Pantheon-AP !!! tip You can use [`eth_getLogs`](#getting-logs-using-a-filter-options-object) with a filter options object - to get all logs matching the filter options instead of using [`eth_newFilter`](../Reference/Pantheon-API-Methods.md#eth_newfilter) - followed by [`eth_getFilterLogs`](../Reference/Pantheon-API-Methods.md#eth_getfilterlogs). + to get all logs matching the filter options instead of using [`eth_newFilter`](../../../Reference/Pantheon-API-Methods.md#eth_newfilter) + followed by [`eth_getFilterLogs`](../../../Reference/Pantheon-API-Methods.md#eth_getfilterlogs). ## Uninstalling a Filter -When you are finished using a filter, use [`eth_uninstallFilter`](../Reference/Pantheon-API-Methods.md#eth_uninstallfilter) to remove the filter. +When you are finished using a filter, use [`eth_uninstallFilter`](../../../Reference/Pantheon-API-Methods.md#eth_uninstallfilter) to remove the filter. ## Getting Logs Using a Filter Options Object -To get all logs for a filter options object, use [`eth_getLogs`](../Reference/Pantheon-API-Methods.md#eth_getlogs). +To get all logs for a filter options object, use [`eth_getLogs`](../../../Reference/Pantheon-API-Methods.md#eth_getlogs). !!! example diff --git a/docs/Pantheon-API/Authentication.md b/docs/HowTo/Interact/Pantheon-APIs/Authentication.md similarity index 87% rename from docs/Pantheon-API/Authentication.md rename to docs/HowTo/Interact/Pantheon-APIs/Authentication.md index 064153f..9456b38 100644 --- a/docs/Pantheon-API/Authentication.md +++ b/docs/HowTo/Interact/Pantheon-APIs/Authentication.md @@ -28,7 +28,7 @@ The credentials file is a `toml` file defining user details and the JSON-RPC met Each user requiring JSON-RPC access is listed with: * Username. `Users.` is mandatory and followed by the username. That is, replace `` in `[Users.]` with the username being defined. -* Hash of the user password. Use the [`password hash`](../Reference/Pantheon-CLI-Subcommands.md#password) subcommand to generate the hash. +* Hash of the user password. Use the [`password hash`](../../../Reference/Pantheon-CLI/Pantheon-CLI-Subcommands.md#password) subcommand to generate the hash. * JSON-RPC permissions. !!! example "password hash Subcommand" @@ -50,12 +50,12 @@ methods. ## Enabling Authentication -Use the [` --rpc-http-authentication-enabled`](../Reference/Pantheon-CLI-Syntax.md#rpc-http-authentication-enabled) or - [`--rpc-ws-authentication-enabled`](../Reference/Pantheon-CLI-Syntax.md#rpc-ws-authentication-enabled) +Use the [` --rpc-http-authentication-enabled`](../../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#rpc-http-authentication-enabled) or + [`--rpc-ws-authentication-enabled`](../../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#rpc-ws-authentication-enabled) options to require authentication for the JSON-RPC API. -Use the [`--rpc-http-authentication-credentials-file`](../Reference/Pantheon-CLI-Syntax.md#rpc-http-authentication-credentials-file) -and [`--rpc-ws-authentication-credentials-file`](../Reference/Pantheon-CLI-Syntax.md#rpc-ws-authentication-credentials-file) +Use the [`--rpc-http-authentication-credentials-file`](../../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#rpc-http-authentication-credentials-file) +and [`--rpc-ws-authentication-credentials-file`](../../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#rpc-ws-authentication-credentials-file) options to specify the [credentials file](#credentials-file). ## Obtaining an Authentication Token diff --git a/docs/Pantheon-API/GraphQL.md b/docs/HowTo/Interact/Pantheon-APIs/GraphQL.md similarity index 87% rename from docs/Pantheon-API/GraphQL.md rename to docs/HowTo/Interact/Pantheon-APIs/GraphQL.md index 62377db..410481d 100644 --- a/docs/Pantheon-API/GraphQL.md +++ b/docs/HowTo/Interact/Pantheon-APIs/GraphQL.md @@ -7,18 +7,18 @@ GraphQL can reduce the overhead needed for common queries. For example, instead block, GraphQL can obtain the same result with a single query for the entire block. The GraphQL implementation for Ethereum is described in the [schema](https://github.com/PegaSysEng/pantheon/blob/master/ethereum/graphql/src/main/resources/schema.graphqls). -The GraphQL service is enabled using the [command line options](../Pantheon-API#enabling-api-access). +The GraphQL service is enabled using the [command line options](../../../Pantheon-API#enabling-api-access). !!! note GraphQL is not supported over WebSockets. ## GraphQL Requests with Curl -[Pantheon JSON-RPC API methods](../Reference/Pantheon-API-Methods.md) with an equivalent [GraphQL](../Pantheon-API/GraphQL.md) +[Pantheon JSON-RPC API methods](../../../Reference/Pantheon-API-Methods.md) with an equivalent [GraphQL](GraphQL.md) query include a GraphQL request and result in the method example. !!! example - The following [`syncing`](../Reference/Pantheon-API-Methods.md#eth_syncing) request returns data about the synchronization status. + The following [`syncing`](../../../Reference/Pantheon-API-Methods.md#eth_syncing) request returns data about the synchronization status. ```bash curl -X POST -H "Content-Type: application/json" --data '{ "query": "{syncing{startingBlock currentBlock highestBlock}}"}' http://localhost:8547/graphql ``` @@ -28,7 +28,7 @@ query include a GraphQL request and result in the method example. The third-party tool [GraphiQL](https://github.com/skevy/graphiql-app) provides a tabbed interface for editing and testing GraphQL queries and mutations. GraphiQL also provides access the Pantheon GraphQL schema from within the app. -![GraphiQL](../images/GraphiQL.png) +![GraphiQL](../../../images/GraphiQL.png) ## Pending diff --git a/docs/HowTo/Interact/Pantheon-APIs/Pantheon-API.md b/docs/HowTo/Interact/Pantheon-APIs/Pantheon-API.md new file mode 100644 index 0000000..fae0634 --- /dev/null +++ b/docs/HowTo/Interact/Pantheon-APIs/Pantheon-API.md @@ -0,0 +1,72 @@ +description: Pantheon API + + +Access the [Pantheon API](../../../Reference/Pantheon-API-Methods.md) using: + +* [JSON-RPC over HTTP or WebSockets](Using-JSON-RPC-API.md) +* [RPC Pub/Sub over WebSockets](RPC-PubSub.md) +* [GraphQL over HTTP](GraphQL.md) + +Information applying to JSON-RPC, RPC Pub/Sub, and GraphQL is included below. + +## Enabling API Access + +Use the [`--rpc-http-enabled`](../../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#rpc-http-enabled), [`--ws-http-enabled`](../../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#rpc-ws-enabled), +and [`--graphql-http-enabled`](../../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#graphql-http-enabled) options to enable API access. + +## Service Hosts + +Use the [`--rpc-http-host`](../../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#rpc-http-host), [`--rpc-ws-host`](../../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#rpc-ws-host), +and [`--graphql-http-host`](../../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#graphql-http-host) options to specify the host on which the API service listens. +The default host is 127.0.0.1. + +Set the host to `0.0.0.0` to allow remote connections. + +!!! caution + Setting the host to 0.0.0.0 exposes the API service connection on your node to any remote connection. In a + production environment, ensure you use a firewall to avoid exposing your node to the internet. + +## Service Ports + +Use the [`--rpc-http-port`](../../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#rpc-http-port), [`--rpc-ws-port`](../../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#rpc-ws-port), +and [`--graphql-http-port`](../../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#graphql-http-port) options to specify the port on which the API service listens. + +The default ports are: + +* 8545 for JSON-RPC over HTTP +* 8546 for JSON-RPC over WebSockets +* 8547 for GraphQL over HTTP + +Ports must be [exposed appropriately](../../Find-and-Connect/Managing-Peers.md#port-configuration). + +## Host Whitelist + +To prevent DNS rebinding, incoming HTTP requests, WebSockets connections, and GraphQL requests are only accepted from hostnames +specified using the [`--host-whitelist`](../../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#host-whitelist) option. +By default, `localhost` and `127.0.0.1` are accepted. + +If your application publishes RPC ports, specify the hostnames when starting Pantheon. + +!!! example + ```bash + pantheon --host-whitelist=example.com + ``` + +Specify "*" for `--host-whitelist` to effectively disable host protection. + +!!! caution + Specifying "*" for `--host-whitelist` is not recommended for production code. + +## Not Supported by Pantheon + +### Account Management + +Account management relies on private key management in the client which is not implemented by Pantheon. + +Use [`eth_sendRawTransaction`](../../../Reference/Pantheon-API-Methods.md#eth_sendrawtransaction) to send signed transactions; `eth_sendTransaction` is not implemented. + +Use third-party wallets for [account management](../../Send-Transactions/Account-Management.md). + +### Protocols + +Pantheon does not implement the Whisper and Swarm protocols. \ No newline at end of file diff --git a/docs/Pantheon-API/RPC-PubSub.md b/docs/HowTo/Interact/Pantheon-APIs/RPC-PubSub.md similarity index 94% rename from docs/Pantheon-API/RPC-PubSub.md rename to docs/HowTo/Interact/Pantheon-APIs/RPC-PubSub.md index 126acef..e1fef09 100644 --- a/docs/Pantheon-API/RPC-PubSub.md +++ b/docs/HowTo/Interact/Pantheon-APIs/RPC-PubSub.md @@ -14,13 +14,13 @@ Methods specific to RPC Pub/Sub are: * `eth_unsubscribe` - cancel a subscription. !!!important - Unlike other [Pantheon API methods](../Reference/Pantheon-API-Methods.md), - the RPC Pub/Sub methods cannot be called over HTTP. Use the [`--rpc-ws-enabled`](../Reference/Pantheon-CLI-Syntax.md#rpc-ws-enabled) option to enable + Unlike other [Pantheon API methods](../../../Reference/Pantheon-API-Methods.md), + the RPC Pub/Sub methods cannot be called over HTTP. Use the [`--rpc-ws-enabled`](../../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#rpc-ws-enabled) option to enable the WebSockets JSON-RPC service. ### Using RPC Pub/Sub -The RPC Pub/Sub API is supported on [WebSockets](../Pantheon-API/Using-JSON-RPC-API.md#http-and-websocket-requests). +The RPC Pub/Sub API is supported on [WebSockets](Using-JSON-RPC-API.md#http-and-websocket-requests). Use `eth_subscribe` to create subscriptions. Once subscribed, notifications are published by the API using `eth_subscription`. @@ -70,8 +70,8 @@ Use the `newHeads` parameter with `eth_subscribe` to be notified each time a blo If a chain reorganization occurs, the subscription publishes notifications for blocks in the new chain. This means the subscription can publish notifications for multiple blocks at the same height on the blockchain. -The new headers notification returns [block objects](../Reference/Pantheon-API-Objects.md#block-object). The -second parameter is optional. If specified, whole [transaction objects](../Reference/Pantheon-API-Objects.md#transaction-object) +The new headers notification returns [block objects](../../../Reference/Pantheon-API-Objects.md#block-object). The +second parameter is optional. If specified, whole [transaction objects](../../../Reference/Pantheon-API-Objects.md#transaction-object) are included in the notifications. Otherwise, the transaction hashes are included. !!!example @@ -152,19 +152,19 @@ are included in the notifications. Otherwise, the transaction hashes are include ### Logs -Use the `logs` parameter with `eth_subscribe` to be notified of [logs](../Using-Pantheon/Events-and-Logs.md) included in new blocks. You can +Use the `logs` parameter with `eth_subscribe` to be notified of [logs](../../../Concepts/Events-and-Logs.md) included in new blocks. You can specify a filter object to receive notifications only for logs matching your filter. Logs subscriptions have an filter object parameter with the following fields: - `address` - (optional) Either an address or an array of addresses. Returns only logs created from these addresses. - - `topics` - (optional) Returns only logs that match the [specified topics](../Using-Pantheon/Events-and-Logs.md#topic-filters). + - `topics` - (optional) Returns only logs that match the [specified topics](../../../Concepts/Events-and-Logs.md#topic-filters). If a chain reorganization occurs, the subscription publishes notifications for logs from the old chain -with the `removed` property in the [log object](../Reference/Pantheon-API-Objects.md#log-object) set to `true`. +with the `removed` property in the [log object](../../../Reference/Pantheon-API-Objects.md#log-object) set to `true`. This means the subscription can publish notifications for multiple logs for the same transaction. -The logs subscription returns [log objects](../Reference/Pantheon-API-Objects.md#log-object). +The logs subscription returns [log objects](../../../Reference/Pantheon-API-Objects.md#log-object). !!!example To subscribe to all logs notifications: diff --git a/docs/Pantheon-API/Using-JSON-RPC-API.md b/docs/HowTo/Interact/Pantheon-APIs/Using-JSON-RPC-API.md similarity index 77% rename from docs/Pantheon-API/Using-JSON-RPC-API.md rename to docs/HowTo/Interact/Pantheon-APIs/Using-JSON-RPC-API.md index a1a7aad..96153e9 100644 --- a/docs/Pantheon-API/Using-JSON-RPC-API.md +++ b/docs/HowTo/Interact/Pantheon-APIs/Using-JSON-RPC-API.md @@ -3,8 +3,8 @@ description: How to access the Pantheon API using JSON-RPC # JSON-RPC over HTTP and WebSockets -To enable JSON-RPC over HTTP or WebSockets, use the [`--rpc-http-enabled`](../Reference/Pantheon-CLI-Syntax.md#rpc-http-enabled) -and [`--rpc-ws-enabled`](../Reference/Pantheon-CLI-Syntax.md#rpc-ws-enabled) options. +To enable JSON-RPC over HTTP or WebSockets, use the [`--rpc-http-enabled`](../../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#rpc-http-enabled) +and [`--rpc-ws-enabled`](../../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#rpc-ws-enabled) options. {!global/Postman.md!} @@ -15,16 +15,16 @@ Pantheon directly in the console. To use the geth console with Pantheon: -1. Start Pantheon with the [`--rpc-http-enabled`](../Reference/Pantheon-CLI-Syntax.md#rpc-http-enabled) option. +1. Start Pantheon with the [`--rpc-http-enabled`](../../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#rpc-http-enabled) option. -1. Specify which APIs to enable using the [`--rpc-http-api`](../Reference/Pantheon-CLI-Syntax.md#rpc-http-api) option. +1. Specify which APIs to enable using the [`--rpc-http-api`](../../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#rpc-http-api) option. 1. Start the geth console specifying the JSON-RPC endpoint: ```bash geth attach http://localhost:8545 ``` -Use the geth console to call [JSON-RPC API methods](../Reference/Pantheon-API-Methods.md) that geth and Pantheon share. +Use the geth console to call [JSON-RPC API methods](../../../Reference/Pantheon-API-Methods.md) that geth and Pantheon share. !!! example ```bash @@ -72,7 +72,7 @@ Pantheon provides readiness and liveness endpoints to confirm the Pantheon node `200 OK` status when ready or live and a `503 Service Unavailable` status if not ready or live. By default, the readiness check requires a peer to be connected and the node to be within 2 blocks of the best -known block. If [p2p communication is disabled](../Reference/Pantheon-CLI-Syntax.md#p2p-enabled), +known block. If [p2p communication is disabled](../../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#p2p-enabled), no peers are required. A live node with p2p disabled is always ready. Use the query parameters `minPeers` and `maxBlocksBehind` to adjust the number of peers required and number of blocks tolerance. @@ -103,19 +103,19 @@ curl -v 'http://localhost:8545/liveness' The `ETH`, `NET`, and `WEB3` API methods are enabled by default. -Use the [`--rpc-http-api`](../Reference/Pantheon-CLI-Syntax.md#rpc-http-api) or [`--rpc-ws-api`](../Reference/Pantheon-CLI-Syntax.md#rpc-ws-api) +Use the [`--rpc-http-api`](../../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#rpc-http-api) or [`--rpc-ws-api`](../../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#rpc-ws-api) options to enable the `ADMIN`, `CLIQUE`, `DEBUG`, `EEA`, `IBFT`, `MINER`, `PERM`, and `TXPOOL` API methods. ## Block Parameter When you make requests that might have different results depending on the block accessed, the block parameter specifies the block. -Several methods, such as [eth_getTransactionByBlockNumberAndIndex](../Reference/Pantheon-API-Methods.md#eth_gettransactionbyblocknumberandindex), have a block parameter. +Several methods, such as [eth_getTransactionByBlockNumberAndIndex](../../../Reference/Pantheon-API-Methods.md#eth_gettransactionbyblocknumberandindex), have a block parameter. The block parameter can have the following values: * `blockNumber` : `quantity` - Block number. Can be specified in hexadecimal or decimal. 0 represents the genesis block. * `earliest` : `tag` - Earliest (genesis) block. * `latest` : `tag` - Last block mined. -* `pending` : `tag` - Last block mined plus pending transactions. Use only with [eth_getTransactionCount](../Reference/Pantheon-API-Methods.md#eth_gettransactioncount). +* `pending` : `tag` - Last block mined plus pending transactions. Use only with [eth_getTransactionCount](../../../Reference/Pantheon-API-Methods.md#eth_gettransactioncount). diff --git a/docs/Permissions/Local-Permissioning.md b/docs/HowTo/Limit-Access/Local-Permissioning.md similarity index 72% rename from docs/Permissions/Local-Permissioning.md rename to docs/HowTo/Limit-Access/Local-Permissioning.md index f40fb51..b3470dd 100644 --- a/docs/Permissions/Local-Permissioning.md +++ b/docs/HowTo/Limit-Access/Local-Permissioning.md @@ -14,20 +14,20 @@ When node whitelisting is enabled, communication is restricted to only nodes in `nodes-whitelist=["enode://6f8a80d14311c39f35f516fa664deaaaa13e85b2f7493f37f6144d86991ec012937307647bd3b9a82abe2974e1407241d54947bbb39763a4cac9f77166ad92a0@192.168.0.9:4567","enode://6f8a80d14311c39f35f516fa664deaaaa13e85b2f7493f37f6144d86991ec012937307647bd3b9a82abe2974e1407241d54947bbb39763a4cac9f77166ad92a0@192.169.0.9:4568"]` Node whitelisting is at the node level. That is, each node in the network has a [permissions configuration file](#permissions-configuration-file) -file in the [data directory](../Reference/Pantheon-CLI-Syntax.md#data-path) for the node. +file in the [data directory](../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#data-path) for the node. To update the nodes whitelist when the node is running, use the JSON-RPC API methods: -* [perm_addNodesToWhitelist](../Reference/Pantheon-API-Methods.md#perm_addnodestowhitelist) -* [perm_removeNodesFromWhitelist](../Reference/Pantheon-API-Methods.md#perm_removenodesfromwhitelist) +* [perm_addNodesToWhitelist](../../Reference/Pantheon-API-Methods.md#perm_addnodestowhitelist) +* [perm_removeNodesFromWhitelist](../../Reference/Pantheon-API-Methods.md#perm_removenodesfromwhitelist) Alternatively, update the [`permissions_config.toml`](#permissions-configuration-file) file directly and use the -[`perm_reloadPermissionsFromFile`](../Reference/Pantheon-API-Methods.md#perm_reloadpermissionsfromfile) method +[`perm_reloadPermissionsFromFile`](../../Reference/Pantheon-API-Methods.md#perm_reloadpermissionsfromfile) method to update the whitelists. Updates to the permissions configuration file persist across node restarts. -To view the nodes whitelist, use the [perm_getNodesWhitelist](../Reference/Pantheon-API-Methods.md#perm_getnodeswhitelist) method. +To view the nodes whitelist, use the [perm_getNodesWhitelist](../../Reference/Pantheon-API-Methods.md#perm_getnodeswhitelist) method. !!! note Each node has a [permissions configuration file](#permissions-configuration-file) which means nodes can have different nodes whitelists. @@ -60,11 +60,11 @@ The bootnodes must be included in the nodes whitelist or Pantheon does not start ### Enabling Node Whitelisting -To enable node whitelisting, specify the [`--permissions-nodes-config-file-enabled`](../Reference/Pantheon-CLI-Syntax.md#permissions-nodes-config-file-enabled) option +To enable node whitelisting, specify the [`--permissions-nodes-config-file-enabled`](../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#permissions-nodes-config-file-enabled) option when starting Pantheon. -The `PERM` API methods are not enabled by default. Use the [`--rpc-http-api`](../Reference/Pantheon-CLI-Syntax.md#rpc-http-api) -or [`--rpc-ws-api`](../Reference/Pantheon-CLI-Syntax.md#rpc-ws-api) options to enable the `PERM` API methods. +The `PERM` API methods are not enabled by default. Use the [`--rpc-http-api`](../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#rpc-http-api) +or [`--rpc-ws-api`](../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#rpc-ws-api) options to enable the `PERM` API methods. ## Account Whitelisting @@ -75,11 +75,11 @@ A node with account permissioning accepts transactions only from accounts in the `accounts-whitelist=["0x0000000000000000000000000000000000000009"]` Account whitelisting is at the node level. That is, each node in the network has a [permisssions configuration file](#permissions-configuration-file) -in the [data directory](../Reference/Pantheon-CLI-Syntax.md#data-path) for the node. +in the [data directory](../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#data-path) for the node. Transactions are validated against the accounts whitelist at the following points: -1. Submitted by JSON-RPC API method [`eth_sendRawTransaction`](../Reference/Pantheon-API-Methods.md#eth_sendrawtransaction) +1. Submitted by JSON-RPC API method [`eth_sendRawTransaction`](../../Reference/Pantheon-API-Methods.md#eth_sendrawtransaction) 1. Received via propagation from another node 1. Added to a block by a mining node @@ -88,7 +88,7 @@ can synchronise and add blocks containing transactions from accounts that are no The diagram illustrates when local and onchain permissioning rules are applied. -![Permissioning Flow](../images/PermissioningFlow.png) +![Permissioning Flow](../../images/PermissioningFlow.png) !!! example "Example Different Account Whitelists" Node 1 Whitelist = [Account A, Account B] @@ -111,43 +111,43 @@ The diagram illustrates when local and onchain permissioning rules are applied. To update the accounts whitelist when the node is running, use the JSON-RPC API methods: -* [`perm_addAccountsToWhitelist`](../Reference/Pantheon-API-Methods.md#perm_addaccountstowhitelist) -* [`perm_removeAccountsFromWhitelist`](../Reference/Pantheon-API-Methods.md#perm_removeaccountsfromwhitelist) +* [`perm_addAccountsToWhitelist`](../../Reference/Pantheon-API-Methods.md#perm_addaccountstowhitelist) +* [`perm_removeAccountsFromWhitelist`](../../Reference/Pantheon-API-Methods.md#perm_removeaccountsfromwhitelist) Alternatively, update the [`permissions_config.toml`](#permissions-configuration-file) file directly and use the -[`perm_reloadPermissionsFromFile`](../Reference/Pantheon-API-Methods.md#perm_reloadpermissionsfromfile) method +[`perm_reloadPermissionsFromFile`](../../Reference/Pantheon-API-Methods.md#perm_reloadpermissionsfromfile) method to update the whitelists. Updates to the permissions configuration file persist across node restarts. -To view the accounts whitelist, use the [`perm_getAccountsWhitelist`](../Reference/Pantheon-API-Methods.md#perm_getaccountswhitelist) method. +To view the accounts whitelist, use the [`perm_getAccountsWhitelist`](../../Reference/Pantheon-API-Methods.md#perm_getaccountswhitelist) method. ### Enabling Account Whitelisting -To enable account whitelisting, specify the [`--permissions-accounts-config-file-enabled`](../Reference/Pantheon-CLI-Syntax.md#permissions-accounts-enabled) option +To enable account whitelisting, specify the [`--permissions-accounts-config-file-enabled`](../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#permissions-accounts-enabled) option when starting Pantheon. -The `PERM` API methods are not enabled by default. Use the [`--rpc-http-api`](../Reference/Pantheon-CLI-Syntax.md#rpc-http-api) -or [`--rpc-ws-api`](../Reference/Pantheon-CLI-Syntax.md#rpc-ws-api) options to enable the `PERM` API methods. +The `PERM` API methods are not enabled by default. Use the [`--rpc-http-api`](../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#rpc-http-api) +or [`--rpc-ws-api`](../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#rpc-ws-api) options to enable the `PERM` API methods. ## Permissions Configuration File -The permissions configuration file contains the nodes and accounts whitelists. If the [`--permissions-accounts-config-file`](../Reference/Pantheon-CLI-Syntax.md#permissions-accounts-config-file) -and [`permissions-nodes-config-file`](../Reference/Pantheon-CLI-Syntax.md#permissions-nodes-config-file) +The permissions configuration file contains the nodes and accounts whitelists. If the [`--permissions-accounts-config-file`](../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#permissions-accounts-config-file) +and [`permissions-nodes-config-file`](../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#permissions-nodes-config-file) options are not specified, the permissions configuration file must be called `permissions_config.toml` and -must be in the [data directory](../Reference/Pantheon-CLI-Syntax.md#data-path) for the node. +must be in the [data directory](../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#data-path) for the node. The accounts and nodes whitelists can be specified in the same file or in separate files for accounts and nodes. -Use the [`--permissions-accounts-config-file`](../Reference/Pantheon-CLI-Syntax.md#permissions-accounts-config-file) -and [`permissions-nodes-config-file`](../Reference/Pantheon-CLI-Syntax.md#permissions-nodes-config-file) +Use the [`--permissions-accounts-config-file`](../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#permissions-accounts-config-file) +and [`permissions-nodes-config-file`](../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#permissions-nodes-config-file) options to specify a permissions configuration file (or separate files for accounts and nodes) in any location. !!!note - The [`--permissions-accounts-config-file`](../Reference/Pantheon-CLI-Syntax.md#permissions-accounts-config-file) - and [`permissions-nodes-config-file`](../Reference/Pantheon-CLI-Syntax.md#permissions-nodes-config-file) - options are not used when running Pantheon from the [Docker image](../Getting-Started/Run-Docker-Image.md). - Use a bind mount to [specify a permissions configuration file with Docker](../Getting-Started/Run-Docker-Image.md#permissions-configuration-file). + The [`--permissions-accounts-config-file`](../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#permissions-accounts-config-file) + and [`permissions-nodes-config-file`](../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#permissions-nodes-config-file) + options are not used when running Pantheon from the [Docker image](../Get-Started/Run-Docker-Image.md). + Use a bind mount to [specify a permissions configuration file with Docker](../Get-Started/Run-Docker-Image.md#permissions-configuration-file). !!! example "Example Permissions Configuration File" ```toml diff --git a/docs/Permissions/Onchain-Permissioning/Updating-Whitelists.md b/docs/HowTo/Limit-Access/Updating-Whitelists.md similarity index 93% rename from docs/Permissions/Onchain-Permissioning/Updating-Whitelists.md rename to docs/HowTo/Limit-Access/Updating-Whitelists.md index 5877a92..c070fc7 100644 --- a/docs/Permissions/Onchain-Permissioning/Updating-Whitelists.md +++ b/docs/HowTo/Limit-Access/Updating-Whitelists.md @@ -8,7 +8,7 @@ To add a node to the nodes whitelist: 1. In the _Whitelisted Nodes_ tab of the Permissioning Management Dapp, click the _Add Whitelisted Nodes_ button. The add node window is displayed. -2. Enter the [enode URL](../../Configuring-Pantheon/Node-Keys.md#enode-url) of the node to be added and click +2. Enter the [enode URL](../../Concepts/Node-Keys.md#enode-url) of the node to be added and click the _Add Whitelisted Node_ button. To remove a node from the nodes whitelist: diff --git a/docs/Using-Pantheon/Account-Management.md b/docs/HowTo/Send-Transactions/Account-Management.md similarity index 61% rename from docs/Using-Pantheon/Account-Management.md rename to docs/HowTo/Send-Transactions/Account-Management.md index d5cea14..4ee6cfd 100644 --- a/docs/Using-Pantheon/Account-Management.md +++ b/docs/HowTo/Send-Transactions/Account-Management.md @@ -11,9 +11,9 @@ Pantheon doesn't support key management inside the client. Use: In Pantheon, you can use the JSON-RPC methods: - * [`eth_getBalance`](../Reference/Pantheon-API-Methods.md#eth_getbalance) to obtain the account balance - * [`eth_sendRawTransaction`](../Reference/Pantheon-API-Methods.md#eth_sendrawtransaction) to transfer ether or create and interact with contracts (for more information, refer to [Transactions](Transactions/Transactions.md#transactions)). - * [`eea_sendRawTransaction`](../Reference/Pantheon-API-Methods.md#eea_sendrawtransaction) to send [private transactions](../Privacy/How-To/Creating-Sending-Private-Transactions.md). + * [`eth_getBalance`](../../Reference/Pantheon-API-Methods.md#eth_getbalance) to obtain the account balance + * [`eth_sendRawTransaction`](../../Reference/Pantheon-API-Methods.md#eth_sendrawtransaction) to transfer ether or create and interact with contracts (for more information, refer to [Transactions](Transactions.md#transactions)). + * [`eea_sendRawTransaction`](../../Reference/Pantheon-API-Methods.md#eea_sendrawtransaction) to send [private transactions](Creating-Sending-Private-Transactions.md). !!! tip [EthSigner](http://docs.ethsigner.pegasys.tech/en/latest/) implements [`eth_sendTransaction`](http://docs.ethsigner.pegasys.tech/en/latest/Using-EthSigner/Using-EthSigner/#eth_sendtransaction) diff --git a/docs/Privacy/How-To/Creating-Sending-Private-Transactions.md b/docs/HowTo/Send-Transactions/Creating-Sending-Private-Transactions.md similarity index 87% rename from docs/Privacy/How-To/Creating-Sending-Private-Transactions.md rename to docs/HowTo/Send-Transactions/Creating-Sending-Private-Transactions.md index 0ad98be..b00977f 100644 --- a/docs/Privacy/How-To/Creating-Sending-Private-Transactions.md +++ b/docs/HowTo/Send-Transactions/Creating-Sending-Private-Transactions.md @@ -5,7 +5,7 @@ description: Creating and sending private transactions Create and send private transactions using: -* [web3.js-eea client library](eeajs.md) or [web3j client library](https://github.com/web3j/web3j) +* [web3.js-eea client library](../Interact/Client-Libraries/eeajs.md) or [web3j client library](https://github.com/web3j/web3j) * [`eea_sendTransaction` with EthSigner](https://docs.ethsigner.pegasys.tech/en/latest/Using-EthSigner/Using-EthSigner/) * [`eea_sendRawTransaction`](../../Reference/Pantheon-API-Methods.md#eea_sendrawtransaction) @@ -13,7 +13,7 @@ Create and send private transactions using: Private transactions either deploy contracts or call contract functions. Ether transfer transactions cannot be private. -Separate private states are maintained for each [privacy group](../Explanation/Privacy-Groups.md) so +Separate private states are maintained for each [privacy group](../../Concepts/Privacy/Privacy-Groups.md) so the account nonce for an account is specific to the privacy group. That is, the nonce for account A for privacy group ABC is different to the account nonce for account A for privacy group AB. Use [`priv_getTransactionCount`](../../Reference/Pantheon-API-Methods.md#priv_gettransactioncount) to get diff --git a/docs/Using-Pantheon/Transactions/Revert-Reason.md b/docs/HowTo/Send-Transactions/Revert-Reason.md similarity index 98% rename from docs/Using-Pantheon/Transactions/Revert-Reason.md rename to docs/HowTo/Send-Transactions/Revert-Reason.md index a793621..f110ff6 100644 --- a/docs/Using-Pantheon/Transactions/Revert-Reason.md +++ b/docs/HowTo/Send-Transactions/Revert-Reason.md @@ -27,7 +27,7 @@ information about the error is passed back to the client from the EVM. ## Enabling Revert Reason -Use the [`--revert-reason-enabled`](../../Reference/Pantheon-CLI-Syntax.md#revert-reason-enabled) command line option +Use the [`--revert-reason-enabled`](../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#revert-reason-enabled) command line option to include the revert reason in the transaction receipt in Pantheon. !!! caution diff --git a/docs/Using-Pantheon/Transactions/Transactions.md b/docs/HowTo/Send-Transactions/Transactions.md similarity index 93% rename from docs/Using-Pantheon/Transactions/Transactions.md rename to docs/HowTo/Send-Transactions/Transactions.md index d75795b..4edb2c3 100644 --- a/docs/Using-Pantheon/Transactions/Transactions.md +++ b/docs/HowTo/Send-Transactions/Transactions.md @@ -28,7 +28,7 @@ and create a smart contract. and tools such as [MyCrypto](https://mycrypto.com/) can also be used to create signed transactions. You can use the example Javascript scripts to create and send raw transactions in the private network -created by the [Private Network Quickstart](../../Tutorials/Private-Network-Quickstart.md). +created by the [Private Network Quickstart](../../Tutorials/Quickstarts/Private-Network-Quickstart.md). Update the `JSON-RPC endpoint` in the following examples to the endpoint for the private network displayed after running the `./run.sh` script. @@ -39,7 +39,7 @@ network displayed after running the `./run.sh` script. - [Node.js (version > 10)](https://nodejs.org/en/download/) - [web3.js 1.0.0 beta](https://github.com/ethereum/web3.js/) and [ethereumjs 1.3](https://github.com/ethereumjs/ethereumjs-tx). -These dependencies are defined in the included [`package.json`](scripts/package.json) file. +These dependencies are defined in the included [`package.json`](../../Using-Pantheon/Transactions/scripts/package.json) file. ### 2. Create Directory ```bash @@ -49,9 +49,9 @@ mkdir example_scripts ### 3. Copy Files Copy the following files to the `example_scripts` directory: -- [`package.json`](scripts/package.json) -- [`create_value_raw_transaction.js`](scripts/create_value_raw_transaction.js) -- [`create_contract_raw_transaction.js`](scripts/create_contract_raw_transaction.js) +- [`package.json`](../../Using-Pantheon/Transactions/scripts/package.json) +- [`create_value_raw_transaction.js`](../../Using-Pantheon/Transactions/scripts/create_value_raw_transaction.js) +- [`create_contract_raw_transaction.js`](../../Using-Pantheon/Transactions/scripts/create_contract_raw_transaction.js) ### 4. Retrieve Dependencies ```bash diff --git a/docs/Monitoring/Logging.md b/docs/HowTo/Troubleshoot/Logging.md similarity index 86% rename from docs/Monitoring/Logging.md rename to docs/HowTo/Troubleshoot/Logging.md index eabe9c6..29ccbcf 100644 --- a/docs/Monitoring/Logging.md +++ b/docs/HowTo/Troubleshoot/Logging.md @@ -15,12 +15,12 @@ Pantheon uses Log4J2 for logging. There are two methods to configure logging beh ## Basic Log Level Setting -Use the [`--logging`](../Reference/Pantheon-CLI-Syntax.md#logging) command line option to specify -the logging verbosity. The [`--logging`](../Reference/Pantheon-CLI-Syntax.md#logging) option changes +Use the [`--logging`](../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#logging) command line option to specify +the logging verbosity. The [`--logging`](../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#logging) option changes the volume of events displayed in the log. Valid log levels are `OFF`, `FATAL`, `ERROR`, `WARN`, `INFO`, `DEBUG`, `TRACE`, `ALL`. The default level is `INFO`. !!! tip - Use the [`admin_changeLogLevel`](../Reference/Pantheon-API-Methods.md#admin_changeloglevel) API method + Use the [`admin_changeLogLevel`](../../Reference/Pantheon-API-Methods.md#admin_changeloglevel) API method to change the log level while Pantheon is running. ## Advanced Custom Logging diff --git a/docs/Troubleshooting/Troubleshooting.md b/docs/HowTo/Troubleshoot/Troubleshooting.md similarity index 76% rename from docs/Troubleshooting/Troubleshooting.md rename to docs/HowTo/Troubleshoot/Troubleshooting.md index 80590b1..808e149 100644 --- a/docs/Troubleshooting/Troubleshooting.md +++ b/docs/HowTo/Troubleshoot/Troubleshooting.md @@ -8,11 +8,11 @@ If Pantheon is not working as expected, here are some things to check or try. ## Supplied Genesis Block Does Not Match Stored Chain Data If you get a `Supplied genesis block does not match stored chain data` error, use the genesis file which matches the genesis block -of the data directory or use the [`--data-path`](../Reference/Pantheon-CLI-Syntax.md#data-path) option to specify a different data directory. +of the data directory or use the [`--data-path`](../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#data-path) option to specify a different data directory. ## Host Not Authorized -If you are receiving a `Host not authorized` error when attempting to access the JSON-RPC API, ensure [`--host-whitelist`](../Reference/Pantheon-CLI-Syntax.md#host-whitelist) +If you are receiving a `Host not authorized` error when attempting to access the JSON-RPC API, ensure [`--host-whitelist`](../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#host-whitelist) includes the host from which you are sending the RPC or `*`. ## Peers Fail to Connect @@ -21,8 +21,8 @@ If nodes are not communicating, ensure the [required ports are open](https://doc If your nodes are running in AWS, check you have appropriate `SecurityGroups` to allow access to the required ports. -Check the [enode URLs](../Configuring-Pantheon/Node-Keys.md#enode-url) specified for [bootnodes](../Configuring-Pantheon/Networking/Bootnodes.md) -or [static nodes](../Configuring-Pantheon/Networking/Managing-Peers.md#static-nodes) match the enode URLs +Check the [enode URLs](../../Concepts/Node-Keys.md#enode-url) specified for [bootnodes](../Find-and-Connect/Bootnodes.md) +or [static nodes](../Find-and-Connect/Managing-Peers.md#static-nodes) match the enode URLs displayed when the remote nodes are started. ## Mining @@ -41,20 +41,20 @@ On non-mining nodes, log messages indicate blocks are being imported. 2019-05-08 20:28:31.031+10:00 | EthScheduler-Workers-0 | INFO | BlockPropagationManager | Imported #662 / 0 tx / 0 om / 0 (0.0%) gas / (0x0ead4e20123d3f1433d8dec894fcce386da4049819b24b309963ce7a8a0fcf03) in 0.000s. ``` -Use the [`eth_blockNumber`](../Reference/Pantheon-API-Methods.md#eth_blocknumber) JSON-RPC API method to confirm the +Use the [`eth_blockNumber`](../../Reference/Pantheon-API-Methods.md#eth_blocknumber) JSON-RPC API method to confirm the block number is increasing. -If blocks are not being created in [Clique](../Consensus-Protocols/Clique.md#extra-data) or [IBFT 2.0](../Consensus-Protocols/IBFT.md#extra-data) networks, +If blocks are not being created in [Clique](../Configure-Pantheon/Consensus-Protocols/Clique.md#extra-data) or [IBFT 2.0](../Configure-Pantheon/Consensus-Protocols/IBFT.md#extra-data) networks, ensure the validator addresses in the genesis file match running nodes. ## Transactions Not Being Mined -If a transaction is added to the [transaction pool](../Using-Pantheon/Transactions/Transaction-Pool.md) -and the transaction hash returned but the transaction is never being mined, check the [`--min-gas-price`](../Reference/Pantheon-CLI-Syntax.md#min-gas-price) -option on mining nodes. If the `gasPrice` on a [transaction](../Using-Pantheon/Transactions/Transactions.md) +If a transaction is added to the [transaction pool](../../Concepts/Transactions/Transaction-Pool.md) +and the transaction hash returned but the transaction is never being mined, check the [`--min-gas-price`](../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#min-gas-price) +option on mining nodes. If the `gasPrice` on a [transaction](../Send-Transactions/Transactions.md) is lower than the `min-gas-price` for the mining node, the transaction will never be mined. -In [free gas networks](../Configuring-Pantheon/FreeGas.md), [`--min-gas-price`](../Reference/Pantheon-CLI-Syntax.md#min-gas-price) must be set to 0. +In [free gas networks](../Configure-Pantheon/FreeGas.md), [`--min-gas-price`](../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#min-gas-price) must be set to 0. ## Genesis Milestone @@ -95,4 +95,4 @@ be displayed in all editors. ## Logging -Restart Pantheon with the command line option [`--logging=TRACE`](../Reference/Pantheon-CLI-Syntax.md#logging) and look at the log files. +Restart Pantheon with the command line option [`--logging=TRACE`](../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#logging) and look at the log files. diff --git a/docs/Privacy/How-To/Access-Private-Transactions.md b/docs/HowTo/Use-Privacy/Access-Private-Transactions.md similarity index 90% rename from docs/Privacy/How-To/Access-Private-Transactions.md rename to docs/HowTo/Use-Privacy/Access-Private-Transactions.md index 0299c2a..cbb94fe 100644 --- a/docs/Privacy/How-To/Access-Private-Transactions.md +++ b/docs/HowTo/Use-Privacy/Access-Private-Transactions.md @@ -3,7 +3,7 @@ description: Methods for accessing and managing private transactions and privacy # Accessing Private and Privacy Marker Transactions -A private transaction creates a [Privacy Marker Transaction](../Explanation/Private-Transaction-Processing.md) in addition to the private transaction itself. +A private transaction creates a [Privacy Marker Transaction](../../Concepts/Privacy/Private-Transaction-Processing.md) in addition to the private transaction itself. Use [`eth_getTransactionReceipt`](../../Reference/Pantheon-API-Methods.md#eth_gettransactionreceipt) to get the transaction receipt for the Privacy Maker Transaction and [`eea_getTransactionReceipt`](../../Reference/Pantheon-API-Methods.md#eea_gettransactionreceipt) to get the transaction receipt for the private transaction. diff --git a/docs/Privacy/How-To/Create-Manage-Privacy-Groups.md b/docs/HowTo/Use-Privacy/Create-Manage-Privacy-Groups.md similarity index 88% rename from docs/Privacy/How-To/Create-Manage-Privacy-Groups.md rename to docs/HowTo/Use-Privacy/Create-Manage-Privacy-Groups.md index 55004d1..d44b53e 100644 --- a/docs/Privacy/How-To/Create-Manage-Privacy-Groups.md +++ b/docs/HowTo/Use-Privacy/Create-Manage-Privacy-Groups.md @@ -8,7 +8,7 @@ Pantheon-extended privacy provides JSON-RPC API methods for creating and managin * [`priv_deletePrivacyGroup`](../../Reference/Pantheon-API-Methods.md#priv_deleteprivacygroup) !!! tip - [EEA-compliant privacy groups](../Explanation/Privacy-Groups.md) can be found and deleted using + [EEA-compliant privacy groups](../../Concepts/Privacy/Privacy-Groups.md) can be found and deleted using [`priv_findPrivacyGroup`](../../Reference/Pantheon-API-Methods.md#priv_findprivacygroup) and [`priv_deletePrivacyGroup`](../../Reference/Pantheon-API-Methods.md#priv_deleteprivacygroup) but future functionality to update group membership will only be available for privacy groups diff --git a/docs/Privacy/How-To/EEA-Compliant.md b/docs/HowTo/Use-Privacy/EEA-Compliant.md similarity index 79% rename from docs/Privacy/How-To/EEA-Compliant.md rename to docs/HowTo/Use-Privacy/EEA-Compliant.md index 6e6141d..46c3c9f 100644 --- a/docs/Privacy/How-To/EEA-Compliant.md +++ b/docs/HowTo/Use-Privacy/EEA-Compliant.md @@ -3,11 +3,11 @@ description: JSON-RPC methods to use for EEA-compliant privacy # Using EEA-compliant Privacy -When using [EEA-compliant privacy](../Explanation/Privacy-Groups.md), the group of nodes specified by `privateFrom`and `privateFor` form a privacy group and are given a unique +When using [EEA-compliant privacy](../../Concepts/Privacy/Privacy-Groups.md), the group of nodes specified by `privateFrom`and `privateFor` form a privacy group and are given a unique privacy group ID by Orion. -Enable the [`EEA` API methods](../../Reference/Pantheon-API-Methods.md#eea-methods) using the [`--rpc-http-api`](../../Reference/Pantheon-CLI-Syntax.md#rpc-http-api) -or [`--rpc-ws-api`](../../Reference/Pantheon-CLI-Syntax.md#rpc-ws-api) command line options. +Enable the [`EEA` API methods](../../Reference/Pantheon-API-Methods.md#eea-methods) using the [`--rpc-http-api`](../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#rpc-http-api) +or [`--rpc-ws-api`](../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#rpc-ws-api) command line options. Specify `privateFor` when creating the signed transaction passed as an input parameter to [`eea_sendRawTransaction`](../../Reference/Pantheon-API-Methods.md#eea_sendrawtransaction) to create an EEA-compliant private transaction. diff --git a/docs/Privacy/How-To/Pantheon-Privacy.md b/docs/HowTo/Use-Privacy/Pantheon-Privacy.md similarity index 85% rename from docs/Privacy/How-To/Pantheon-Privacy.md rename to docs/HowTo/Use-Privacy/Pantheon-Privacy.md index c1b4441..db3cf0a 100644 --- a/docs/Privacy/How-To/Pantheon-Privacy.md +++ b/docs/HowTo/Use-Privacy/Pantheon-Privacy.md @@ -4,10 +4,10 @@ description: Pantheon-extended privacy # Using Pantheon-extended Privacy Pantheon provides an extended implementation of privacy by allowing a [privacy -group to be created for a set of participants](../Explanation/Privacy-Groups.md). The privacy group ID +group to be created for a set of participants](../../Concepts/Privacy/Privacy-Groups.md). The privacy group ID must be specified when sending private transactions. -Using the [`--rpc-http-api`](../../Reference/Pantheon-CLI-Syntax.md#rpc-http-api) or [`--rpc-ws-api`](../../Reference/Pantheon-CLI-Syntax.md#rpc-ws-api) +Using the [`--rpc-http-api`](../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#rpc-http-api) or [`--rpc-ws-api`](../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#rpc-ws-api) command line options enable: * [`EEA` API methods](../../Reference/Pantheon-API-Methods.md#eea-methods) diff --git a/docs/Installation/Overview.md b/docs/Installation/Overview.md deleted file mode 100644 index c707143..0000000 --- a/docs/Installation/Overview.md +++ /dev/null @@ -1,15 +0,0 @@ -title: Installation overview -description: Overview and requirements to install Pantheon - - -# Installation Overview - -You can install Pantheon by: - -* [Installing the binary distribution](Install-Binaries.md) -* [Building from source](Build-From-Source.md) - -!!! note - To run a single node to connect the Ethereum mainnet or a public testnet, running from the [Pantheon docker image](../Getting-Started/Run-Docker-Image.md) is the fastest way to get started. - - diff --git a/docs/Pantheon-API/Pantheon-API.md b/docs/Pantheon-API/Pantheon-API.md deleted file mode 100644 index 72d9347..0000000 --- a/docs/Pantheon-API/Pantheon-API.md +++ /dev/null @@ -1,72 +0,0 @@ -description: Pantheon API - - -Access the [Pantheon API](../Reference/Pantheon-API-Methods.md) using: - -* [JSON-RPC over HTTP or WebSockets](Using-JSON-RPC-API.md) -* [RPC Pub/Sub over WebSockets](RPC-PubSub.md) -* [GraphQL over HTTP](GraphQL.md) - -Information applying to JSON-RPC, RPC Pub/Sub, and GraphQL is included below. - -## Enabling API Access - -Use the [`--rpc-http-enabled`](../Reference/Pantheon-CLI-Syntax.md#rpc-http-enabled), [`--ws-http-enabled`](../Reference/Pantheon-CLI-Syntax.md#rpc-ws-enabled), -and [`--graphql-http-enabled`](../Reference/Pantheon-CLI-Syntax.md#graphql-http-enabled) options to enable API access. - -## Service Hosts - -Use the [`--rpc-http-host`](../Reference/Pantheon-CLI-Syntax.md#rpc-http-host), [`--rpc-ws-host`](../Reference/Pantheon-CLI-Syntax.md#rpc-ws-host), -and [`--graphql-http-host`](../Reference/Pantheon-CLI-Syntax.md#graphql-http-host) options to specify the host on which the API service listens. -The default host is 127.0.0.1. - -Set the host to `0.0.0.0` to allow remote connections. - -!!! caution - Setting the host to 0.0.0.0 exposes the API service connection on your node to any remote connection. In a - production environment, ensure you use a firewall to avoid exposing your node to the internet. - -## Service Ports - -Use the [`--rpc-http-port`](../Reference/Pantheon-CLI-Syntax.md#rpc-http-port), [`--rpc-ws-port`](../Reference/Pantheon-CLI-Syntax.md#rpc-ws-port), -and [`--graphql-http-port`](../Reference/Pantheon-CLI-Syntax.md#graphql-http-port) options to specify the port on which the API service listens. - -The default ports are: - -* 8545 for JSON-RPC over HTTP -* 8546 for JSON-RPC over WebSockets -* 8547 for GraphQL over HTTP - -Ports must be [exposed appropriately](../Configuring-Pantheon/Networking/Managing-Peers.md#port-configuration). - -## Host Whitelist - -To prevent DNS rebinding, incoming HTTP requests, WebSockets connections, and GraphQL requests are only accepted from hostnames -specified using the [`--host-whitelist`](../Reference/Pantheon-CLI-Syntax.md#host-whitelist) option. -By default, `localhost` and `127.0.0.1` are accepted. - -If your application publishes RPC ports, specify the hostnames when starting Pantheon. - -!!! example - ```bash - pantheon --host-whitelist=example.com - ``` - -Specify "*" for `--host-whitelist` to effectively disable host protection. - -!!! caution - Specifying "*" for `--host-whitelist` is not recommended for production code. - -## Not Supported by Pantheon - -### Account Management - -Account management relies on private key management in the client which is not implemented by Pantheon. - -Use [`eth_sendRawTransaction`](../Reference/Pantheon-API-Methods.md#eth_sendrawtransaction) to send signed transactions; `eth_sendTransaction` is not implemented. - -Use third-party wallets for [account management](../Using-Pantheon/Account-Management.md). - -### Protocols - -Pantheon does not implement the Whisper and Swarm protocols. \ No newline at end of file diff --git a/docs/Configuring-Pantheon/Accounts-for-Testing.md b/docs/Reference/Accounts-for-Testing.md similarity index 88% rename from docs/Configuring-Pantheon/Accounts-for-Testing.md rename to docs/Reference/Accounts-for-Testing.md index a6beeaf..ea12eb1 100644 --- a/docs/Configuring-Pantheon/Accounts-for-Testing.md +++ b/docs/Reference/Accounts-for-Testing.md @@ -8,7 +8,7 @@ Alternatively, Pantheon provides predefined accounts in development mode. ## Development Mode - When you start Pantheon with the [`--network=dev`](../Reference/Pantheon-CLI-Syntax.md#network) + When you start Pantheon with the [`--network=dev`](Pantheon-CLI/Pantheon-CLI-Syntax.md#network) command line option, the `dev.json` genesis file is used by default. The `dev.json` genesis file defines the accounts below that can be used for testing. @@ -20,5 +20,5 @@ Alternatively, Pantheon provides predefined accounts in development mode. To use existing test accounts, specify the accounts and balances in a genesis file for your test network. For an example of defining accounts in the genesis file, refer to [`dev.json`](https://github.com/PegaSysEng/pantheon/blob/master/config/src/main/resources/dev.json). -Use the [`--genesis-file`](../Reference/Pantheon-CLI-Syntax.md#genesis-file) command line option to +Use the [`--genesis-file`](Pantheon-CLI/Pantheon-CLI-Syntax.md#genesis-file) command line option to start Pantheon with the genesis file defining the existing accounts. diff --git a/docs/Configuring-Pantheon/Config-Items.md b/docs/Reference/Config-Items.md similarity index 69% rename from docs/Configuring-Pantheon/Config-Items.md rename to docs/Reference/Config-Items.md index 5cc3342..000593c 100644 --- a/docs/Configuring-Pantheon/Config-Items.md +++ b/docs/Reference/Config-Items.md @@ -7,12 +7,12 @@ Network configuration items are specified in the genesis file. | Item | Description | |---------------------|-:----------------------------------------------------------------------------------------------------------------------------------------| -| Chain ID | [Chain ID for the network](NetworkID-And-ChainID.md) | +| Chain ID | [Chain ID for the network](../Concepts/NetworkID-And-ChainID.md) | | Milestone blocks | [Milestone blocks for the network](#milestone-blocks) | -| `ethash` | Specifies network uses [Ethash](../Consensus-Protocols/Overview-Consensus.md) and contains [`fixeddifficulty`](#Fixed Difficulty) | -| `clique` | Specifies network uses [Clique](../Consensus-Protocols/Clique.md) and contains [Clique configuration items](../Consensus-Protocols/Clique.md#genesis-file) | -| `ibft2` | Specifies network uses [IBFT 2.0](../Consensus-Protocols/IBFT.md) and contains [IBFT 2.0 configuration items](../Consensus-Protocols/IBFT.md#genesis-file) | -| `contractSizeLimit` | Maximum contract size in bytes. Specify in [free gas networks](FreeGas.md). Default is `24576` and the maximum size is `2147483647`. | +| `ethash` | Specifies network uses [Ethash](../Concepts/Consensus-Protocols/Overview-Consensus.md) and contains [`fixeddifficulty`](#Fixed Difficulty) | +| `clique` | Specifies network uses [Clique](../HowTo/Configure-Pantheon/Consensus-Protocols/Clique.md) and contains [Clique configuration items](../HowTo/Configure-Pantheon/Consensus-Protocols/Clique.md#genesis-file) | +| `ibft2` | Specifies network uses [IBFT 2.0](../HowTo/Configure-Pantheon/Consensus-Protocols/IBFT.md) and contains [IBFT 2.0 configuration items](../HowTo/Configure-Pantheon/Consensus-Protocols/IBFT.md#genesis-file) | +| `contractSizeLimit` | Maximum contract size in bytes. Specify in [free gas networks](../HowTo/Configure-Pantheon/FreeGas.md). Default is `24576` and the maximum size is `2147483647`. | | `evmStackSize` | Maximum stack size. Specify to increase the maximum stack size in private networks with very complex smart contracts. Default is `1024`. | diff --git a/docs/Reference/Pantheon-API-Methods.md b/docs/Reference/Pantheon-API-Methods.md index 24a5b21..60ae9bc 100644 --- a/docs/Reference/Pantheon-API-Methods.md +++ b/docs/Reference/Pantheon-API-Methods.md @@ -6,7 +6,7 @@ description: Pantheon JSON-RPC API methods reference !!! attention All JSON-RPC HTTP examples use the default host and port endpoint `http://127.0.0.1:8545`. - If using the [--rpc-http-host](../Reference/Pantheon-CLI-Syntax.md#rpc-http-host) or [--rpc-http-port](../Reference/Pantheon-CLI-Syntax.md#rpc-http-port) + If using the [--rpc-http-host](Pantheon-CLI/Pantheon-CLI-Syntax.md#rpc-http-host) or [--rpc-http-port](Pantheon-CLI/Pantheon-CLI-Syntax.md#rpc-http-port) options, update the endpoint. {!global/Postman.md!} @@ -14,23 +14,23 @@ description: Pantheon JSON-RPC API methods reference ## Admin Methods !!! note - The `ADMIN` API methods are not enabled by default for JSON-RPC. 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 `ADMIN` API methods. + The `ADMIN` API methods are not enabled by default for JSON-RPC. Use the [`--rpc-http-api`](Pantheon-CLI/Pantheon-CLI-Syntax.md#rpc-http-api) + or [`--rpc-ws-api`](Pantheon-CLI/Pantheon-CLI-Syntax.md#rpc-ws-api) options to enable the `ADMIN` API methods. ### admin_addPeer -Adds a [static node](../Configuring-Pantheon/Networking/Managing-Peers.md#static-nodes). +Adds a [static node](../HowTo/Find-and-Connect/Managing-Peers.md#static-nodes). !!! caution - If connections are timing out, ensure the node ID in the [enode URL](../Configuring-Pantheon/Node-Keys.md#enode-url) is correct. + If connections are timing out, ensure the node ID in the [enode URL](../Concepts/Node-Keys.md#enode-url) is correct. **Parameters** -`string` : [Enode URL](../Configuring-Pantheon/Node-Keys.md#enode-url) of peer to add +`string` : [Enode URL](../Concepts/Node-Keys.md#enode-url) of peer to add **Returns** -`result` : `boolean` - `true` if peer added or `false` if peer already a [static node](../Configuring-Pantheon/Networking/Managing-Peers.md#static-nodes). +`result` : `boolean` - `true` if peer added or `false` if peer already a [static node](../HowTo/Find-and-Connect/Managing-Peers.md#static-nodes). !!! example ```bash tab="curl HTTP request" @@ -55,7 +55,7 @@ Change the log level without restarting Pantheon. **Parameters** -`level` - [Log level](Pantheon-CLI-Syntax.md#logging) +`level` - [Log level](Pantheon-CLI/Pantheon-CLI-Syntax.md#logging) **Returns** @@ -93,16 +93,16 @@ None Properties of the node object are: -* `enode` - [Enode URL](../Configuring-Pantheon/Node-Keys.md#enode-url) for the node +* `enode` - [Enode URL](../Concepts/Node-Keys.md#enode-url) for the node * `listenAddr` - Host and port for the node * `name` - Client name -* `id` - [Node public key](../Configuring-Pantheon/Node-Keys.md#node-public-key) -* `ports` - Peer discovery and listening [ports](../Configuring-Pantheon/Networking/Managing-Peers.md#port-configuration) +* `id` - [Node public key](../Concepts/Node-Keys.md#node-public-key) +* `ports` - Peer discovery and listening [ports](../HowTo/Find-and-Connect/Managing-Peers.md#port-configuration) * `protocols` - List of objects containing information for each Ethereum sub-protocol !!! note If the node is running locally, the host of the `enode` and `listenAddr` are displayed as `[::]` in the result. - If [UPnP](../Configuring-Pantheon/Networking/Using-UPnP.md) is enabled, the external address is + If [UPnP](../HowTo/Find-and-Connect/Using-UPnP.md) is enabled, the external address is displayed for the `enode` and `listenAddr`. !!! example @@ -214,15 +214,15 @@ match the hex value for `port`. The remote address depends on which node initiat ### admin_removePeer -Removes a [static node](../Configuring-Pantheon/Networking/Managing-Peers.md#static-nodes). +Removes a [static node](../HowTo/Find-and-Connect/Managing-Peers.md#static-nodes). **Parameters** -`string` : [Enode URL](../Configuring-Pantheon/Node-Keys.md#enode-url) of peer to remove +`string` : [Enode URL](../Concepts/Node-Keys.md#enode-url) of peer to remove **Returns** -`result` : `boolean` - `true` if peer removed or `false` if peer not a [static node](../Configuring-Pantheon/Networking/Managing-Peers.md#static-nodes)). +`result` : `boolean` - `true` if peer removed or `false` if peer not a [static node](../HowTo/Find-and-Connect/Managing-Peers.md#static-nodes)). !!! example ```bash tab="curl HTTP request" @@ -406,7 +406,7 @@ None ### net_enode -Returns the [enode URL](../Configuring-Pantheon/Node-Keys.md#enode-url). +Returns the [enode URL](../Concepts/Node-Keys.md#enode-url). **Parameters** @@ -414,7 +414,7 @@ None **Returns** -`result` : *string* - [Enode URL](../Configuring-Pantheon/Node-Keys.md#enode-url) for the node +`result` : *string* - [Enode URL](../Concepts/Node-Keys.md#enode-url) for the node !!! example ```bash tab="curl HTTP request" @@ -478,7 +478,7 @@ None ## Eth Methods !!! note - Methods with an equivalent [GraphQL](../Pantheon-API/GraphQL.md) query include a GraphQL request and result in the method example. + Methods with an equivalent [GraphQL](../HowTo/Interact/Pantheon-APIs/GraphQL.md) query include a GraphQL request and result in the method example. The parameter and result descriptions apply to the JSON-RPC requests. The GraphQL specification is defined in the [schema](https://github.com/PegaSysEng/pantheon/blob/master/ethereum/graphql/src/main/resources/schema.graphqls). ### eth_syncing @@ -548,7 +548,7 @@ None ### eth_chainId -Returns the [chain ID](../Configuring-Pantheon/NetworkID-And-ChainID.md). +Returns the [chain ID](../Concepts/NetworkID-And-ChainID.md). **Parameters** @@ -769,7 +769,7 @@ None Returns a list of account addresses that the client owns. !!!note - This method returns an empty object because Pantheon [doesn't support key management](../Pantheon-API/Using-JSON-RPC-API.md#account-management) + This method returns an empty object because Pantheon [doesn't support key management](../HowTo/Send-Transactions/Account-Management.md) inside the client. Use [EthSigner](http://docs.ethsigner.pegasys.tech/en/latest/) with Pantheon to provide access to your key store and sign transactions. @@ -859,7 +859,7 @@ Returns the account balance of the specified address. `DATA` - 20-byte account address from which to retrieve the balance. -`QUANTITY|TAG` - Integer representing a block number or one of the string tags `latest`, `earliest`, or `pending`, as described in [Block Parameter](../Pantheon-API/Using-JSON-RPC-API.md#block-parameter). +`QUANTITY|TAG` - Integer representing a block number or one of the string tags `latest`, `earliest`, or `pending`, as described in [Block Parameter](../HowTo/Interact/Pantheon-APIs/Using-JSON-RPC-API.md#block-parameter). **Returns** @@ -914,7 +914,7 @@ Returns the value of a storage position at a specified address. `QUANTITY` - Integer index of the storage position. -`QUANTITY|TAG` - Integer representing a block number or one of the string tags `latest`, `earliest`, or `pending`, as described in [Block Parameter](../Pantheon-API/Using-JSON-RPC-API.md#block-parameter). +`QUANTITY|TAG` - Integer representing a block number or one of the string tags `latest`, `earliest`, or `pending`, as described in [Block Parameter](../HowTo/Interact/Pantheon-APIs/Using-JSON-RPC-API.md#block-parameter). **Returns** @@ -969,7 +969,7 @@ Returns the number of transactions sent from a specified address. Use the `pendi `data` - 20-byte account address. -`quantity|tag` - Integer representing a block number or one of the string tags `latest`, `earliest`, or `pending`, as described in [Block Parameter](../Pantheon-API/Using-JSON-RPC-API.md#block-parameter). +`quantity|tag` - Integer representing a block number or one of the string tags `latest`, `earliest`, or `pending`, as described in [Block Parameter](../HowTo/Interact/Pantheon-APIs/Using-JSON-RPC-API.md#block-parameter). **Returns** @@ -1071,7 +1071,7 @@ Returns the number of transactions in a block matching the specified block numbe **Parameters** -`QUANTITY|TAG` - Integer representing a block number or one of the string tags `latest`, `earliest`, or `pending`, as described in [Block Parameter](../Pantheon-API/Using-JSON-RPC-API.md#block-parameter). +`QUANTITY|TAG` - Integer representing a block number or one of the string tags `latest`, `earliest`, or `pending`, as described in [Block Parameter](../HowTo/Interact/Pantheon-APIs/Using-JSON-RPC-API.md#block-parameter). **Returns** @@ -1227,7 +1227,7 @@ Returns uncle specified by block number and index. **Parameters** -`quantity|tag` - Index of the block, or one of the string tags `latest`, `earliest`, or `pending`, as described in [Block Parameter](../Pantheon-API/Using-JSON-RPC-API.md#block-parameter). +`quantity|tag` - Index of the block, or one of the string tags `latest`, `earliest`, or `pending`, as described in [Block Parameter](../HowTo/Interact/Pantheon-APIs/Using-JSON-RPC-API.md#block-parameter). `quantity` - Index of the uncle. @@ -1369,7 +1369,7 @@ Returns the number of uncles in a block matching the specified block number. **Parameters** -`QUANTITY|TAG` - Integer representing either the 0-based index of the block within the blockchain, or one of the string tags `latest`, `earliest`, or `pending`, as described in [Block Parameter](../Pantheon-API/Using-JSON-RPC-API.md#block-parameter). +`QUANTITY|TAG` - Integer representing either the 0-based index of the block within the blockchain, or one of the string tags `latest`, `earliest`, or `pending`, as described in [Block Parameter](../HowTo/Interact/Pantheon-APIs/Using-JSON-RPC-API.md#block-parameter). **Returns** @@ -1422,7 +1422,7 @@ Returns the code of the smart contract at the specified address. Compiled smart `DATA` - 20-byte contract address. -`QUANTITY|TAG` - Integer representing a block number or one of the string tags `latest`, `earliest`, or `pending`, as described in [Block Parameter](../Pantheon-API/Using-JSON-RPC-API.md#block-parameter). +`QUANTITY|TAG` - Integer representing a block number or one of the string tags `latest`, `earliest`, or `pending`, as described in [Block Parameter](../HowTo/Interact/Pantheon-APIs/Using-JSON-RPC-API.md#block-parameter). **Returns** @@ -1469,14 +1469,14 @@ Returns the code of the smart contract at the specified address. Compiled smart ### eth_sendRawTransaction -Sends a [signed transaction](../Using-Pantheon/Transactions/Transactions.md). A transaction can send ether, deploy a contract, or interact with a contract. +Sends a [signed transaction](../HowTo/Send-Transactions/Transactions.md). A transaction can send ether, deploy a contract, or interact with a contract. -You can interact with contracts using [eth_sendRawTransaction or eth_call](../Using-Pantheon/Transactions/Transactions.md#eth_call-or-eth_sendrawtransaction). +You can interact with contracts using [eth_sendRawTransaction or eth_call](../HowTo/Send-Transactions/Transactions.md#eth_call-or-eth_sendrawtransaction). To avoid exposing your private key, create signed transactions offline and send the signed transaction data using `eth_sendRawTransaction`. !!!important - Pantheon does not implement [eth_sendTransaction](../Pantheon-API/Using-JSON-RPC-API.md#account-management). + Pantheon does not implement [eth_sendTransaction](../HowTo/Send-Transactions/Account-Management.md). [EthSigner](https://docs.ethsigner.pegasys.tech/) provides transaction signing and implements [`eth_sendTransaction`](https://docs.ethsigner.pegasys.tech/Using-EthSigner/Using-EthSigner/#eth_sendtransaction). @@ -1487,7 +1487,7 @@ To avoid exposing your private key, create signed transactions offline and send `params: ["0xf869018203e882520894f17f52151ebef6c7334fad080c5704d77216b732881bc16d674ec80000801ba02da1c48b670996dcb1f447ef9ef00b33033c48a4fe938f420bec3e56bfd24071a062e0aa78a81bf0290afbc3a9d8e9a068e6d74caa66c5e0fa8a46deaae96b0833"]` !!! note - [Creating and Sending Transactions](../Using-Pantheon/Transactions/Transactions.md) includes examples of creating signed transactions using the [web3.js](https://github.com/ethereum/web3.js/) library. + [Creating and Sending Transactions](../HowTo/Send-Transactions/Transactions.md) includes examples of creating signed transactions using the [web3.js](https://github.com/ethereum/web3.js/) library. **Returns** @@ -1532,13 +1532,13 @@ To avoid exposing your private key, create signed transactions offline and send Invokes a contract function locally and does not change the state of the blockchain. -You can interact with contracts using [eth_sendRawTransaction or eth_call](../Using-Pantheon/Transactions/Transactions.md#eth_call-or-eth_sendrawtransaction). +You can interact with contracts using [eth_sendRawTransaction or eth_call](../HowTo/Send-Transactions/Transactions.md#eth_call-or-eth_sendrawtransaction). **Parameters** *OBJECT* - [Transaction call object](Pantheon-API-Objects.md#transaction-call-object). -*QUANTITY|TAG* - Integer representing a block number or one of the string tags `latest`, `earliest`, or `pending`, as described in [Block Parameter](../Pantheon-API/Using-JSON-RPC-API.md#block-parameter). +*QUANTITY|TAG* - Integer representing a block number or one of the string tags `latest`, `earliest`, or `pending`, as described in [Block Parameter](../HowTo/Interact/Pantheon-APIs/Using-JSON-RPC-API.md#block-parameter). **Returns** @@ -1800,7 +1800,7 @@ Returns information about a block by block number. **Parameters** -`QUANTITY|TAG` - Integer representing a block number or one of the string tags `latest`, `earliest`, or `pending`, as described in [Block Parameter](../Pantheon-API/Using-JSON-RPC-API.md#block-parameter). +`QUANTITY|TAG` - Integer representing a block number or one of the string tags `latest`, `earliest`, or `pending`, as described in [Block Parameter](../HowTo/Interact/Pantheon-APIs/Using-JSON-RPC-API.md#block-parameter). `Boolean` - If `true`, returns the full [transaction objects](Pantheon-API-Objects.md#transaction-object); if `false`, returns only the hashes of the transactions. @@ -2106,7 +2106,7 @@ Returns transaction information for the specified block number and transaction i **Parameters** -`QUANTITY|TAG` - Integer representing a block number or one of the string tags `latest`, `earliest`, or `pending`, as described in [Block Parameter](../Pantheon-API/Using-JSON-RPC-API.md#block-parameter). +`QUANTITY|TAG` - Integer representing a block number or one of the string tags `latest`, `earliest`, or `pending`, as described in [Block Parameter](../HowTo/Interact/Pantheon-APIs/Using-JSON-RPC-API.md#block-parameter). `QUANTITY` - The transaction index position. @@ -2184,7 +2184,7 @@ Object - [Transaction object](Pantheon-API-Objects.md#transaction-object), or `n Returns the receipt of a transaction by transaction hash. Receipts for pending transactions are not available. -If [revert reason](../Using-Pantheon/Transactions/Revert-Reason.md) is enabled, includes available revert +If [revert reason](../HowTo/Send-Transactions/Revert-Reason.md) is enabled, includes available revert reasons in the response. **Parameters** @@ -2285,7 +2285,7 @@ reasons in the response. ### eth_newFilter -Creates a [log filter](../Using-Pantheon/Events-and-Logs.md). To poll for logs associated with the created filter, use [eth_getFilterChanges](#eth_getfilterchanges). +Creates a [log filter](../Concepts/Events-and-Logs.md). To poll for logs associated with the created filter, use [eth_getFilterChanges](#eth_getfilterchanges). **Parameters** @@ -2495,7 +2495,7 @@ Polls the specified filter and returns an array of changes that have occurred si ### eth_getFilterLogs -Returns an array of [logs](../Using-Pantheon/Events-and-Logs.md) for the specified filter. +Returns an array of [logs](../Concepts/Events-and-Logs.md) for the specified filter. !!!note `eth_getFilterLogs` is only used for filters created with `eth_newFilter`. @@ -2550,7 +2550,7 @@ Returns an array of [logs](../Using-Pantheon/Events-and-Logs.md) for the specifi ### eth_getLogs -Returns an array of [logs](../Using-Pantheon/Events-and-Logs.md) matching a specified filter object. +Returns an array of [logs](../Concepts/Events-and-Logs.md) matching a specified filter object. **Parameters** @@ -2680,12 +2680,12 @@ None ## Clique Methods !!! note - The `CLIQUE` API methods are not enabled by default for JSON-RPC. 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 `CLIQUE` API methods. + The `CLIQUE` API methods are not enabled by default for JSON-RPC. Use the [`--rpc-http-api`](Pantheon-CLI/Pantheon-CLI-Syntax.md#rpc-http-api) + or [`--rpc-ws-api`](Pantheon-CLI/Pantheon-CLI-Syntax.md#rpc-ws-api) options to enable the `CLIQUE` API methods. ### clique_discard -Discards a proposal to [add or remove a signer with the specified address](../Consensus-Protocols/Clique.md#adding-and-removing-signers). +Discards a proposal to [add or remove a signer with the specified address](../HowTo/Configure-Pantheon/Consensus-Protocols/Clique.md#adding-and-removing-signers). **Parameters** @@ -2714,11 +2714,11 @@ Discards a proposal to [add or remove a signer with the specified address](../Co ### clique_getSigners -Lists [signers for the specified block](../Consensus-Protocols/Clique.md#adding-and-removing-signers). +Lists [signers for the specified block](../HowTo/Configure-Pantheon/Consensus-Protocols/Clique.md#adding-and-removing-signers). **Parameters** -`quantity|tag` - Integer representing a block number or one of the string tags `latest`, `earliest`, or `pending`, as described in [Block Parameter](../Pantheon-API/Using-JSON-RPC-API.md#block-parameter). +`quantity|tag` - Integer representing a block number or one of the string tags `latest`, `earliest`, or `pending`, as described in [Block Parameter](../HowTo/Interact/Pantheon-APIs/Using-JSON-RPC-API.md#block-parameter). **Returns** @@ -2751,9 +2751,9 @@ Provides validator metrics for the specified range: **Parameters** -`fromBlockNumber` - Integer representing a block number or the string tag `earliest` as described in [Block Parameter](../Pantheon-API/Using-JSON-RPC-API.md#block-parameter) +`fromBlockNumber` - Integer representing a block number or the string tag `earliest` as described in [Block Parameter](../HowTo/Interact/Pantheon-APIs/Using-JSON-RPC-API.md#block-parameter) -`toBlockNumber` - Integer representing a block number or one of the string tags `latest` or `pending`, as described in [Block Parameter](../Pantheon-API/Using-JSON-RPC-API.md#block-parameter) +`toBlockNumber` - Integer representing a block number or one of the string tags `latest` or `pending`, as described in [Block Parameter](../HowTo/Interact/Pantheon-APIs/Using-JSON-RPC-API.md#block-parameter) If no parameters are specified, metrics are provided for the last 100 blocks or all blocks if there are less than 100 blocks. @@ -2831,7 +2831,7 @@ Lists signers for the specified block. ### clique_propose -Proposes [adding or removing a signer with the specified address](../Consensus-Protocols/Clique.md#adding-and-removing-signers). +Proposes [adding or removing a signer with the specified address](../HowTo/Configure-Pantheon/Consensus-Protocols/Clique.md#adding-and-removing-signers). **Parameters** @@ -2862,7 +2862,7 @@ Proposes [adding or removing a signer with the specified address](../Consensus-P ### clique_proposals -Returns [current proposals](../Consensus-Protocols/Clique.md#adding-and-removing-signers). +Returns [current proposals](../HowTo/Configure-Pantheon/Consensus-Protocols/Clique.md#adding-and-removing-signers). **Parameters** @@ -2897,8 +2897,8 @@ If the boolean value is `true`, the proposal is to add a signer. If `false`, the ## Debug Methods !!! note - The `DEBUG` API methods are not enabled by default for JSON-RPC. 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 `DEBUG` API methods. + The `DEBUG` API methods are not enabled by default for JSON-RPC. Use the [`--rpc-http-api`](Pantheon-CLI/Pantheon-CLI-Syntax.md#rpc-http-api) + or [`--rpc-ws-api`](Pantheon-CLI/Pantheon-CLI-Syntax.md#rpc-ws-api) options to enable the `DEBUG` API methods. ### debug_storageRangeAt @@ -3235,7 +3235,7 @@ Returns full trace of all invoked opcodes of all transactions included in the bl **Parameters** -`quantity|tag` - Integer representing a block number or one of the string tags `latest`, `earliest`, or `pending`, as described in [Block Parameter](../Pantheon-API/Using-JSON-RPC-API.md#block-parameter). +`quantity|tag` - Integer representing a block number or one of the string tags `latest`, `earliest`, or `pending`, as described in [Block Parameter](../HowTo/Interact/Pantheon-APIs/Using-JSON-RPC-API.md#block-parameter). `Object` - request options (all optional and default to `false`): @@ -3286,12 +3286,12 @@ Returns full trace of all invoked opcodes of all transactions included in the bl ## Miner Methods !!! note - The `MINER` API methods are not enabled by default for JSON-RPC. 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 `MINER` API methods. + The `MINER` API methods are not enabled by default for JSON-RPC. Use the [`--rpc-http-api`](Pantheon-CLI/Pantheon-CLI-Syntax.md#rpc-http-api) + or [`--rpc-ws-api`](Pantheon-CLI/Pantheon-CLI-Syntax.md#rpc-ws-api) options to enable the `MINER` API methods. ### miner_start -Starts the CPU mining process. To start mining, a miner coinbase must have been previously specified using the [`--miner-coinbase`](../Reference/Pantheon-CLI-Syntax.md#miner-coinbase) command line option. +Starts the CPU mining process. To start mining, a miner coinbase must have been previously specified using the [`--miner-coinbase`](Pantheon-CLI/Pantheon-CLI-Syntax.md#miner-coinbase) command line option. **Parameters** @@ -3350,12 +3350,12 @@ None ## IBFT 2.0 Methods !!! note - The `IBFT` API methods are not enabled by default for JSON-RPC. 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. + The `IBFT` API methods are not enabled by default for JSON-RPC. Use the [`--rpc-http-api`](Pantheon-CLI/Pantheon-CLI-Syntax.md#rpc-http-api) + or [`--rpc-ws-api`](Pantheon-CLI/Pantheon-CLI-Syntax.md#rpc-ws-api) options to enable the `IBFT` API methods. ### ibft_discardValidatorVote -Discards a proposal to [add or remove a validator](../Consensus-Protocols/IBFT.md#adding-and-removing-validators) with the specified address. +Discards a proposal to [add or remove a validator](../HowTo/Configure-Pantheon/Consensus-Protocols/IBFT.md#adding-and-removing-validators) with the specified address. **Parameters** @@ -3384,7 +3384,7 @@ Discards a proposal to [add or remove a validator](../Consensus-Protocols/IBFT.m ### ibft_getPendingVotes -Returns [current votes](../Consensus-Protocols/IBFT.md#adding-and-removing-validators). +Returns [current votes](../HowTo/Configure-Pantheon/Consensus-Protocols/IBFT.md#adding-and-removing-validators). **Parameters** @@ -3455,7 +3455,7 @@ Lists the validators defined in the specified block. **Parameters** -`quantity|tag` - Integer representing a block number or one of the string tags `latest`, `earliest`, or `pending`, as described in [Block Parameter](../Pantheon-API/Using-JSON-RPC-API.md#block-parameter). +`quantity|tag` - Integer representing a block number or one of the string tags `latest`, `earliest`, or `pending`, as described in [Block Parameter](../HowTo/Interact/Pantheon-APIs/Using-JSON-RPC-API.md#block-parameter). **Returns** @@ -3484,7 +3484,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](../HowTo/Configure-Pantheon/Consensus-Protocols/IBFT.md#adding-and-removing-validators) with the specified address. **Parameters** @@ -3523,9 +3523,9 @@ Provides validator metrics for the specified range: **Parameters** -`fromBlockNumber` - Integer representing a block number or the string tag `earliest` as described in [Block Parameter](../Pantheon-API/Using-JSON-RPC-API.md#block-parameter) +`fromBlockNumber` - Integer representing a block number or the string tag `earliest` as described in [Block Parameter](../HowTo/Interact/Pantheon-APIs/Using-JSON-RPC-API.md#block-parameter) -`toBlockNumber` - Integer representing a block number or one of the string tags `latest` or `pending`, as described in [Block Parameter](../Pantheon-API/Using-JSON-RPC-API.md#block-parameter) +`toBlockNumber` - Integer representing a block number or one of the string tags `latest` or `pending`, as described in [Block Parameter](../HowTo/Interact/Pantheon-APIs/Using-JSON-RPC-API.md#block-parameter) If no parameters are specified, metrics are provided for the last 100 blocks or all blocks if there are less than 100 blocks. @@ -3575,15 +3575,15 @@ parameter to the latest block. ## Permissioning Methods -The permissioning API methods are used for [local](../Permissions/Local-Permissioning.md) permissioning only. +The permissioning API methods are used for [local](../HowTo/Limit-Access/Local-Permissioning.md) permissioning only. !!! important - The `PERM` API methods are not enabled by default for JSON-RPC. Use the [`--rpc-http-api`](Pantheon-CLI-Syntax.md#rpc-http-api) - or [`--rpc-ws-api`](Pantheon-CLI-Syntax.md#rpc-ws-api) CLI options to enable the `PERM` API methods. + The `PERM` API methods are not enabled by default for JSON-RPC. Use the [`--rpc-http-api`](Pantheon-CLI/Pantheon-CLI-Syntax.md#rpc-http-api) + or [`--rpc-ws-api`](Pantheon-CLI/Pantheon-CLI-Syntax.md#rpc-ws-api) CLI options to enable the `PERM` API methods. ### perm_addAccountsToWhitelist -Adds accounts (participants) to the [accounts whitelist](../Permissions/Local-Permissioning.md#account-whitelisting). +Adds accounts (participants) to the [accounts whitelist](../HowTo/Limit-Access/Local-Permissioning.md#account-whitelisting). **Parameters** @@ -3616,7 +3616,7 @@ including invalid account addresses. ### perm_getAccountsWhitelist -Lists accounts (participants) in the [accounts whitelist](../Permissions/Local-Permissioning.md#account-whitelisting). +Lists accounts (participants) in the [accounts whitelist](../HowTo/Limit-Access/Local-Permissioning.md#account-whitelisting). **Parameters** @@ -3648,7 +3648,7 @@ None ### perm_removeAccountsFromWhitelist -Removes accounts (participants) from the [accounts whitelist](../Permissions/Local-Permissioning.md#account-whitelisting). +Removes accounts (participants) from the [accounts whitelist](../HowTo/Limit-Access/Local-Permissioning.md#account-whitelisting). **Parameters** @@ -3680,11 +3680,11 @@ including invalid account addresses. ``` ### perm_addNodesToWhitelist -Adds nodes to the [nodes whitelist](../Permissions/Local-Permissioning.md#node-whitelisting). +Adds nodes to the [nodes whitelist](../HowTo/Limit-Access/Local-Permissioning.md#node-whitelisting). **Parameters** -`list of strings` - List of [enode URLs](../Configuring-Pantheon/Node-Keys.md#enode-url) +`list of strings` - List of [enode URLs](../Concepts/Node-Keys.md#enode-url) !!! note The parameters list contains a list which is why the enode URLs are enclosed by double square brackets. @@ -3713,7 +3713,7 @@ including invalid enode URLs. ### perm_getNodesWhitelist -Lists nodes in the [nodes whitelist](../Permissions/Local-Permissioning.md#node-whitelisting). +Lists nodes in the [nodes whitelist](../HowTo/Limit-Access/Local-Permissioning.md#node-whitelisting). **Parameters** @@ -3721,7 +3721,7 @@ None **Returns** -`result: list` - [Enode URLs](../Configuring-Pantheon/Node-Keys.md#enode-url) of nodes in the nodes whitelist. +`result: list` - [Enode URLs](../Concepts/Node-Keys.md#enode-url) of nodes in the nodes whitelist. !!! example ```bash tab="curl HTTP request" @@ -3745,11 +3745,11 @@ None ### perm_removeNodesFromWhitelist -Removes nodes from the [nodes whitelist](../Permissions/Local-Permissioning.md#node-whitelisting). +Removes nodes from the [nodes whitelist](../HowTo/Limit-Access/Local-Permissioning.md#node-whitelisting). **Parameters** -`list of strings` - List of [enode URLs](../Configuring-Pantheon/Node-Keys.md#enode-url) +`list of strings` - List of [enode URLs](../Concepts/Node-Keys.md#enode-url) !!! note The parameters list contains a list which is why the enode URLs are enclosed by double square brackets. @@ -3778,7 +3778,7 @@ including invalid enode URLs. ### perm_reloadPermissionsFromFile -Reloads the accounts and nodes whitelists from the [permissions configuration file](../Permissions/Local-Permissioning.md#permissions-configuration-file). +Reloads the accounts and nodes whitelists from the [permissions configuration file](../HowTo/Limit-Access/Local-Permissioning.md#permissions-configuration-file). **Parameters** @@ -3808,8 +3808,8 @@ None ## Txpool Methods !!! note - The `TXPOOL` API methods are not enabled by default for JSON-RPC. 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 `TXPOOL` API methods. + The `TXPOOL` API methods are not enabled by default for JSON-RPC. Use the [`--rpc-http-api`](Pantheon-CLI/Pantheon-CLI-Syntax.md#rpc-http-api) + or [`--rpc-ws-api`](Pantheon-CLI/Pantheon-CLI-Syntax.md#rpc-ws-api) options to enable the `TXPOOL` API methods. ### txpool_pantheonStatistics @@ -3823,7 +3823,7 @@ None `result` - Transaction pool statistics: -* `maxSize` - Maximum number of transactions kept in the transaction pool. Use the [`--tx-pool-max-size`](Pantheon-CLI-Syntax.md#tx-pool-max-size) +* `maxSize` - Maximum number of transactions kept in the transaction pool. Use the [`--tx-pool-max-size`](Pantheon-CLI/Pantheon-CLI-Syntax.md#tx-pool-max-size) option to configure the maximum size. * `localCount` - Number of transactions submitted directly to this node * `remoteCount` - Number of transactions received from remote nodes. @@ -3892,12 +3892,12 @@ None ## EEA Methods !!! note - The `EEA` API methods are not enabled by default for JSON-RPC. 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 `EEA` API methods. + The `EEA` API methods are not enabled by default for JSON-RPC. Use the [`--rpc-http-api`](Pantheon-CLI/Pantheon-CLI-Syntax.md#rpc-http-api) + or [`--rpc-ws-api`](Pantheon-CLI/Pantheon-CLI-Syntax.md#rpc-ws-api) options to enable the `EEA` API methods. ### eea_sendRawTransaction -Creates a [private transaction](../Privacy/Explanation/Privacy-Overview.md) from a signed transaction, generates the transaction hash +Creates a [private transaction](../Concepts/Privacy/Privacy-Overview.md) from a signed transaction, generates the transaction hash and submits it to the transaction pool, and returns the transaction hash of the Privacy Marker Transaction. The signed transaction passed as an input parameter includes the `privateFrom`, `privateFor`, and `restriction` fields. @@ -3907,9 +3907,9 @@ data using `eea_sendRawTransaction`. !!! important For production systems requiring private transactions, we recommend using a network - with a consensus mechanism supporting transaction finality. For example, [IBFT 2.0](../Consensus-Protocols/IBFT.md). + with a consensus mechanism supporting transaction finality. For example, [IBFT 2.0](../HowTo/Configure-Pantheon/Consensus-Protocols/IBFT.md). - Pantheon does not implement [`eea_sendTransaction`](../Using-Pantheon/Account-Management.md). + Pantheon does not implement [`eea_sendTransaction`](../HowTo/Send-Transactions/Account-Management.md). [EthSigner](https://docs.ethsigner.pegasys.tech/en/latest/) provides transaction signing and implements [`eea_sendTransaction`](https://docs.ethsigner.pegasys.tech/en/latest/Using-EthSigner/Using-EthSigner/#eea_sendtransaction). @@ -3983,13 +3983,13 @@ are not available. ## Priv Methods !!! note - The `PRIV` API methods are not enabled by default for JSON-RPC. 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 `PRIV` API methods. + The `PRIV` API methods are not enabled by default for JSON-RPC. Use the [`--rpc-http-api`](Pantheon-CLI/Pantheon-CLI-Syntax.md#rpc-http-api) + or [`--rpc-ws-api`](Pantheon-CLI/Pantheon-CLI-Syntax.md#rpc-ws-api) options to enable the `PRIV` API methods. ### priv_getPrivacyPrecompileAddress -Returns the address of the [privacy precompiled contract](../Privacy/Explanation/Private-Transaction-Processing.md). -The address is specified by the [`--privacy-precompiled-address`](Pantheon-CLI-Syntax.md#privacy-precompiled-address) command line option. +Returns the address of the [privacy precompiled contract](../Concepts/Privacy/Private-Transaction-Processing.md). +The address is specified by the [`--privacy-precompiled-address`](Pantheon-CLI/Pantheon-CLI-Syntax.md#privacy-precompiled-address) command line option. **Parameters** @@ -4202,7 +4202,7 @@ Returns the private transaction count for specified account and privacy group. ### rpc_modules -Lists [enabled APIs](../Pantheon-API/Using-JSON-RPC-API.md#api-methods-enabled-by-default) and the version of each. +Lists [enabled APIs](../HowTo/Interact/Pantheon-APIs/Using-JSON-RPC-API.md#api-methods-enabled-by-default) and the version of each. **Parameters** diff --git a/docs/Reference/Pantheon-API-Objects.md b/docs/Reference/Pantheon-API-Objects.md index 7f39310..bcf8af2 100644 --- a/docs/Reference/Pantheon-API-Objects.md +++ b/docs/Reference/Pantheon-API-Objects.md @@ -34,14 +34,14 @@ Returned by [eth_getBlockByHash](Pantheon-API-Methods.md#eth_getblockbyhash) and ## Filter Options Object -Parameter for [eth_newFilter](Pantheon-API-Methods.md#eth_newfilter) and [eth_getLogs](Pantheon-API-Methods.md#eth_getlogs). Used to [filter logs](../Using-Pantheon/Accessing-Logs-Using-JSON-RPC.md). +Parameter for [eth_newFilter](Pantheon-API-Methods.md#eth_newfilter) and [eth_getLogs](Pantheon-API-Methods.md#eth_getlogs). Used to [filter logs](../HowTo/Interact/Filters/Accessing-Logs-Using-JSON-RPC.md). | Key | Type | Required/Optional | Value | |---------------|:---------------------------------:|:-----------------:|---------------------------------------------------------------------------------------------------------------------------------------------| -| **fromBlock** | Quantity | Tag | Optional | Integer block number or `latest`, `pending`, `earliest`. See [Block Parameter](../Pantheon-API/Using-JSON-RPC-API.md#block-parameter). Default is `latest`. | -| **toBlock** | Quantity | Tag | Optional | Integer block number or `latest`, `pending`, `earliest`. See [Block Parameter](../Pantheon-API/Using-JSON-RPC-API.md#block-parameter). Default is `latest`. | -| **address** | Data | Array | Optional | Contract address or array of addresses from which [logs](../Using-Pantheon/Events-and-Logs.md) originate. | -| **topics** | Array of Data, 32 bytes each | Optional | Array of topics by which to [filter logs](../Using-Pantheon/Events-and-Logs.md#topic-filters). | +| **fromBlock** | Quantity | Tag | Optional | Integer block number or `latest`, `pending`, `earliest`. See [Block Parameter](../HowTo/Interact/Pantheon-APIs/Using-JSON-RPC-API.md#block-parameter). Default is `latest`. | +| **toBlock** | Quantity | Tag | Optional | Integer block number or `latest`, `pending`, `earliest`. See [Block Parameter](../HowTo/Interact/Pantheon-APIs/Using-JSON-RPC-API.md#block-parameter). Default is `latest`. | +| **address** | Data | Array | Optional | Contract address or array of addresses from which [logs](../Concepts/Events-and-Logs.md) originate. | +| **topics** | Array of Data, 32 bytes each | Optional | Array of topics by which to [filter logs](../Concepts/Events-and-Logs.md#topic-filters). | [eth_getLogs](Pantheon-API-Methods.md#eth_getlogs) has an additional key. @@ -63,7 +63,7 @@ Returned by [eth_getFilterChanges](Pantheon-API-Methods.md#eth_getfilterchanges) | **blockNumber** | Quantity | Number of block in which log included. `null` when log is pending. | | **address** | Data, 20 bytes | Address from which log originated. | | **data** | Data | Non-indexed arguments of log. | -| **topics** | Array of Data, 32 bytes each | [Event signature hash](../Using-Pantheon/Events-and-Logs.md#event-signature-hash) and 0 to 3 [indexed log arguments](../Using-Pantheon/Events-and-Logs.md#event-parameters). | +| **topics** | Array of Data, 32 bytes each | [Event signature hash](../Concepts/Events-and-Logs.md#event-signature-hash) and 0 to 3 [indexed log arguments](../Concepts/Events-and-Logs.md#event-parameters). | ## Private Transaction Object @@ -84,7 +84,7 @@ Returned by [priv_getPrivateTransaction](Pantheon-API-Methods.md#priv_getprivate | **s** | Data, 32 bytes | ECDSA signature s | | **privateFrom** | Data, 32 bytes | [Orion](https://docs.orion.pegasys.tech/en/stable/) public key of sender | | **privateFor** | Array of Data, 32 bytes each | [Orion](https://docs.orion.pegasys.tech/en/stable/) public keys of recipients | -| **restriction** | String | Must be [`restricted`](../Privacy/Explanation/Privacy-Overview.md#private-transaction-attributes) +| **restriction** | String | Must be [`restricted`](../Concepts/Privacy/Privacy-Overview.md#private-transaction-attributes) ## Range Object @@ -136,7 +136,7 @@ Returned by [eth_getTransactionByHash](Pantheon-API-Methods.md#eth_gettransactio | **gas** | Quantity | Gas provided by the sender. | | **gasPrice** | Quantity | Gas price provided by the sender in Wei. | | **hash** | Data, 32 bytes | Hash of the transaction. | -| **input** | Data | Data sent with the transaction to create or invoke a contract. For [private transactions](../Privacy/Explanation/Privacy-Overview.md) it is a pointer to the transaction location in [Orion](https://docs.orion.pegasys.tech/en/stable/). | +| **input** | Data | Data sent with the transaction to create or invoke a contract. For [private transactions](../Concepts/Privacy/Privacy-Overview.md) it is a pointer to the transaction location in [Orion](https://docs.orion.pegasys.tech/en/stable/). | | **nonce** | Quantity | Number of transactions made by the sender before this one. | | **to** | Data, 20 bytes | Address of the receiver. `null` if a contract creation transaction. | | **transactionIndex** | Quantity, Integer | Index position of transaction in the block. `null` when transaction is pending. | diff --git a/docs/Reference/Pantheon-CLI-Subcommands.md b/docs/Reference/Pantheon-CLI/Pantheon-CLI-Subcommands.md similarity index 90% rename from docs/Reference/Pantheon-CLI-Subcommands.md rename to docs/Reference/Pantheon-CLI/Pantheon-CLI-Subcommands.md index 3ee25ee..98cd2a7 100644 --- a/docs/Reference/Pantheon-CLI-Subcommands.md +++ b/docs/Reference/Pantheon-CLI/Pantheon-CLI-Subcommands.md @@ -79,8 +79,8 @@ Provides password related actions. ### hash -This command generates the hash of a given password. Include the hash in the [credentials file](../Pantheon-API/Authentication.md#credentials-file) - for JSON-RPC API [authentication](../Pantheon-API/Authentication.md). +This command generates the hash of a given password. Include the hash in the [credentials file](../../HowTo/Interact/Pantheon-APIs/Authentication.md#credentials-file) + for JSON-RPC API [authentication](../../HowTo/Interact/Pantheon-APIs/Authentication.md). ```bash tab="Syntax" pantheon password hash --password= @@ -96,7 +96,7 @@ Provides operator actions. ### generate-blockchain-config -This command generates [IBFT 2.0 configuration files](../Tutorials/Create-IBFT-Network.md). +This command generates [IBFT 2.0 configuration files](../../Tutorials/Private-Network/Create-IBFT-Network.md). ```bash tab="Syntax" pantheon operator generate-blockchain-config --config-file= --to= [--genesis-file-name=] [--private-key-file-name=] [--public-key-file-name=] @@ -107,7 +107,7 @@ pantheon operator generate-blockchain-config --config-file=config.json --to=myNe ``` The configuration file has 2 subnested JSON nodes. The first is the `genesis` property defining -the [IBFT 2.0 genesis file](../Consensus-Protocols/IBFT.md#genesis-file) except for the `extraData` string. The +the [IBFT 2.0 genesis file](../../HowTo/Configure-Pantheon/Consensus-Protocols/IBFT.md#genesis-file) except for the `extraData` string. The second is the `blockchain` property defining the number of key pairs to generate. ## rlp @@ -131,7 +131,7 @@ cat extra_data.json | pantheon rlp encode > rlp.txt ``` The `IBFT_EXTRA_DATA` type is the only type supported for RLP encoding. -This data is included in the [IBFT 2.0 genesis file](../Consensus-Protocols/IBFT.md#genesis-file). +This data is included in the [IBFT 2.0 genesis file](../../HowTo/Configure-Pantheon/Consensus-Protocols/IBFT.md#genesis-file). ???+ summary "IBFT 2.0 Extra Data" To generate the RLP encoded `extraData` string, specify a JSON input that is array of validator addresses diff --git a/docs/Reference/Pantheon-CLI-Syntax.md b/docs/Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md similarity index 88% rename from docs/Reference/Pantheon-CLI-Syntax.md rename to docs/Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md index e112b7d..8ac845b 100644 --- a/docs/Reference/Pantheon-CLI-Syntax.md +++ b/docs/Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md @@ -11,7 +11,7 @@ Pantheon options can be specified: * On the command line * As an [environment variable](#pantheon-environment-variables) -* In a [configuration file](../Configuring-Pantheon/Using-Configuration-File.md). +* In a [configuration file](../../HowTo/Configure-Pantheon/Using-Configuration-File.md). If an option is specified in multiple places, the order of priority is command line, environment variable, configuration file. @@ -85,12 +85,12 @@ When connecting to MainNet or public testnets, the default is a predefined list On custom networks defined by [`--genesis-file`](#genesis-file) option, an empty list of bootnodes is defined by default unless you define custom bootnodes as described in -[private network documentation](../Configuring-Pantheon/Networking/Bootnodes.md#bootnodes). +[private network documentation](../../HowTo/Find-and-Connect/Bootnodes.md#bootnodes). !!! note - Specifying that a node is a [bootnode](../Configuring-Pantheon/Networking/Bootnodes.md#bootnodes) + Specifying that a node is a [bootnode](../../HowTo/Find-and-Connect/Bootnodes.md#bootnodes) must be done on the command line using [`--bootnodes`](#bootnodes) option without value, - not in a [configuration file](../Configuring-Pantheon/Using-Configuration-File.md). + not in a [configuration file](../../HowTo/Configure-Pantheon/Using-Configuration-File.md). ### config-file @@ -106,7 +106,7 @@ an empty list of bootnodes is defined by default unless you define custom bootno PANTHEON_CONFIG_FILE=/home/me/me_node/config.toml ``` -The path to the [TOML configuration file](../Configuring-Pantheon/Using-Configuration-File.md). +The path to the [TOML configuration file](../../HowTo/Configure-Pantheon/Using-Configuration-File.md). The default is `none`. ### data-path @@ -128,7 +128,7 @@ data-path="/home/me/me_node" ``` The path to the Pantheon data directory. The default is the directory in which Pantheon is installed -or `/opt/pantheon/database` if using the [Pantheon Docker image](../Getting-Started/Run-Docker-Image.md). +or `/opt/pantheon/database` if using the [Pantheon Docker image](../../HowTo/Get-Started/Run-Docker-Image.md). ### discovery-enabled @@ -259,7 +259,7 @@ graphql-http-port="6175" ``` Specifies GraphQL HTTP listening port (TCP). -The default is 8547. Ports must be [exposed appropriately](../Configuring-Pantheon/Networking/Configuring-Ports.md). +The default is 8547. Ports must be [exposed appropriately](../../HowTo/Find-and-Connect/Configuring-Ports.md). ### host-whitelist @@ -279,7 +279,7 @@ PANTHEON_HOST_WHITELIST=medomain.com,meotherdomain.com host-whitelist=["medomain.com", "meotherdomain.com"] ``` -Comma-separated list of hostnames to allow [access to the JSON-RPC API](../Pantheon-API/Using-JSON-RPC-API.md#host-whitelist). +Comma-separated list of hostnames to allow [access to the JSON-RPC API](../../HowTo/Interact/Pantheon-APIs/Using-JSON-RPC-API.md#host-whitelist). By default, access from `localhost` and `127.0.0.1` is accepted. !!!tip @@ -341,7 +341,7 @@ PANTHEON_METRICS_ENABLED=true metrics-enabled=true ``` -Set to `true` to enable the [metrics exporter](../Monitoring/Monitoring-Performance.md#monitor-node-performance-using-prometheus). +Set to `true` to enable the [metrics exporter](../../HowTo/Deploy/Monitoring-Performance.md#monitor-node-performance-using-prometheus). The default is `false`. `--metrics-enabled` cannot be specified with `--metrics-push-enabled`. That is, either Prometheus polling or Prometheus @@ -365,7 +365,7 @@ PANTHEON_METRICS_HOST=127.0.0.1 metrics-host="127.0.0.1" ``` -Specifies the host on which [Prometheus](https://prometheus.io/) accesses [Pantheon metrics](../Monitoring/Monitoring-Performance.md#monitor-node-performance-using-prometheus). +Specifies the host on which [Prometheus](https://prometheus.io/) accesses [Pantheon metrics](../../HowTo/Deploy/Monitoring-Performance.md#monitor-node-performance-using-prometheus). The metrics server respects the [`--host-whitelist` option](#host-whitelist). The default is `127.0.0.1`. @@ -388,8 +388,8 @@ PANTHEON_METRICS_PORT=6174 metrics-port="6174" ``` -Specifies the port (TCP) on which [Prometheus](https://prometheus.io/) accesses [Pantheon metrics](../Monitoring/Monitoring-Performance.md#monitor-node-performance-using-prometheus). -The default is `9545`. Ports must be [exposed appropriately](../Configuring-Pantheon/Networking/Configuring-Ports.md). +Specifies the port (TCP) on which [Prometheus](https://prometheus.io/) accesses [Pantheon metrics](../../HowTo/Deploy/Monitoring-Performance.md#monitor-node-performance-using-prometheus). +The default is `9545`. Ports must be [exposed appropriately](../../HowTo/Find-and-Connect/Configuring-Ports.md). ### metrics-push-enabled @@ -409,7 +409,7 @@ PANTHEON_METRICS_PUSH_ENABLED=true metrics-push-enabled="true" ``` -Set to `true` to start the [push gateway integration](../Monitoring/Monitoring-Performance.md#running-prometheus-with-pantheon-in-push-mode). +Set to `true` to start the [push gateway integration](../../HowTo/Deploy/Monitoring-Performance.md#running-prometheus-with-pantheon-in-push-mode). `--metrics-push-enabled` cannot be specified with `--metrics-enabled`. That is, either Prometheus polling or Prometheus push gateway support can be enabled but not both at once. @@ -479,7 +479,7 @@ metrics-push-port="6174" ``` Port (TCP) of the [Prometheus Push Gateway](https://github.com/prometheus/pushgateway). -The default is `9001`. Ports must be [exposed appropriately](../Configuring-Pantheon/Networking/Configuring-Ports.md). +The default is `9001`. Ports must be [exposed appropriately](../../HowTo/Find-and-Connect/Configuring-Ports.md). ### metrics-push-prometheus-job @@ -521,10 +521,10 @@ PANTHEON_MINER_COINBASE=fe3b557e8fb62b89f4916b721be55ceb828dbd73 Account to which mining rewards are paid. You must specify a valid coinbase when you enable mining using the [`--miner-enabled`](#miner-enabled) -option or the [`miner_start`](Pantheon-API-Methods.md#miner_start) JSON RPC-API method. +option or the [`miner_start`](../Pantheon-API-Methods.md#miner_start) JSON RPC-API method. !!!note - This option is ignored in networks using [Clique](../Consensus-Protocols/Clique.md) and [IBFT 2.0](../Consensus-Protocols/IBFT.md) consensus protocols. + This option is ignored in networks using [Clique](../../HowTo/Configure-Pantheon/Consensus-Protocols/Clique.md) and [IBFT 2.0](../../HowTo/Configure-Pantheon/Consensus-Protocols/IBFT.md) consensus protocols. ### miner-enabled @@ -599,7 +599,7 @@ The default is 1000. nat-method="upnp" ``` -Specifies the method for handling [NAT environments](../Configuring-Pantheon/Networking/Using-UPnP.md). +Specifies the method for handling [NAT environments](../../HowTo/Find-and-Connect/Using-UPnP.md). Options are `upnp` and `none`. The default is `none` (that is, NAT functionality is disabled). ### network @@ -664,7 +664,7 @@ PANTHEON_NETWORK_ID=8675309 network-id="8675309" ``` -[P2P network identifier](../Configuring-Pantheon/NetworkID-And-ChainID.md). +[P2P network identifier](../../Concepts/NetworkID-And-ChainID.md). This option can be used to override the default network ID. The default value is the network chain ID defined in the genesis file. @@ -760,7 +760,7 @@ p2p-port="1789" ``` Specifies the P2P listening ports (UDP and TCP). -The default is 30303. Ports must be [exposed appropriately](../Configuring-Pantheon/Networking/Configuring-Ports.md). +The default is 30303. Ports must be [exposed appropriately](../../HowTo/Find-and-Connect/Configuring-Ports.md). ### nat-method @@ -821,7 +821,7 @@ PANTHEON_PERMISSIONS_ACCOUNTS_CONFIG_FILE=/home/me/me_configFiles/myPermissionsF permissions-accounts-config-file="/home/me/me_configFiles/myPermissionsFile" ``` -Path to the [accounts permissions configuration file](../Permissions/Local-Permissioning.md#permissions-configuration-file). +Path to the [accounts permissions configuration file](../../HowTo/Limit-Access/Local-Permissioning.md#permissions-configuration-file). Default is the `permissions_config.toml` file in the [data directory](#data-path). !!! tip @@ -846,7 +846,7 @@ PANTHEON_PERMISSIONS_ACCOUNTS_CONTRACT_ADDRESS=xyz permissions-accounts-contract-address=xyz ``` -Specifies the contract address for [onchain account permissioning](../Permissions/Onchain-Permissioning/Onchain-Permissioning.md). +Specifies the contract address for [onchain account permissioning](../../Concepts/Permissioning/Onchain-Permissioning.md). ### permissions-accounts-contract-enabled @@ -866,7 +866,7 @@ PANTHEON_PERMISSIONS_ACCOUNTS_CONTRACT_ENABLED=true permissions-accounts-contract-enabled=true ``` -Enables contract-based [onchain account permissioning](../Permissions/Onchain-Permissioning/Onchain-Permissioning.md). Default is `false`. +Enables contract-based [onchain account permissioning](../../Concepts/Permissioning/Onchain-Permissioning.md). Default is `false`. ### permissions-nodes-config-file-enabled @@ -906,7 +906,7 @@ PANTHEON_PERMISSIONS_NODES_CONFIG_FILE=/home/me/me_configFiles/myPermissionsFile permissions-nodes-config-file="/home/me/me_configFiles/myPermissionsFile" ``` -Path to the [nodes permissions configuration file](../Permissions/Local-Permissioning.md#permissions-configuration-file). +Path to the [nodes permissions configuration file](../../HowTo/Limit-Access/Local-Permissioning.md#permissions-configuration-file). Default is the `permissions_config.toml` file in the [data directory](#data-path). !!! tip @@ -931,7 +931,7 @@ PANTHEON_PERMISSIONS_NODES_CONTRACT_ADDRESS=xyz permissions-nodes-contract-address=xyz ``` -Specifies the contract address for [onchain node permissioning](../Permissions/Onchain-Permissioning/Onchain-Permissioning.md). +Specifies the contract address for [onchain node permissioning](../../Concepts/Permissioning/Onchain-Permissioning.md). ### permissions-nodes-contract-enabled @@ -951,7 +951,7 @@ PANTHEON_PERMISSIONS_NODES_CONTRACT_ENABLED=true permissions-nodes-contract-enabled=true ``` -Enables contract-based [onchain node permissioning](../Permissions/Onchain-Permissioning/Onchain-Permissioning.md). Default is `false`. +Enables contract-based [onchain node permissioning](../../Concepts/Permissioning/Onchain-Permissioning.md). Default is `false`. ### privacy-enabled @@ -971,7 +971,7 @@ PANTHEON_PRIVACY_ENABLED=false privacy-enabled=false ``` -Set to enable [private transactions](../Privacy/Explanation/Privacy-Overview.md). +Set to enable [private transactions](../../Concepts/Privacy/Privacy-Overview.md). The default is false. ### privacy-precompiled-address @@ -980,7 +980,7 @@ The default is false. --privacy-precompiled-address= ``` -Address to which the [privacy pre-compiled contract](../Privacy/Explanation/Private-Transaction-Processing.md) is mapped. +Address to which the [privacy pre-compiled contract](../../Concepts/Privacy/Private-Transaction-Processing.md) is mapped. The default is 126. ### privacy-public-key-file @@ -1001,7 +1001,7 @@ PANTHEON_PRIVACY_PUBLIC_KEY_FILE=Orion/nodeKey.pub privacy-public-key-file="Orion/nodeKey.pub" ``` -Path to the [public key of the Orion node](../Privacy/Explanation/Privacy-Overview.md#pantheon-and-orion-keys). +Path to the [public key of the Orion node](../../Concepts/Privacy/Privacy-Overview.md#pantheon-and-orion-keys). ### privacy-url @@ -1021,7 +1021,7 @@ PANTHEON_PRIVACY_URL=http://127.0.0.1:8888 privacy-url="http://127.0.0.1:8888" ``` -URL on which the [Orion node](../Privacy/Tutorials/Configuring-Privacy.md#4-create-orion-configuration-files) is running. +URL on which the [Orion node](../../Tutorials/Privacy/Configuring-Privacy.md#4-create-orion-configuration-files) is running. ### revert-reason-enabled @@ -1041,7 +1041,7 @@ REVERT_REASON_ENABLED=true revert-reason-enabled=true ``` -Enables including the [revert reason](../Using-Pantheon/Transactions/Revert-Reason.md) in the transaction +Enables including the [revert reason](../../HowTo/Send-Transactions/Revert-Reason.md) in the transaction receipt. Default is `false`. !!! caution @@ -1142,7 +1142,7 @@ PANTHEON_RPC_HTTP_AUTHENTICATION_CREDENTIALS_FILE=/home/me/me_node/auth.toml rpc-http-authentication-credentials-file="/home/me/me_node/auth.toml" ``` -[Credentials file](../Pantheon-API/Authentication.md#credentials-file) for JSON-RPC API [authentication](../Pantheon-API/Authentication.md). +[Credentials file](../../HowTo/Interact/Pantheon-APIs/Authentication.md#credentials-file) for JSON-RPC API [authentication](../../HowTo/Interact/Pantheon-APIs/Authentication.md). ### rpc-http-authentication-enabled @@ -1162,7 +1162,7 @@ PANTHEON_RPC_HTTP_AUTHENTICATION_ENABLED=true rpc-http-authentication-enabled=true ``` -Set to `true` to require [authentication](../Pantheon-API/Authentication.md) for the HTTP JSON-RPC service. +Set to `true` to require [authentication](../../HowTo/Interact/Pantheon-APIs/Authentication.md) for the HTTP JSON-RPC service. ### rpc-http-cors-origins @@ -1273,7 +1273,7 @@ rpc-http-port="3435" ``` Specifies HTTP JSON-RPC listening port (TCP). -The default is 8545. Ports must be [exposed appropriately](../Configuring-Pantheon/Networking/Configuring-Ports.md). +The default is 8545. Ports must be [exposed appropriately](../../HowTo/Find-and-Connect/Configuring-Ports.md). ### rpc-ws-api @@ -1320,7 +1320,7 @@ PANTHEON_RPC_WS_AUTHENTICATION_CREDENTIALS_FILE=/home/me/me_node/auth.toml rpc-ws-authentication-credentials-file="/home/me/me_node/auth.toml" ``` -[Credentials file](../Pantheon-API/Authentication.md#credentials-file) for JSON-RPC API [authentication](../Pantheon-API/Authentication.md). +[Credentials file](../../HowTo/Interact/Pantheon-APIs/Authentication.md#credentials-file) for JSON-RPC API [authentication](../../HowTo/Interact/Pantheon-APIs/Authentication.md). ### rpc-ws-authentication-enabled @@ -1340,10 +1340,10 @@ PANTHEON_RPC_WS_AUTHENTICATION_ENABLED=true rpc-ws-authentication-enabled=true ``` -Set to `true` to require [authentication](../Pantheon-API/Authentication.md) for the WebSockets JSON-RPC service. +Set to `true` to require [authentication](../../HowTo/Interact/Pantheon-APIs/Authentication.md) for the WebSockets JSON-RPC service. !!! note - `wscat` does not support headers. [Authentication](../Pantheon-API/Authentication.md) requires an authentication token to be passed in the + `wscat` does not support headers. [Authentication](../../HowTo/Interact/Pantheon-APIs/Authentication.md) requires an authentication token to be passed in the request header. To use authentication with WebSockets, an app that supports headers is required. ### rpc-ws-enabled @@ -1407,7 +1407,7 @@ rpc-ws-port="6174" ``` Specifies Websockets JSON-RPC listening port (TCP). -The default is 8546. Ports must be [exposed appropriately](../Configuring-Pantheon/Networking/Configuring-Ports.md). +The default is 8546. Ports must be [exposed appropriately](../../HowTo/Find-and-Connect/Configuring-Ports.md). ### tx-pool-max-size diff --git a/docs/Resources/Resources.md b/docs/Reference/Resources.md similarity index 100% rename from docs/Resources/Resources.md rename to docs/Reference/Resources.md diff --git a/docs/Security/Responsible-Disclosure.md b/docs/Reference/Responsible-Disclosure.md similarity index 100% rename from docs/Security/Responsible-Disclosure.md rename to docs/Reference/Responsible-Disclosure.md diff --git a/docs/Reference/web3js-eea-Methods.md b/docs/Reference/web3js-eea-Methods.md index c7a8b63..2188e2e 100644 --- a/docs/Reference/web3js-eea-Methods.md +++ b/docs/Reference/web3js-eea-Methods.md @@ -4,7 +4,7 @@ description: web3js-eea methods reference # web3js-eea Use the [web3.js-eea library](https://github.com/PegaSysEng/eeajs) to [create and send -private transactions](../Privacy/How-To/Creating-Sending-Private-Transactions.md). +private transactions](../HowTo/Send-Transactions/Creating-Sending-Private-Transactions.md). ## Options Parameter @@ -12,7 +12,7 @@ The Options parameter has the following properties: * `privateKey`: Ethereum private key with which to sign the transaction * `privateFrom` : Orion public key of the sender -* [`privateFor` : Orion public keys of recipients or `privacyGroupId`: Privacy group to receive the transaction](../Privacy/Explanation/Privacy-Groups.md) +* [`privateFor` : Orion public keys of recipients or `privacyGroupId`: Privacy group to receive the transaction](../Concepts/Privacy/Privacy-Groups.md) * `nonce` : Optional. If not provided, calculated using [`eea_getTransctionCount`](../Reference/Pantheon-API-Methods.md). * `to` : Optional. Contract address to send the transaction to. Do not specify for contract deployment transactions * `data` : Transaction data @@ -100,7 +100,7 @@ Finds privacy groups containing only the specified members. ## generatePrivacyGroup -Generates the privacy group ID for [EEA privacy](../Privacy/Explanation/Privacy-Groups.md#eea-compliant-privacy). +Generates the privacy group ID for [EEA privacy](../Concepts/Privacy/Privacy-Groups.md#eea-compliant-privacy). The privacy group ID is the RLP-encoded `privateFor` and `privateFrom` keys. **Parameters** @@ -121,7 +121,7 @@ The privacy group ID is the RLP-encoded `privateFor` and `privateFrom` keys. ## getMarkerTransaction -Gets the [privacy marker transaction](../Privacy/Explanation/Private-Transaction-Processing.md) transaction receipt. +Gets the [privacy marker transaction](../Concepts/Privacy/Private-Transaction-Processing.md) transaction receipt. **Parameters** @@ -189,7 +189,7 @@ Private transaction receipt Signs and sends a RLP-encoded private transaction to Pantheon using [`eea_sendRawTransaction`](Pantheon-API-Methods.md#eea_sendrawtransaction). -`sendRawTransaction` supports [EEA-compliant privacy](../Privacy/How-To/EEA-Compliant.md) using `privateFor`, or [Pantheon-extended privacy](../Privacy/How-To/Pantheon-Privacy.md) using `privacyGroupId`. +`sendRawTransaction` supports [EEA-compliant privacy](../HowTo/Use-Privacy/EEA-Compliant.md) using `privateFor`, or [Pantheon-extended privacy](../HowTo/Use-Privacy/Pantheon-Privacy.md) using `privacyGroupId`. **Parameters** @@ -197,7 +197,7 @@ Signs and sends a RLP-encoded private transaction to Pantheon using [`eea_sendRa **Returns** -`string` : Transaction hash of the [`privacy marker transaction`](../Privacy/Explanation/Private-Transaction-Processing.md) +`string` : Transaction hash of the [`privacy marker transaction`](../Concepts/Privacy/Private-Transaction-Processing.md) !!! example "Pantheon-extended Privacy" ```bash tab="Contract Deployment with privacyGroupId" diff --git a/docs/Tutorials/Create-Permissioned-Network.md b/docs/Tutorials/Permissioning/Create-Permissioned-Network.md similarity index 80% rename from docs/Tutorials/Create-Permissioned-Network.md rename to docs/Tutorials/Permissioning/Create-Permissioned-Network.md index 1c09da2..540eb8b 100644 --- a/docs/Tutorials/Create-Permissioned-Network.md +++ b/docs/Tutorials/Permissioning/Create-Permissioned-Network.md @@ -4,7 +4,7 @@ description: Pantheon Create a Permissioned network # Creating a Permissioned Network The following steps set up a permissioned network with node and account permissions. The network uses the -[Clique Proof of Authority consensus protocol](../Consensus-Protocols/Clique.md). +[Clique Proof of Authority consensus protocol](../../HowTo/Configure-Pantheon/Consensus-Protocols/Clique.md). !!!important A permissioned Ethereum network as described here is not protected against all attack vectors. @@ -12,7 +12,7 @@ The following steps set up a permissioned network with node and account permissi ## Prerequisites -[Pantheon](../Installation/Install-Binaries.md) +[Pantheon](../../HowTo/Get-Started/Install-Binaries.md) [Curl (or similar web service client)](https://curl.haxx.se/download.html) @@ -22,7 +22,7 @@ The steps to create a permissoned network are displayed on the right. ### 1. Create Folders -Each node requires a data directory for the blockchain data. When the node is started, the [node key](../Configuring-Pantheon/Node-Keys.md) +Each node requires a data directory for the blockchain data. When the node is started, the [node key](../../Concepts/Node-Keys.md) is saved in this directory. Create directories for your permissioned network, each of the three nodes, and a data directory for each node: @@ -42,7 +42,7 @@ Permissioned-Network/ In networks using Clique, the address of at least one initial signer must be included in the genesis file. For this network, we will use Node-1 as the initial signer. This requires obtaining the address for Node-1. -To obtain the address for Node-1, in the `Node-1` directory, use the [`public-key export-address`](../Reference/Pantheon-CLI-Syntax.md#public-key) +To obtain the address for Node-1, in the `Node-1` directory, use the [`public-key export-address`](../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#public-key) subcommand to write the node address to the specified file (`nodeAddress1` in this example) ```bash tab="MacOS" @@ -56,7 +56,7 @@ pantheon --data-path=data public-key export-address --to=data\nodeAddress1 ### 3. Create Genesis File The genesis file defines the genesis block of the blockchain (that is, the start of the blockchain). -The [Clique genesis file](../Consensus-Protocols/Clique.md#genesis-file) includes the address of Node-1 as the initial signer in the `extraData` field. +The [Clique genesis file](../../HowTo/Configure-Pantheon/Consensus-Protocols/Clique.md#genesis-file) includes the address of Node-1 as the initial signer in the `extraData` field. All nodes in a network must use the same genesis file. @@ -138,7 +138,7 @@ The permissions configuration file includes the first two accounts from the gene Permissioned nodes are added using the JSON-RPC API after starting the nodes. !!! note - Permissions are specified at the node level. The [`permissions_config.toml`](../Permissions/Local-Permissioning.md#permissions-configuration-file) + Permissions are specified at the node level. The [`permissions_config.toml`](../../HowTo/Limit-Access/Local-Permissioning.md#permissions-configuration-file) file must be saved in the data directory for each node. On-chain permissioning is under development. On-chain permissioning will use one on-chain @@ -158,18 +158,18 @@ pantheon --data-path=data --genesis-file=..\cliqueGenesis.json --permissions-nod The command line specifies: -* Nodes and accounts permissions are enabled using the [`--permissions-nodes-config-file-enabled`](../Reference/Pantheon-CLI-Syntax.md#permissions-nodes-config-file-enabled) -and [`--permissions-accounts-config-file-enabled`](../Reference/Pantheon-CLI-Syntax.md#permissions-accounts-config-file-enabled) options -* JSON-RPC API is enabled using the [`--rpc-http-enabled`](../Reference/Pantheon-CLI-Syntax.md#rpc-http-enabled) option -* ADMIN,ETH,NET,PERM, and CLIQUE APIs are enabled using the [`--rpc-http-api`](../Reference/Pantheon-CLI-Syntax.md#rpc-http-api) option -* All hosts can access the HTTP JSON-RPC API using the [`--host-whitelist`](../Reference/Pantheon-CLI-Syntax.md#host-whitelist) option -* All domains can access the node using the HTTP JSON-RPC API using the [`--rpc-http-cors-origins`](../Reference/Pantheon-CLI-Syntax.md#rpc-http-cors-origins) option. +* Nodes and accounts permissions are enabled using the [`--permissions-nodes-config-file-enabled`](../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#permissions-nodes-config-file-enabled) +and [`--permissions-accounts-config-file-enabled`](../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#permissions-accounts-config-file-enabled) options +* JSON-RPC API is enabled using the [`--rpc-http-enabled`](../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#rpc-http-enabled) option +* ADMIN,ETH,NET,PERM, and CLIQUE APIs are enabled using the [`--rpc-http-api`](../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#rpc-http-api) option +* All hosts can access the HTTP JSON-RPC API using the [`--host-whitelist`](../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#host-whitelist) option +* All domains can access the node using the HTTP JSON-RPC API using the [`--rpc-http-cors-origins`](../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#rpc-http-cors-origins) option. -When the node starts, the [enode URL](../Configuring-Pantheon/Node-Keys.md#enode-url) is displayed. +When the node starts, the [enode URL](../../Concepts/Node-Keys.md#enode-url) is displayed. The enode URL is required specify Node-1 as a peer and update the permissions configuration file in the following steps. -![Node 1 Enode URL](../images/EnodeStartup.png) +![Node 1 Enode URL](../../images/EnodeStartup.png) ### 6. Start Node-2 @@ -185,12 +185,12 @@ pantheon --data-path=data --genesis-file=..\cliqueGenesis.json --permissions-nod The command line specifies: -* Different port to Node-1 for P2P peer discovery using the [`--p2p-port`](../Reference/Pantheon-CLI-Syntax.md#p2p-port) option -* Different port to Node-1 for HTTP JSON-RPC using the [`--rpc-http-port`](../Reference/Pantheon-CLI-Syntax.md#rpc-http-port) option -* Data directory for Node-2 using the [`--data-path`](../Reference/Pantheon-CLI-Syntax.md#data-path) option +* Different port to Node-1 for P2P peer discovery using the [`--p2p-port`](../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#p2p-port) option +* Different port to Node-1 for HTTP JSON-RPC using the [`--rpc-http-port`](../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#rpc-http-port) option +* Data directory for Node-2 using the [`--data-path`](../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#data-path) option * Other options as for as for Node-1. -When the node starts, the [enode URL](../Configuring-Pantheon/Node-Keys.md#enode-url) is displayed. +When the node starts, the [enode URL](../../Concepts/Node-Keys.md#enode-url) is displayed. The enode URL is required to update the permissions configuration file in the following steps. ### 7. Start Node-3 @@ -207,17 +207,17 @@ pantheon --data-path=data --genesis-file=..\cliqueGenesis.json --permissions-nod The command line specifies: -* Different port to Node-1 and Node-2 for P2P peer discovery using the [`--p2p-port`](../Reference/Pantheon-CLI-Syntax.md#p2p-port) option -* Different port to Node-1 and Node-2 for HTTP JSON-RPC using the [`--rpc-http-port`](../Reference/Pantheon-CLI-Syntax.md#rpc-http-port) option -* Data directory for Node-3 using the [`--data-path`](../Reference/Pantheon-CLI-Syntax.md#data-path) option +* Different port to Node-1 and Node-2 for P2P peer discovery using the [`--p2p-port`](../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#p2p-port) option +* Different port to Node-1 and Node-2 for HTTP JSON-RPC using the [`--rpc-http-port`](../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#rpc-http-port) option +* Data directory for Node-3 using the [`--data-path`](../../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#data-path) option * Other options as for as for Node-1. -When the node starts, the [enode URL](../Configuring-Pantheon/Node-Keys.md#enode-url) is displayed. +When the node starts, the [enode URL](../../Concepts/Node-Keys.md#enode-url) is displayed. The enode URL is required to update the permissions configuration file in the following steps. ### 8. Add Enode URLs for Nodes to Permissions Configuration File -In another terminal, use the [`perm_addNodesToWhitelist`](../Reference/Pantheon-API-Methods.md#perm_addnodestowhitelist) +In another terminal, use the [`perm_addNodesToWhitelist`](../../Reference/Pantheon-API-Methods.md#perm_addnodestowhitelist) JSON-RPC API method to add the nodes to the permissions configuration file for each node. Replace ``, ``, and `` with the enode URL displayed when starting each node. @@ -242,7 +242,7 @@ curl -X POST --data '{"jsonrpc":"2.0","method":"perm_addNodesToWhitelist","param ### 9. Add Nodes as Peers -Use the [`admin_addPeer`](../Reference/Pantheon-API-Methods.md#admin_addpeer) JSON-RPC API method to add +Use the [`admin_addPeer`](../../Reference/Pantheon-API-Methods.md#admin_addpeer) JSON-RPC API method to add Node-1 as a peer for Node-2 and Node-3. Replace `` with the enode URL displayed when starting Node-1. @@ -271,7 +271,7 @@ curl -X POST --data '{"jsonrpc":"2.0","method":"admin_addPeer","params":["` is the transaction hash displayed in the Event Emitter logs. * `` is the JSON-RPC HTTP service endpoint displayed when starting the network. @@ -143,7 +143,7 @@ curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getTransactionReceipt","para curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getTransactionReceipt","params":["0xe0776de9a9d4e30be0025c1308eed8bc45502cba9fe22c504a56e2fd95343e6f"],"id":1}' http://localhost:32771/jsonrpc ``` -The transaction receipt for the [privacy marker transaction](../Privacy/Explanation/Private-Transaction-Processing.md) is displayed with a `contractAddress` of `null`. +The transaction receipt for the [privacy marker transaction](../../Concepts/Privacy/Private-Transaction-Processing.md) is displayed with a `contractAddress` of `null`. ```json { diff --git a/docs/Tutorials/Private-Network-Quickstart.md b/docs/Tutorials/Quickstarts/Private-Network-Quickstart.md similarity index 96% rename from docs/Tutorials/Private-Network-Quickstart.md rename to docs/Tutorials/Quickstarts/Private-Network-Quickstart.md index c576799..f3aa877 100644 --- a/docs/Tutorials/Private-Network-Quickstart.md +++ b/docs/Tutorials/Quickstarts/Private-Network-Quickstart.md @@ -89,10 +89,10 @@ Followed by a list of the endpoints: - Use the **JSON-RPC HTTP service endpoint** to access the RPC node service from your Dapp or from cryptocurrency wallets such as Metamask. - Use the **JSON-RPC WebSocket service endpoint** to access the web socket node service from your Dapp. -- Use the **GraphQL HTTP service endpoint** to access the [HTTP GraphQL](../Pantheon-API/GraphQL.md) node service from your Dapp. +- Use the **GraphQL HTTP service endpoint** to access the [HTTP GraphQL](../../HowTo/Interact/Pantheon-APIs/GraphQL.md) node service from your Dapp. - Use the **Web block explorer address** to display the block explorer web application. View the block explorer by entering the URL in your web browser. -- Use the **Prometheus address** to access the [Prometheus dashboard](../Monitoring/Monitoring-Performance.md). +- Use the **Prometheus address** to access the [Prometheus dashboard](../../HowTo/Deploy/Monitoring-Performance.md). - Use the **Grafana address** to access the [Grafana dashboard](https://grafana.com/dashboards/10273). To display the list of endpoints again, run: @@ -112,19 +112,19 @@ to your browser. The block explorer displays a summary of the private network: -![Block Explorer](../Getting-Started/ExplorerSummary.png) +![Block Explorer](../../images/ExplorerSummary.png) Notice that the explorer indicates 6 peers: the 4 regular nodes, the mining node and the bootnode. Click the block number to the right of **Best Block** to display the block details: -![Block Details](../Getting-Started/ExplorerBlockDetails.png) +![Block Details](../../images/ExplorerBlockDetails.png) You can explore blocks by clicking on the blocks under **Bk** on the left-hand side. You can search for a specific block, transaction hash, or address by clicking the magnifying glass in the top left-hand corner. -![Explorer Search](../Getting-Started/ExplorerSearch.png) +![Explorer Search](../../images/ExplorerSearch.png) ## Monitoring nodes with Prometheus and Grafana @@ -134,11 +134,11 @@ health and usage. You can directly access these tools from your browser at the a in the endpoint list. For more details on how to configure and use these tools for your own nodes, refer to our -[performances monitoring documentation](../Monitoring/Monitoring-Performance.md), +[performances monitoring documentation](../../HowTo/Deploy/Monitoring-Performance.md), as well as [Prometheus documentation](https://prometheus.io/docs/introduction/overview/) and [Grafana documentation](https://grafana.com/docs/). -![Grafana](grafana.png) +![Grafana](../../images/grafana.png) ## Run JSON-RPC Requests @@ -254,7 +254,7 @@ of this private test network. {!global/test_accounts.md!} !!!note - Pantheon doesn't implement [account management](../Using-Pantheon/Account-Management.md). To create your own account, + Pantheon doesn't implement [account management](../../HowTo/Send-Transactions/Account-Management.md). To create your own account, you have to use a third-party tool such as MetaMask. After you sign in to MetaMask, connect to the private network RPC endpoint: diff --git a/docs/Using-Pantheon/Mining.md b/docs/Using-Pantheon/Mining.md deleted file mode 100644 index 1cb4dd4..0000000 --- a/docs/Using-Pantheon/Mining.md +++ /dev/null @@ -1,18 +0,0 @@ -description: Using Pantheon for PoW CPU mining - - -# Mining - -Start Pantheon with the following options to enable CPU mining: -```bash -pantheon --miner-enabled --miner-coinbase -``` - -Where `` is the account to which mining rewards are to be paid. For example, `fe3b557e8fb62b89f4916b721be55ceb828dbd73`. - -JSON-RPC API methods for mining are: - -* [`miner_start`](../Reference/Pantheon-API-Methods.md#miner_start) to start mining. -* [`miner_stop`](../Reference/Pantheon-API-Methods.md#miner_stop) to stop mining. -* [`eth_mining`](../Reference/Pantheon-API-Methods.md#eth_mining) to determine whether the client is actively mining new blocks. -* [`eth_hashrate`](../Reference/Pantheon-API-Methods.md#eth_hashrate) to get the number of hashes per second with which the node is mining. \ No newline at end of file diff --git a/docs/Getting-Started/ExplorerBlockDetails.png b/docs/images/ExplorerBlockDetails.png similarity index 100% rename from docs/Getting-Started/ExplorerBlockDetails.png rename to docs/images/ExplorerBlockDetails.png diff --git a/docs/Getting-Started/ExplorerSearch.png b/docs/images/ExplorerSearch.png similarity index 100% rename from docs/Getting-Started/ExplorerSearch.png rename to docs/images/ExplorerSearch.png diff --git a/docs/Getting-Started/ExplorerSummary.png b/docs/images/ExplorerSummary.png similarity index 100% rename from docs/Getting-Started/ExplorerSummary.png rename to docs/images/ExplorerSummary.png diff --git a/docs/Tutorials/Azure/alethio-light-explorer-screenshot.png b/docs/images/alethio-light-explorer-screenshot.png similarity index 100% rename from docs/Tutorials/Azure/alethio-light-explorer-screenshot.png rename to docs/images/alethio-light-explorer-screenshot.png diff --git a/docs/Tutorials/Azure/create-resource-button-screenshot.png b/docs/images/create-resource-button-screenshot.png similarity index 100% rename from docs/Tutorials/Azure/create-resource-button-screenshot.png rename to docs/images/create-resource-button-screenshot.png diff --git a/docs/Tutorials/Azure/deployment-complete-screenshot.png b/docs/images/deployment-complete-screenshot.png similarity index 100% rename from docs/Tutorials/Azure/deployment-complete-screenshot.png rename to docs/images/deployment-complete-screenshot.png diff --git a/docs/Monitoring/Alethio/ethstats.png b/docs/images/ethstats.png similarity index 100% rename from docs/Monitoring/Alethio/ethstats.png rename to docs/images/ethstats.png diff --git a/docs/Monitoring/Alethio/explorer.png b/docs/images/explorer.png similarity index 100% rename from docs/Monitoring/Alethio/explorer.png rename to docs/images/explorer.png diff --git a/docs/Tutorials/grafana.png b/docs/images/grafana.png similarity index 100% rename from docs/Tutorials/grafana.png rename to docs/images/grafana.png diff --git a/docs/index.md b/docs/index.md index 1423770..8771487 100644 --- a/docs/index.md +++ b/docs/index.md @@ -18,7 +18,7 @@ Pantheon supports enterprise features including privacy and permissioning. ## What can you do with Pantheon? -Pantheon includes a [command line interface](Reference/Pantheon-CLI-Syntax.md) and [JSON-RPC API](Pantheon-API/Pantheon-API.md) +Pantheon includes a [command line interface](Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md) and [JSON-RPC API](HowTo/Interact/Pantheon-APIs/Pantheon-API.md) for running, maintaining, debugging, and monitoring nodes in an Ethereum network. You can use the API via RPC over HTTP or via WebSockets, and Pub/Sub is supported. The API supports typical Ethereum functionalities such as: @@ -30,6 +30,6 @@ over HTTP or via WebSockets, and Pub/Sub is supported. The API supports typical The Pantheon client supports common smart contract and Dapp development, deployment, and operational use cases, using tools such as [Truffle](http://truffleframework.com/), [Remix](https://github.com/ethereum/remix), and [web3j](https://web3j.io/). The client supports common JSON-RPC API methods such as eth, net, web3, debug, and miner. -Pantheon doesn't support [key management](Using-Pantheon/Account-Management.md) inside the client. You can use +Pantheon doesn't support [key management](HowTo/Send-Transactions/Account-Management.md) inside the client. You can use [EthSigner](http://docs.ethsigner.pegasys.tech/en/latest/) with Pantheon to provide access to your key store and sign transactions. diff --git a/mkdocs.yml b/mkdocs.yml index 9683555..61c503b 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -54,111 +54,111 @@ theme: logo: icon: account_balance nav: - - Installation: - - Installation Overview: Installation/Overview.md - - Install Binary Distribution: Installation/Install-Binaries.md - - Build from Source: Installation/Build-From-Source.md - - System Requirements: Installation/System-Requirements.md - - Architecture: - - Overview: Architecture/Overview.md - - Getting Started: - - Getting Started Overview: Getting-Started/Getting-Started.md - - Starting Pantheon: Getting-Started/Starting-Pantheon.md - - Running Pantheon from Docker Image: Getting-Started/Run-Docker-Image.md + - How To: + - Get Started with Pantheon: + - System Requirements: HowTo/Get-Started/System-Requirements.md + - Install Binary Distribution: HowTo/Get-Started/Install-Binaries.md + - Build from Source: HowTo/Get-Started/Build-From-Source.md + - Start Pantheon: HowTo/Get-Started/Starting-Pantheon.md + - Run Pantheon from Docker Image: HowTo/Get-Started/Run-Docker-Image.md + - Migrate from pre v1.2 Docker Image: HowTo/Get-Started/Migration-Docker.md + - Configure Pantheon: + - Consensus Protocols: + - Clique: HowTo/Configure-Pantheon/Consensus-Protocols/Clique.md + - IBFT 2.0: HowTo/Configure-Pantheon/Consensus-Protocols/IBFT.md + - Quorum IBFT 1.0 Network: HowTo/Configure-Pantheon/Consensus-Protocols/QuorumIBFT.md + - Specify Options in a Configuration File: HowTo/Configure-Pantheon/Using-Configuration-File.md + - Configure a Free Gas Network: HowTo/Configure-Pantheon/FreeGas.md + - Predeploy a Contract in the Genesis File: HowTo/Configure-Pantheon/Contracts-in-Genesis.md + - Configure Mining: HowTo/Configure-Pantheon/Mining.md + - Pass JVM Options: HowTo/Configure-Pantheon/Passing-JVM-Options.md + - Interact with Node: + - Pantheon APIs: + - Access Pantheon APIs: HowTo/Interact/Pantheon-APIs/Pantheon-API.md + - Use JSON-RPC API over HTTP or WebSockets: HowTo/Interact/Pantheon-APIs/Using-JSON-RPC-API.md + - Use RPC Pub/Sub API over WebSockets: HowTo/Interact/Pantheon-APIs/RPC-PubSub.md + - Use GraphQL over HTTP: HowTo/Interact/Pantheon-APIs/GraphQL.md + - Authenticate JSON-RPC Requests: HowTo/Interact/Pantheon-APIs/Authentication.md + - Client Libraries: + - Use the web3.js-eea Client Library: HowTo/Interact/Client-Libraries/eeajs.md + - Filters: + - Access Logs Using JSON-RPC API: HowTo/Interact/Filters/Accessing-Logs-Using-JSON-RPC.md + - Find and Connect to Peers: + - Start a Bootnode: HowTo/Find-and-Connect/Bootnodes.md + - Configure Ports for Access: HowTo/Find-and-Connect/Configuring-Ports.md + - Manage Peers: HowTo/Find-and-Connect/Managing-Peers.md + - Use UPnP: HowTo/Find-and-Connect/Using-UPnP.md + - Send Transactions: + - Use Wallets for Key Management: HowTo/Send-Transactions/Account-Management.md + - Create and Send Transactions: HowTo/Send-Transactions/Transactions.md + - Create and Send Private Transactions: HowTo/Send-Transactions/Creating-Sending-Private-Transactions.md + - Include Revert Reason in Transaction Receipts: HowTo/Send-Transactions/Revert-Reason.md + - Limit Access to Node: + - Use Local Permissioning: HowTo/Limit-Access/Local-Permissioning.md + - Update Onchain Permissioning Whitelists: HowTo/Limit-Access/Updating-Whitelists.md + - Use Privacy Features: + - Use EEA-compliant Privacy: HowTo/Use-Privacy/EEA-Compliant.md + - Use Pantheon-extended Privacy: HowTo/Use-Privacy/Pantheon-Privacy.md + - Create and Manage Privacy Groups: HowTo/Use-Privacy/Create-Manage-Privacy-Groups.md + - Access Private and Privacy Marker Transactions: HowTo/Use-Privacy/Access-Private-Transactions.md + - Deploy for Production: + - Use Ansible to Deploy Pantheon: HowTo/Deploy/Ansible.md + - Use Prometheus for Monitoring: HowTo/Deploy/Monitoring-Performance.md + - Use Alethio Lite Explorer: HowTo/Deploy/Lite-Block-Explorer.md + - Use Alethio EthStats Lite Network Monitor: HowTo/Deploy/Lite-Network-Monitor.md + - Configure High Availability of APIs: HowTo/Deploy/High-Availability.md + - Deploy Permissioning Management Dapp: HowTo/Deploy/Production.md + - Develop Dapps on Pantheon: + - Use Truffle with Pantheon: HowTo/Develop-Dapps/Truffle.md + - Troubleshoot: + - Configure Logging: HowTo/Troubleshoot/Logging.md + - Solve Common Problems: HowTo/Troubleshoot/Troubleshooting.md - Tutorials: - - Private Network Quickstart: Tutorials/Private-Network-Quickstart.md - - Private Network Quickstart for Private Transactions: Tutorials/Privacy-Quickstart.md - - Private Network Quickstart On Azure: Tutorials/Azure/Azure-Private-Network-Quickstart.md - - Create a Private Network using Ethash (Pow): Tutorials/Create-Private-Network.md - - Create a Private Network using Clique (PoA): Tutorials/Create-Private-Clique-Network.md - - Create a Private Network using IBFT 2.0 (PoA): Tutorials/Create-IBFT-Network.md - - Create a Permissioned Network: Tutorials/Create-Permissioned-Network.md - - Pantheon API: - - Overview: Pantheon-API/Pantheon-API.md - - JSON-RPC over HTTP or WebSockets: Pantheon-API/Using-JSON-RPC-API.md - - RPC Pub/Sub over WebSockets: Pantheon-API/RPC-PubSub.md - - GraphQL over HTTP: Pantheon-API/GraphQL.md - - Authentication: Pantheon-API/Authentication.md - - Configuring Pantheon: - - Network vs Node Configuration: Configuring-Pantheon/Network-vs-Node.md - - Configuration File: Configuring-Pantheon/Using-Configuration-File.md - - Configuration Items in Genesis File: Configuring-Pantheon/Config-Items.md - - Network ID and Chain ID: Configuring-Pantheon/NetworkID-And-ChainID.md - - Free Gas Networks: Configuring-Pantheon/FreeGas.md - - Contracts in Genesis: Configuring-Pantheon/Contracts-in-Genesis.md - - Node Keys: Configuring-Pantheon/Node-Keys.md - - Accounts for Testing: Configuring-Pantheon/Accounts-for-Testing.md - - Passing JVM Options: Configuring-Pantheon/Passing-JVM-Options.md - - Networking: - - Bootnodes: Configuring-Pantheon/Networking/Bootnodes.md - - Configuring Ports: Configuring-Pantheon/Networking/Configuring-Ports.md - - Managing Peers: Configuring-Pantheon/Networking/Managing-Peers.md - - Using UPnP: Configuring-Pantheon/Networking/Using-UPnP.md - - Consensus Protocols: - - Pantheon Consensus Protocols: Consensus-Protocols/Overview-Consensus.md - - Comparing PoA Consensus Protocols: Consensus-Protocols/Comparing-PoA.md - - Clique: Consensus-Protocols/Clique.md - - IBFT 2.0: Consensus-Protocols/IBFT.md - - Quorum IBFT 1.0: Consensus-Protocols/QuorumIBFT.md - - Privacy: - - Tutorials: - - Configuring a Privacy-Enabled Network: Privacy/Tutorials/Configuring-Privacy.md - - Using web3.js-eea Multinode Example: Privacy/Tutorials/eeajs-Multinode-example.md - - How To: - - Use EEA-compliant Privacy: Privacy/How-To/EEA-Compliant.md - - Use Pantheon-extended Privacy: Privacy/How-To/Pantheon-Privacy.md - - Create and Send Private Transactions: Privacy/How-To/Creating-Sending-Private-Transactions.md - - Create and Manage Privacy Groups: Privacy/How-To/Create-Manage-Privacy-Groups.md - - Access Private and Privacy Marker Transactions: Privacy/How-To/Access-Private-Transactions.md - - Use the web3.js-eea Client Library: Privacy/How-To/eeajs.md - - Explanation: - - Privacy Overview: Privacy/Explanation/Privacy-Overview.md - - Privacy Groups: Privacy/Explanation/Privacy-Groups.md - - Processing Private Transactions: Privacy/Explanation/Private-Transaction-Processing.md - - Permissioning: - - Overview: Permissions/Permissioning-Overview.md - - Local Permissioning: Permissions/Local-Permissioning.md - - Onchain Permissioning: - - Overview: Permissions/Onchain-Permissioning/Onchain-Permissioning.md - - Getting Started with Onchain Permissioning: Permissions/Onchain-Permissioning/Getting-Started-Onchain-Permissioning.md - - Deploying Management Dapp for Production: Permissions/Onchain-Permissioning/Production.md - - Updating Whitelists: Permissions/Onchain-Permissioning/Updating-Whitelists.md - - Using Pantheon: + - Quickstarts: + - Private Network Quickstart: Tutorials/Quickstarts/Private-Network-Quickstart.md + - Private Network Quickstart for Private Transactions: Tutorials/Quickstarts/Privacy-Quickstart.md + - Private Network Quickstart On Azure: Tutorials/Quickstarts/Azure-Private-Network-Quickstart.md + - Create a Private Network: + - Using Ethash (Pow): Tutorials/Private-Network/Create-Private-Network.md + - Using Clique (PoA): Tutorials/Private-Network/Create-Private-Clique-Network.md + - Using IBFT 2.0 (PoA): Tutorials/Private-Network/Create-IBFT-Network.md + - Permissioning: + - Create a Permissioned Network: Tutorials/Permissioning/Create-Permissioned-Network.md + - Get Started with Onchain Permissioning: Tutorials/Permissioning/Getting-Started-Onchain-Permissioning.md + - Privacy: + - Create a Privacy-Enabled Network: Tutorials/Privacy/Configuring-Privacy.md + - Use web3.js-eea Multinode Example: Tutorials/Privacy/eeajs-Multinode-example.md + - Concepts: + - Architecture: Concepts/ArchitectureOverview.md + - Consensus Protocols: + - Overview: Concepts/Consensus-Protocols/Overview-Consensus.md + - Comparing PoA Consensus Protocols: Concepts/Consensus-Protocols/Comparing-PoA.md + - Privacy: + - Overview: Concepts/Privacy/Privacy-Overview.md + - Privacy Groups: Concepts/Privacy/Privacy-Groups.md + - Processing Private Transactions: Concepts/Privacy/Private-Transaction-Processing.md + - Permissioning: + - Overview: Concepts/Permissioning/Permissioning-Overview.md + - Onchain Permissioning: Concepts/Permissioning/Onchain-Permissioning.md - Transactions: - - Creating and Sending Transactions: Using-Pantheon/Transactions/Transactions.md - - Transaction Pool: Using-Pantheon/Transactions/Transaction-Pool.md - - Vadidating Transactions: Using-Pantheon/Transactions/Transaction-Validation.md - - Including Revert Reason: Using-Pantheon/Transactions/Revert-Reason.md - - Using Truffle with Pantheon: Using-Pantheon/Truffle.md - - Events and Logs: - - Overview: Using-Pantheon/Events-and-Logs.md - - Accessing Logs Using JSON-RPC API: Using-Pantheon/Accessing-Logs-Using-JSON-RPC.md - - Using Wallets for Account Management: Using-Pantheon/Account-Management.md - - Mining: Using-Pantheon/Mining.md - - Monitoring: - - Logging: Monitoring/Logging.md - - Monitoring Performance: Monitoring/Monitoring-Performance.md - - Monitoring Network: - - Alethio Overview: Monitoring/Alethio/Overview.md - - Alethio Ethereum Lite Explorer: Monitoring/Alethio/Lite-Block-Explorer.md - - Alethio EthStats Lite Network Monitor: Monitoring/Alethio/Lite-Network-Monitor.md - - Deploying Pantheon: - - Ansible: Deploying-Pantheon/Ansible.md - - High Availability of APIs: Deploying-Pantheon/High-Availability.md - - Migrating Docker Image: Deploying-Pantheon/Migration-Docker.md - - Troubleshooting: - - Troubleshooting: Troubleshooting/Troubleshooting.md + - Transaction Pool: Concepts/Transactions/Transaction-Pool.md + - Vadidating Transactions: Concepts/Transactions/Transaction-Validation.md + - Events and Logs: Concepts/Events-and-Logs.md + - Network vs Node Configuration: Concepts/Network-vs-Node.md + - Network ID and Chain ID: Concepts/NetworkID-And-ChainID.md + - Node Keys: Concepts/Node-Keys.md + - Alethio: Concepts/AlethioOverview.md - Reference: - - Pantheon Command Line: - - Options: Reference/Pantheon-CLI-Syntax.md - - Subcommands: Reference/Pantheon-CLI-Subcommands.md + - Pantheon Command Line: + - Options: Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md + - Subcommands: Reference/Pantheon-CLI/Pantheon-CLI-Subcommands.md - Pantheon API Methods: Reference/Pantheon-API-Methods.md - Pantheon API Objects: Reference/Pantheon-API-Objects.md + - Configuration Items in Genesis File: Reference/Config-Items.md - web3.js-eaa Methods: Reference/web3js-eea-Methods.md - - Security Disclosure: - - Security Disclosure Policy: Security/Responsible-Disclosure.md - - Resources: - - Blog Posts and Webinars: Resources/Resources.md + - Accounts for Testing: Reference/Accounts-for-Testing.md + - Security Disclosure Policy: Reference/Responsible-Disclosure.md + - Blog Posts and Webinars: Reference/Resources.md markdown_extensions: - toc: