Skip to content
This repository has been archived by the owner on Sep 16, 2019. It is now read-only.

Commit

Permalink
Navigation reorganisation (#18)
Browse files Browse the repository at this point in the history
  • Loading branch information
MadelineMurray authored Aug 27, 2019
1 parent d48ca04 commit 1146254
Show file tree
Hide file tree
Showing 94 changed files with 773 additions and 802 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -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 [[email protected]](mailto:[email protected]) for
details about the full versions and enterprise solutions.
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -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:

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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.
[data directory](../Reference/Pantheon-CLI/Pantheon-CLI-Syntax.md#data-path) for the node.
Original file line number Diff line number Diff line change
Expand Up @@ -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.

Original file line number Diff line number Diff line change
Expand Up @@ -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.

Expand All @@ -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.

Expand All @@ -30,25 +30,25 @@ The enode URL is `enode://<id>@<host:port>` where:

* `<id>` is the node public key excluding the initial 0x.
* `<host:port>` 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`

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.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand All @@ -30,15 +30,15 @@ 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

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.
Expand All @@ -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
Expand All @@ -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)
![Permissioning Flow](../../images/PermissioningFlow.png)
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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.

Expand All @@ -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.

Expand All @@ -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.
Expand All @@ -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).
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
56 changes: 0 additions & 56 deletions docs/Deploying-Pantheon/Migration-Docker.md

This file was deleted.

14 changes: 0 additions & 14 deletions docs/Getting-Started/Getting-Started.md

This file was deleted.

Loading

0 comments on commit 1146254

Please sign in to comment.