Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
50 commits
Select commit Hold shift + click to select a range
6a1f20f
Windows is now supported in the quickstart (#143)
EdJoJob Feb 6, 2020
ee650ac
quickstart updates all round (#141)
joshuafernandes Feb 9, 2020
b93cac5
Fixed typo (#150)
MadelineMurray Feb 10, 2020
a89a555
Add multi-tenancy information. (#131)
bgravenorst Feb 10, 2020
420f1f2
Apply renames for the quickstart repo (#152)
EdJoJob Feb 12, 2020
fb21049
Added content on protocol upgrades (#132)
MadelineMurray Feb 13, 2020
15d19d6
Fixed Ansible link and renamed topic (#168)
MadelineMurray Feb 14, 2020
e6a50fa
permissioning (#170)
wslyvh Feb 14, 2020
e99e619
Vale and mdlint editorial updates - DCO.md (#162)
Feb 14, 2020
3133712
updated CI and customised checks (#165)
NicolasMassart Feb 19, 2020
2ccc7c0
Added new NAT options (#179)
MadelineMurray Feb 20, 2020
e38cc1c
Editorial mdlint vale updates for Concepts/Transactions directory (#185)
Feb 20, 2020
5e8ba8e
Editorial mklint and vale updates in Concepts/Permissioning dir (#181)
Feb 20, 2020
0acfbf1
mdlint and vale editorial updates in Concepts/Consensus-Protocols dir…
Feb 20, 2020
302a85f
mdlint and vale editorial edits in the Concepts directory (#177)
Feb 20, 2020
e925eb1
vale and mklint editorial updates - CONTRIBUTING.md (#163)
Feb 20, 2020
41e17c2
mdlint and vale editorial updates - index.md (#169)
Feb 20, 2020
fe09f98
Added plugins_reloadPluginConfig (#184)
MadelineMurray Feb 21, 2020
df318e9
[BESU-163] Add inbound and outbound TLS information. (#124)
bgravenorst Feb 21, 2020
af00d26
Add multi-tenancy whitelist info. (#193)
bgravenorst Feb 24, 2020
b237ec2
add redirect plugin and initial configuration from RTD redirects (#172)
NicolasMassart Feb 24, 2020
d9371ab
Fixed typo (#150)
MadelineMurray Feb 10, 2020
87c37a9
Added content on protocol upgrades (#132)
MadelineMurray Feb 13, 2020
99b7aad
Fixed Ansible link and renamed topic (#168)
MadelineMurray Feb 14, 2020
72e2275
mdlint and vale editorial edits in the Concepts directory (#177)
Feb 20, 2020
c288509
Editorial mdlint and vale edits for HowTo/Deploy directory
Feb 24, 2020
d8c61cc
A few extra changes
Feb 24, 2020
9be71f0
Editorial mdlint and vale updates in the Concepts/Privacy dir (#183)
Feb 25, 2020
932379d
Editorial mdlink and vale updates for HowTo/Configure directory (#187)
Feb 25, 2020
a7861a6
Editorial mdlint and vale updates to Howto/Backup directory (#186)
Feb 25, 2020
884cc70
Updates based on @MadelineMurray feedback
Feb 25, 2020
6043117
add an info pass for md linting (#205)
NicolasMassart Feb 25, 2020
ab5dbea
add postman collection locally and fix the postman button style (#174)
NicolasMassart Feb 25, 2020
52ee20b
fix code blocks in doc by updating mkdocs and dependencies (#158)
NicolasMassart Feb 25, 2020
4b20196
Add links to TLS content. (#191)
bgravenorst Feb 25, 2020
f9b2cee
Add TLS diagram. (#194)
bgravenorst Feb 25, 2020
562d11d
Updates based on @NicolasMassart feedback
Feb 25, 2020
0d3833f
Add Besu Plugin information (#142)
bgravenorst Feb 26, 2020
228d0ab
Added reorg compatible privacy (#192)
MadelineMurray Feb 26, 2020
73ae28d
add priv_call API Method (#144)
Feb 26, 2020
36f71b3
Added tracing API (#182)
MadelineMurray Feb 26, 2020
10473ff
Add Grant as a maintainer (#199)
NicolasMassart Feb 26, 2020
0958da0
Added auto log bloom caching option (#210)
MadelineMurray Feb 26, 2020
ed9dc56
Updated EthStats Lite para in Lite-Network-Monitor.md
Feb 27, 2020
8fd6595
Added level 1 headers
Feb 27, 2020
fac3369
Updated unordered list style
Feb 27, 2020
692eef9
List indentation update
Feb 27, 2020
11cb5a4
Merge branch 'master' into grantnoble-howto-deploy-mdlint-vale
Feb 27, 2020
83f6d70
Merge branch 'master' into grantnoble-howto-deploy-mdlint-vale
Feb 28, 2020
e184760
Merge branch 'master' into grantnoble-howto-deploy-mdlint-vale
Mar 1, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 5 additions & 3 deletions docs/Concepts/Pruning.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,11 @@ description: Pruning
# Pruning

!!! caution
Do not use pruning in Hyperledger Besu v1.4.0. Pruning has a [known bug](https://github.com/hyperledger/besu/blob/master/CHANGELOG.md#known-issues).

If using fast sync in v1.4.0, explicitly disable pruning using [`--pruning-enabled=false`](../Reference/CLI/CLI-Syntax.md#pruning-enabled).
Do not use pruning in Hyperledger Besu v1.4.0. Pruning has a
[known bug](https://github.com/hyperledger/besu/blob/master/CHANGELOG.md#known-issues).

If using fast sync in v1.4.0, explicitly disable pruning using
[`--pruning-enabled=false`](../Reference/CLI/CLI-Syntax.md#pruning-enabled).

Use pruning to reduce storage required for the world state. Pruning removes state trie nodes that
are not required.
Expand Down
22 changes: 13 additions & 9 deletions docs/HowTo/Deploy/Ansible.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,17 @@
title: Deploy Hyperledger Besu with Ansible
description: Deploying Hyperledger Besu with Ansible role on Galaxy
<!--- END of page meta data -->
---
title: Deploy Hyperledger Besu with Ansible
description: Deploying Hyperledger Besu with Ansible role on Galaxy
---

Use the [Hyperledge Besu role](https://galaxy.ansible.com/pegasyseng/hyperledger_besu) published on Galaxy to deploy Besu using Ansible.
# Deploying Hyperledger Besu with Ansible

Refer to the [Readme](https://galaxy.ansible.com/pegasyseng/hyperledger_besu) for details.
To deploy Hyperledger Besu using Ansible, use the
[Hyperledge Besu role](https://galaxy.ansible.com/pegasyseng/hyperledger_besu) published on Galaxy.

For more information, see the
[Ansible readme](https://galaxy.ansible.com/pegasyseng/hyperledger_besu).

!!! important
We strongly recommend automating network creation. Automating makes updates easy and ensures your
configuring is in sync across the network.

Use the [Besu role](https://galaxy.ansible.com/pegasyseng/hyperledger_besu) for automation of network creation.

We strongly recommend automating network creation. Automating makes updates easier and ensures
your configuration is synchronized across the network.
78 changes: 45 additions & 33 deletions docs/HowTo/Deploy/Bootnodes.md
Original file line number Diff line number Diff line change
@@ -1,45 +1,57 @@
description: Configuring bootnodes in production networks
<!--- END of page meta data -->
---
description: Configuring bootnodes in production networks
---

# Configuring Bootnodes in a Production Network
# Configuring bootnodes in a production network

A network must have at least one operating bootnode. To allow for continuity in the event of failure,
configure two or more bootnodes.
A network must have at least one operating bootnode. To allow for continuity in the event of
failure, configure two or more bootnodes.

We do not recommend putting bootnodes behind a load balancer since the [enode](../../Concepts/Node-Keys.md#enode-url) is
tied to the node's public key, IP address, and discovery ports. Any changes to the enode of the bootnode prevents other nodes
from being able to establish a connection with the bootnode. This is why we recommend putting more bootnodes on the network itself.
We do not recommend putting bootnodes behind a load balancer because the
[enode](../../Concepts/Node-Keys.md#enode-url) relates to the node public key, IP address, and
discovery ports. Any changes to a bootnode enode prevents other nodes from being able to establish
a connection with the bootnode. This is why we recommend putting more bootnodes on the network
itself.

To ensure that the bootnode's enode does not change when recovering from a complete bootnode failure:
To ensure that a bootnode enode does not change when recovering from a complete bootnode failure:

1. Create the [node key pair](../../Concepts/Node-Keys.md) (that is, the private and public key) before starting the bootnode.
1. When creating bootnodes in the cloud (for example, AWS, Azure), attempt to assign a static IP to them. If your network is:

* Publicly accessible, assign an elastic IP.

* Internal only, specify a private IP address when you create the instance and record this IP address.
1. Create the [node key pair](../../Concepts/Node-Keys.md) (that is, the private and public key)
before starting the bootnode.
1. When creating bootnodes in the cloud (for example, AWS and Azure), attempt to assign a static IP
address to them. If your network is:

We recommend that the bootnode configuration be stored under source control.
* Publicly accessible, assign an elastic IP.
* Internal only, specify a private IP address when you create the instance and record this IP
address.

## Specifying Bootnodes
We recommend that you store the bootnode configuration under source control.

To allow for failure, specify all bootnodes on the command line (even to the bootnodes themselves).
## Specifying bootnodes

!!! example
If your network has two bootnodes, pass the following parameter to all nodes, including the bootnodes.

`--bootnodes=enode://<publicKeyBootnode1>@<ipBootnode1>:30303,<publicKeyBootnode2>@<ipBootnode2>:30303`

!!! tip
Having each bootnode list the other bootnodes increases the speed of discovery. Nodes ignore their own
enode in the bootnodes list so it's not required to specify different bootnode lists to the bootnodes
themselves.
To allow for failure, specify all bootnodes on the command line (even to the bootnodes themselves).

## Adding and Removing Bootnodes
!!! example

Adding new bootnodes is a similar process to creating bootnodes. Once the bootnodes have been created and added to the network,
update the [`--bootnodes`](../../Reference/CLI/CLI-Syntax.md#bootnodes) command line option for each node to include the new bootnodes.
If your network has two bootnodes, pass the following parameter to all nodes, including the
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-Node.md)),
the node connects to the new bootnodes.
```bash
--bootnodes=enode://<publicKeyBootnode1>@<ipBootnode1>:30303,<publicKeyBootnode2>@<ipBootnode2>:30303
```

!!! tip

Having each bootnode list the other bootnodes increases the speed of discovery. Nodes ignore
their own enode in the bootnodes list so it is not required to specify different bootnode lists
to the bootnodes themselves.

## Adding and removing bootnodes

Adding new bootnodes is a similar process to creating bootnodes. After creating the bootnodes and
adding them to the network,update the [`--bootnodes`](../../Reference/CLI/CLI-Syntax.md#bootnodes)
command line option for each node to include the new bootnodes.

When adding bootnodes, you do not need to restart running nodes. By updating the
[`--bootnodes`](../../Reference/CLI/CLI-Syntax.md#bootnodes) option, the next time you restart the
nodes (for example, when [upgrading](../Upgrade/Upgrade-Node.md)), the nodes connect to the new
bootnodes.
14 changes: 9 additions & 5 deletions docs/HowTo/Deploy/Cloud.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,12 @@
description: Deploying Besu to cloud
<!--- END of page meta data -->
---
description: Deploying Besu to the cloud
---

When deploying to the cloud:
# Deploying Hyperledger Besu to the cloud

* Ensure you have enough spread across Availability Zones (AZs) and Regions especially for bootnodes and validators.
* If your network is a multi-region network, consider using VPC Peering to reduce latency.
When deploying Hyperledger Besu to the cloud:

* Ensure you have enough spread across Availability Zones (AZs) and Regions, especially for
bootnodes and validators.
* If your network is a multi-region network, consider using VPC Peering to reduce latency.
* Where required, use VPNs to connect to your on premise systems, or single private chains.
21 changes: 14 additions & 7 deletions docs/HowTo/Deploy/Kubernetes.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,18 @@
title: Deploy a Hyperledger Besu Private Network with Kubernetes
description: Deploying Hyperledger Besu with Kubernetes
<!--- END of page meta data -->
---
title: Deploy a Hyperledger Besu private network with Kubernetes
description: Deploying Hyperledger Besu with Kubernetes
---

Use the [reference implementations](https://github.com/PegaSysEng/besu-kubernetes) to install private networks using Kubernetes(K8s). Reference implementations are available using:
# Deploying Hyperledger Besu with Kubernetes

Use the [reference implementations](https://github.com/PegaSysEng/besu-kubernetes) to install
private networks using Kubernetes(K8s). Reference implementations are available using:

* [Helm](https://github.com/PegaSysEng/besu-kubernetes/tree/master/helm)
* [Helmfile](https://github.com/PegaSysEng/besu-kubernetes/tree/master/helmfile/private-network-ibft-automated)
* [kubectl](https://github.com/PegaSysEng/besu-kubernetes/tree/master/kubectl)
* [Helmfile]
* [kubectl](https://github.com/PegaSysEng/besu-kubernetes/tree/master/kubectl).

Familiarize yourself with the reference implementations and customize them for your requirements.

Familiarize yourself with the reference implementations and customize them for your requirements.
<!-- Links -->
[Helmfile]: https://github.com/PegaSysEng/besu-kubernetes/tree/master/helmfile/private-network-ibft-automated
103 changes: 56 additions & 47 deletions docs/HowTo/Deploy/Lite-Block-Explorer.md
Original file line number Diff line number Diff line change
@@ -1,101 +1,110 @@
---
description: Ethereum Lite Explorer
<!--- END of page meta data -->
---

Use the [Alethio Ethereum Lite Explorer](https://lite-explorer.aleth.io/) to explore blockchain data
at the block, transaction, and account level.

The Alethio Ethereum Lite Explorer is a web application that connects to any Ethereum
JSON-RPC enabled node. No online server, hosting, or trusting third parties to display the blockchain
data is required.
# Alethio Ethereum Lite Explorer

Use the [Alethio Ethereum Lite Explorer](https://lite-explorer.aleth.io/) to explore blockchain
data at the block, transaction, and account level.

The Alethio Ethereum Lite Explorer is a web application that connects to any Ethereum
JSON-RPC-enabled node. The Explorer does not require an online server, hosting, or trusting third
parties to display the blockchain data.

## Prerequisites

[Docker](https://docs.docker.com/install/) or [Node.js](https://nodejs.org/)
[Docker](https://docs.docker.com/install/) or [Node.js](https://nodejs.org/).

!!! tip
Using Docker is the easiest way to get started using the Ethereum Lite Explorer with Hyperledger
Besu if you do not have Node.js installed.

## Run Using Docker
Using Docker is the easiest way to get started using the Ethereum Lite Explorer with
Hyperledger Besu if you do not have Node.js installed.

## Run using Docker

To run the Ethereum Lite Explorer using the Docker image:
To run the Ethereum Lite Explorer using the Docker image:

1. Start Besu with the [`--rpc-http-enabled`](../../Reference/CLI/CLI-Syntax.md#rpc-http-enabled) option.
1. Start Besu with the [`--rpc-http-enabled`](../../Reference/CLI/CLI-Syntax.md#rpc-http-enabled)
option.

!!! example

!!! example

To run Besu in development mode:

```bash
besu --network=dev --miner-enabled --miner-coinbase=0xfe3b557e8fb62b89f4916b721be55ceb828dbd73 --rpc-http-cors-origins="all" --host-whitelist="*" --rpc-http-enabled --data-path=/tmp/tmpDatdir
```

1. Run the `alethio/ethereum-lite-explorer` Docker image specifying the JSON-RPC HTTP URL (`http://localhost:8545` in this example):
1. Run the `alethio/ethereum-lite-explorer` Docker image specifying the JSON-RPC HTTP URL
(`http://localhost:8545` in this example):

```bash
docker run --rm -p 8080:80 -e APP_NODE_URL=http://localhost:8545 alethio/ethereum-lite-explorer
```

1. Open [http://localhost:8080](http://localhost:8080) in your browser to view the Lite Explorer.
1. Open [http://localhost:8080](http://localhost:8080) in your browser to view the Lite Explorer.

![Ethereum Lite Explorer](../../images/explorer.png)

!!! note "Default HTTP port"

We are using port 8080 to run the Ethereum Lite Explorer so
the [EthStats Lite](Lite-Network-Monitor.md) can use port 80. You can then run
both at the same time.
the [EthStats Lite](Lite-Network-Monitor.md) can use port 80, allowing you to run both at
the same time.

## Install and run with Node.js

## Install and Run with Node.js
1. Clone the `ethereum-lite-explorer` repository:

1. Clone the `ethereum-lite-explorer` repository:

```bash
git clone https://github.com/Alethio/ethereum-lite-explorer.git
```

1. Change into the `ethereum-lite-explorer` directory:
1. Change into the `ethereum-lite-explorer` directory:

```bash
cd ethereum-lite-explorer
```

1. Install npm packages:
1. Install npm packages:

```bash
npm install
```

1. Copy the sample config:
1. Copy the sample configaration:

```bash
```bash
cp config.default.json config.dev.json
```

1. Update the `config.dev.json` file:

* Set `APP_NODE_URL` to the JSON-RPC HTTP URL of your node (`http://localhost:8545` in this example)

* Remove other environment variables.

1. In another terminal, start Besu with the [`--rpc-http-enabled`](../../Reference/CLI/CLI-Syntax.md#rpc-http-enabled) option.
1. Update the `config.dev.json` file:

* Set `APP_NODE_URL` to the JSON-RPC HTTP URL of your node (`http://localhost:8545` in this
example).
* Remove other environment variables.

1. In another terminal, start Besu with the
[`--rpc-http-enabled`](../../Reference/CLI/CLI-Syntax.md#rpc-http-enabled) option.

!!! example

!!! example

To run Besu in development mode:

```bash
besu --network=dev --miner-enabled --miner-coinbase=0xfe3b557e8fb62b89f4916b721be55ceb828dbd73 --rpc-http-cors-origins="all" --host-whitelist="*" --rpc-http-enabled --data-path=/tmp/tmpDatdir
```
1. In the `ethereum-lite-explorer` directory, run the Lite Explorer in development mode:

1. In the `ethereum-lite-explorer` directory, run the Lite Explorer in development mode:

```bash
npm run build
npm run start
```
1. A browser window displays the Ethereum Lite Explorer (http://localhost:3000/).
## Lite Block Explorer Documentation

See the Ethereum Lite Explorer [GitHub repository](https://github.com/Alethio/ethereum-lite-explorer)
for more documentation, including details on deploying it.
```

A browser window displays the Ethereum Lite Explorer (http://localhost:3000/).

## Lite Block Explorer documentation

For more information about Ethereum Lite Explorer, including details on how to deploy it, see the
[GitHub repository](https://github.com/Alethio/ethereum-lite-explorer).
Loading