From bb1e8f9bfc9c85a60fdca77f053302c0b3b606e7 Mon Sep 17 00:00:00 2001 From: Madeline Murray Date: Tue, 21 Jan 2020 06:50:24 +1000 Subject: [PATCH 1/3] 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/3] 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/3] 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.