From bb1e8f9bfc9c85a60fdca77f053302c0b3b606e7 Mon Sep 17 00:00:00 2001 From: Madeline Murray Date: Tue, 21 Jan 2020 06:50:24 +1000 Subject: [PATCH 1/4] Added default data location Signed-off-by: Madeline Murray --- docs/HowTo/Backup/Backup.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/docs/HowTo/Backup/Backup.md b/docs/HowTo/Backup/Backup.md index e4b3ce9a752..204b50fceae 100644 --- a/docs/HowTo/Backup/Backup.md +++ b/docs/HowTo/Backup/Backup.md @@ -16,6 +16,9 @@ stored under source control. We recommend mounting a separate volume to store data. Use the [`--data-path`](../../Reference/CLI/CLI-Syntax.md#data-path) command line option to pass the path to Besu. +The default data location is the directory in which Besu is installed +or `/opt/besu/database` if using the [Besu Docker image](../../HowTo/Get-Started/Run-Docker-Image.md). + Having some data reduces the time to synchronise a new node. Periodic backups can be performed of the data directory and the data sent to your preferred backup mechanism. For example, cron job and rsync, archives to cloud such as s3, or `tar.gz` archives. From f28af3325e86e48ee8b466d86d76677b4fa89d38 Mon Sep 17 00:00:00 2001 From: Madeline Murray Date: Fri, 31 Jan 2020 14:12:01 +1000 Subject: [PATCH 2/4] added protocol upgrades content Signed-off-by: Madeline Murray --- docs/Concepts/Protocol-Upgrades.md | 25 +++++++++++++++++++++++++ docs/HowTo/Upgrade/Upgrade-Protocol.md | 18 ++++++++++++++++++ mkdocs.yml | 5 ++++- 3 files changed, 47 insertions(+), 1 deletion(-) create mode 100644 docs/Concepts/Protocol-Upgrades.md create mode 100644 docs/HowTo/Upgrade/Upgrade-Protocol.md diff --git a/docs/Concepts/Protocol-Upgrades.md b/docs/Concepts/Protocol-Upgrades.md new file mode 100644 index 00000000000..e60f1dbdf5a --- /dev/null +++ b/docs/Concepts/Protocol-Upgrades.md @@ -0,0 +1,25 @@ +description: Protocol Upgrades + + +# Protocol upgrades in private networks + +Hardforks are the mechanism for upgrading the Ethereum protocol. + +For the Ethereum mainnet and public testnets (for example, Rinkeby) the milestone blocks are defined in +Hyperledger Besu. Upgrading your Besu client applies the protocol upgrade (also called hardfork) for the network. + +For private networks, protocol upgrades must be agreed on and co-ordinated with all network participants. +The [milestone block](../Reference/Config-Items.md#milestone-blocks) at which to apply the protocol upgrade +[is specified in the genesis file](../HowTo/Upgrade/Upgrade-Protocol.md). + +## Backwards Compatibility + +Some protocol upgrades include changes that may break existing contracts (for example, gas cost changes). +Before upgrading your protocol, review included EIPs for possible impact. A [meta EIP](https://eips.ethereum.org/meta) +for each hardfork lists included EIPs. For example, [Istanbul](https://eips.ethereum.org/EIPS/eip-1679). + +!!! tip + To maintain compatibility with future protocol upgrades, do not hardcode any gas price assumptions. + + Implementing upgradeable contracts enables contracts to be upgraded if a protocol upgrade does include + breaking changes. \ No newline at end of file diff --git a/docs/HowTo/Upgrade/Upgrade-Protocol.md b/docs/HowTo/Upgrade/Upgrade-Protocol.md new file mode 100644 index 00000000000..413d55bf08a --- /dev/null +++ b/docs/HowTo/Upgrade/Upgrade-Protocol.md @@ -0,0 +1,18 @@ +description: Upgrading protocol versions + + +## Upgrading your protocol in a private network + +To [upgrade the protocol](../../Concepts/Protocol-Upgrades.md) (also known as a hardfork) in a private network: + +1. Review included EIPs for breaking changes. A [meta EIP](https://eips.ethereum.org/meta) +for each hardfork lists included EIPs. For example, [Istanbul](https://eips.ethereum.org/EIPS/eip-1679). +1. Network participants agree on block number at which to [hardfork](../../Concepts/Protocol-Upgrades.md). +1. For each node in the network: + + a. Add the [milestone block number](../../Reference/Config-Items.md#milestone-blocks) to the genesis file. + b. Restart node before reaching milestone block. + +!!! caution + To avoid a forked network, all network participants must update their genesis file to include the + agreed on milestone block and restart their node before reaching the milestone block. \ No newline at end of file diff --git a/mkdocs.yml b/mkdocs.yml index 744b4212214..3e6bdea631a 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -119,7 +119,9 @@ nav: - Use Alethio Lite Explorer: HowTo/Deploy/Lite-Block-Explorer.md - Use Alethio EthStats Lite Network Monitor: HowTo/Deploy/Lite-Network-Monitor.md - Backup and Restore: HowTo/Backup/Backup.md - - Upgrade Network: HowTo/Upgrade/Upgrade-Network.md + - Upgrade: + - Upgrade Network: HowTo/Upgrade/Upgrade-Network.md + - Upgrade Protocol: HowTo/Upgrade/Upgrade-Protocol.md - Develop Dapps on Besu: - Use Truffle with Besu: HowTo/Develop-Dapps/Truffle.md - Use Web3.js to Sign Transactions: HowTo/Develop-Dapps/Use-web3js.md @@ -154,6 +156,7 @@ nav: - Permissioning: - Overview: Concepts/Permissioning/Permissioning-Overview.md - Onchain Permissioning: Concepts/Permissioning/Onchain-Permissioning.md + - Protocol Upgrades: Concepts/Protocol-Upgrades.md - Pruning: Concepts/Pruning.md - Transactions: - Transaction Pool: Concepts/Transactions/Transaction-Pool.md From ad7e71c7e882e3a76b28386a0ed5e8af9f9a675e Mon Sep 17 00:00:00 2001 From: Madeline Murray Date: Thu, 13 Feb 2020 14:48:47 +1000 Subject: [PATCH 3/4] rework Signed-off-by: Madeline Murray --- docs/Concepts/Protocol-Upgrades.md | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/docs/Concepts/Protocol-Upgrades.md b/docs/Concepts/Protocol-Upgrades.md index e60f1dbdf5a..683c1d0d1af 100644 --- a/docs/Concepts/Protocol-Upgrades.md +++ b/docs/Concepts/Protocol-Upgrades.md @@ -1,14 +1,15 @@ description: Protocol Upgrades -# Protocol upgrades in private networks +# Network upgrades in private networks -Hardforks are the mechanism for upgrading the Ethereum protocol. +Network upgrades are the mechanism for upgrading the Ethereum protocol. The point in time at +which the protocol upgrade is applied is the network upgrade. For the Ethereum mainnet and public testnets (for example, Rinkeby) the milestone blocks are defined in -Hyperledger Besu. Upgrading your Besu client applies the protocol upgrade (also called hardfork) for the network. +Hyperledger Besu. Upgrading your Besu client applies the network upgrade. -For private networks, protocol upgrades must be agreed on and co-ordinated with all network participants. +For private networks, protocol upgrades must be agreed on and the network upgrade co-ordinated with all network participants. The [milestone block](../Reference/Config-Items.md#milestone-blocks) at which to apply the protocol upgrade [is specified in the genesis file](../HowTo/Upgrade/Upgrade-Protocol.md). @@ -16,7 +17,7 @@ The [milestone block](../Reference/Config-Items.md#milestone-blocks) at which to Some protocol upgrades include changes that may break existing contracts (for example, gas cost changes). Before upgrading your protocol, review included EIPs for possible impact. A [meta EIP](https://eips.ethereum.org/meta) -for each hardfork lists included EIPs. For example, [Istanbul](https://eips.ethereum.org/EIPS/eip-1679). +for each protocol upgrade lists included EIPs. For example, [Istanbul](https://eips.ethereum.org/EIPS/eip-1679). !!! tip To maintain compatibility with future protocol upgrades, do not hardcode any gas price assumptions. From b5183d085cf9ddff837434b64f3b5e964b7c483f Mon Sep 17 00:00:00 2001 From: Madeline Murray Date: Fri, 14 Feb 2020 14:10:16 +1000 Subject: [PATCH 4/4] Updated link and changed topic name Signed-off-by: Madeline Murray --- docs/HowTo/Backup/Backup.md | 2 +- docs/HowTo/Deploy/Bootnodes.md | 2 +- .../Upgrade/{Upgrade-Network.md => Upgrade-Node.md} | 10 +++++----- docs/HowTo/Upgrade/Upgrade-Protocol.md | 6 +++--- mkdocs.yml | 2 +- 5 files changed, 11 insertions(+), 11 deletions(-) rename docs/HowTo/Upgrade/{Upgrade-Network.md => Upgrade-Node.md} (83%) diff --git a/docs/HowTo/Backup/Backup.md b/docs/HowTo/Backup/Backup.md index 204b50fceae..383b9b8342e 100644 --- a/docs/HowTo/Backup/Backup.md +++ b/docs/HowTo/Backup/Backup.md @@ -43,4 +43,4 @@ If log messages indicate a corrupt database, the cleanest way to recover is: ## Finding Peers on Restarting -The process for finding peers on restarting is the same as [finding peers after upgrading and restarting](../Upgrade/Upgrade-Network.md#finding-peers-on-restarting). +The process for finding peers on restarting is the same as [finding peers after upgrading and restarting](../Upgrade/Upgrade-Node.md#finding-peers-on-restarting). diff --git a/docs/HowTo/Deploy/Bootnodes.md b/docs/HowTo/Deploy/Bootnodes.md index 9b10d1f74cb..857ea0bf396 100644 --- a/docs/HowTo/Deploy/Bootnodes.md +++ b/docs/HowTo/Deploy/Bootnodes.md @@ -41,5 +41,5 @@ Adding new bootnodes is a similar process to creating bootnodes. Once the bootno update the [`--bootnodes`](../../Reference/CLI/CLI-Syntax.md#bootnodes) command line option for each node to include the new bootnodes. When bootnodes are added, running nodes don’t need to be restarted. Updating the [`--bootnodes`](../../Reference/CLI/CLI-Syntax.md#bootnodes) -option means the next time they are restarted (for example, when [upgrading](../Upgrade/Upgrade-Network.md)), +option means the next time they are restarted (for example, when [upgrading](../Upgrade/Upgrade-Node.md)), the node connects to the new bootnodes. diff --git a/docs/HowTo/Upgrade/Upgrade-Network.md b/docs/HowTo/Upgrade/Upgrade-Node.md similarity index 83% rename from docs/HowTo/Upgrade/Upgrade-Network.md rename to docs/HowTo/Upgrade/Upgrade-Node.md index 0830fc9945f..33a1a303f84 100644 --- a/docs/HowTo/Upgrade/Upgrade-Network.md +++ b/docs/HowTo/Upgrade/Upgrade-Node.md @@ -1,7 +1,7 @@ description: Upgrade Besu -# Upgrading your Network +# Upgrading your Besu node We recommend: @@ -10,11 +10,11 @@ We recommend: ## Ansible -The [Ansible role on Galaxy](https://galaxy.ansible.com/pegasyseng/pantheon) can be used directly -or customised to suit your needs. Upgrade by running the play. The play: +The [Ansible role on Galaxy](https://galaxy.ansible.com/pegasyseng/hyperledger_besu) can be used directly +or customised to suit your needs. -Upgrade the Besu version on nodes by running the play with the new version. For details, see the [Readme on Galaxy](https://galaxy.ansible.com/pegasyseng/pantheon). -The play: +Upgrade the Besu version on nodes by running the play with the new version. For details, see +the [Readme on Galaxy](https://galaxy.ansible.com/pegasyseng/hyperledger_besu). The play: 1. Stops Besu. 1. Downloads the updated version. diff --git a/docs/HowTo/Upgrade/Upgrade-Protocol.md b/docs/HowTo/Upgrade/Upgrade-Protocol.md index 413d55bf08a..df276c012e0 100644 --- a/docs/HowTo/Upgrade/Upgrade-Protocol.md +++ b/docs/HowTo/Upgrade/Upgrade-Protocol.md @@ -3,11 +3,11 @@ description: Upgrading protocol versions ## Upgrading your protocol in a private network -To [upgrade the protocol](../../Concepts/Protocol-Upgrades.md) (also known as a hardfork) in a private network: +To [upgrade the protocol](../../Concepts/Protocol-Upgrades.md) in a private network: 1. Review included EIPs for breaking changes. A [meta EIP](https://eips.ethereum.org/meta) -for each hardfork lists included EIPs. For example, [Istanbul](https://eips.ethereum.org/EIPS/eip-1679). -1. Network participants agree on block number at which to [hardfork](../../Concepts/Protocol-Upgrades.md). +for each protocol upgrade lists included EIPs. For example, [Istanbul](https://eips.ethereum.org/EIPS/eip-1679). +1. Network participants agree on block number at which to [upgrade](../../Concepts/Protocol-Upgrades.md). 1. For each node in the network: a. Add the [milestone block number](../../Reference/Config-Items.md#milestone-blocks) to the genesis file. diff --git a/mkdocs.yml b/mkdocs.yml index 3e6bdea631a..48c733cf39c 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -120,7 +120,7 @@ nav: - Use Alethio EthStats Lite Network Monitor: HowTo/Deploy/Lite-Network-Monitor.md - Backup and Restore: HowTo/Backup/Backup.md - Upgrade: - - Upgrade Network: HowTo/Upgrade/Upgrade-Network.md + - Upgrade Node: HowTo/Upgrade/Upgrade-Node.md - Upgrade Protocol: HowTo/Upgrade/Upgrade-Protocol.md - Develop Dapps on Besu: - Use Truffle with Besu: HowTo/Develop-Dapps/Truffle.md