diff --git a/.circleci/config.yml b/.circleci/config.yml
index 158f88c0..ab13a3b4 100644
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -3,7 +3,7 @@ version: 2.1
executors:
python_executor:
docker:
- - image: cimg/python:3.7.4
+ - image: cimg/python:3.9
node_executor:
docker:
- image: cimg/node:lts
@@ -58,6 +58,7 @@ jobs:
done
exit $status
+ # test the build with regular non-insider MkDocs Material theme for compatibility
build:
executor: python_executor
steps:
@@ -70,6 +71,8 @@ jobs:
command: |
python3 -m venv venv
. venv/bin/activate
+ pip install --upgrade pip
+ pip install -q -r CI/requirements-mkdocs-material.txt
pip install -q -r CI/requirements.txt
- save_cache:
paths:
diff --git a/.editorconfig b/.editorconfig
new file mode 100644
index 00000000..c31bfa44
--- /dev/null
+++ b/.editorconfig
@@ -0,0 +1,16 @@
+[*]
+charset=utf-8
+end_of_line=lf
+trim_trailing_whitespace=true
+insert_final_newline=true
+indent_style=space
+indent_size=2
+
+[.editorconfig]
+indent_style=space
+indent_size=4
+
+[{*.yml,*.yaml}]
+indent_style=space
+indent_size=2
+
diff --git a/.readthedocs.yaml b/.readthedocs.yaml
new file mode 100644
index 00000000..5dbbd4a2
--- /dev/null
+++ b/.readthedocs.yaml
@@ -0,0 +1,20 @@
+# .readthedocs.yaml
+# Read the Docs configuration file
+# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details
+
+# Required
+version: 2
+
+build:
+ os: ubuntu-22.04
+ tools:
+ python: "3.9"
+
+python:
+ install:
+ - requirements: CI/requirements-mkdocs-material-insider.txt
+ - requirements: CI/requirements.txt
+
+mkdocs:
+ configuration: mkdocs.yml
+ fail_on_warning: false
diff --git a/CI/requirements-mkdocs-material-insider.txt b/CI/requirements-mkdocs-material-insider.txt
new file mode 100644
index 00000000..3767a8bc
--- /dev/null
+++ b/CI/requirements-mkdocs-material-insider.txt
@@ -0,0 +1 @@
+git+https://${MKDOCS_GITHUB_USER}:${MKDOCS_GITHUB_TOKEN}@github.com/squidfunk/mkdocs-material-insiders.git@8.3.9-insiders-4.21.0
diff --git a/CI/requirements-mkdocs-material.txt b/CI/requirements-mkdocs-material.txt
new file mode 100644
index 00000000..f6118058
--- /dev/null
+++ b/CI/requirements-mkdocs-material.txt
@@ -0,0 +1,2 @@
+mkdocs-material==8.3.9
+
diff --git a/CI/requirements.txt b/CI/requirements.txt
index 5637f22e..798689d9 100644
--- a/CI/requirements.txt
+++ b/CI/requirements.txt
@@ -1,13 +1,10 @@
-mkdocs==1.2.3
-mkdocs-material==6.1.7
-Markdown==3.2.1
-markdown-fenced-code-tabs==1.0.3
-markdown-include==0.5.1
-mkdocs-markdownextradata-plugin==0.1.3
+Markdown==3.4.1
+markdown-fenced-code-tabs==1.0.5
+markdown-include==0.6.0
+mkdocs-markdownextradata-plugin==0.2.5
mkdocs-exclude==1.0.2
-mkdocs-redirects==1.0.0
-mkdocs-git-revision-date-localized-plugin==0.5.0
-# mkdocs-minify-plugin==0.3.0
-plantuml-markdown==3.3.0
-jinja2==3.0.0
+mkdocs-redirects==1.0.4
+mkdocs-git-revision-date-localized-plugin==1.1.0
+mkdocs-minify-plugin==0.5.0
+plantuml-markdown==3.5.3
diff --git a/CI/vale/.vale.ini b/CI/vale/.vale.ini
index 277adaf7..ef093a38 100644
--- a/CI/vale/.vale.ini
+++ b/CI/vale/.vale.ini
@@ -20,7 +20,7 @@ mdx = md
# Global settings (applied to every syntax)
[*]
# ignore includes and latex math code
-TokenIgnores = ({![^!}]+!}),(\$[^\n$`]+\$),(\$\$[^$`]+\$\$)
+TokenIgnores = (--8<-- "[^"]+"),(\$[^\n$`]+\$),(\$\$[^$`]+\$\$)
# List of styles to load
BasedOnStyles = Vale, proselint, write-good, Microsoft, Besu
# Style.Rule = {YES, NO} to enable or disable a specific rule
diff --git a/custom_theme/assets/javascripts/zoomify.min.js b/custom_theme/assets/javascripts/zoomify.min.js
deleted file mode 100755
index 9c30af1c..00000000
--- a/custom_theme/assets/javascripts/zoomify.min.js
+++ /dev/null
@@ -1,3 +0,0 @@
-/*! Zoomify - v0.2.5 - https://github.com/indrimuska/zoomify - (c) 2015 Indri Muska - MIT */
-
-!function(z){Zoomify=function(o,i){var t=this;this._zooming=!1,this._zoomed=!1,this._timeout=null,this.$shadow=null,this.$image=z(o).addClass("zoomify"),this.options=z.extend({},Zoomify.DEFAULTS,this.$image.data(),i),this.$image.on("click",function(){t.zoom()}),z(window).on("resize",function(){t.reposition()}),z(document).on("scroll",function(){t.reposition()}),z(window).on("keyup",function(o){t._zoomed&&27==o.keyCode&&t.zoomOut()})},Zoomify.DEFAULTS={duration:200,easing:"linear",scale:.9},Zoomify.prototype.transition=function(o,i){o.css({"-webkit-transition":i,"-moz-transition":i,"-ms-transition":i,"-o-transition":i,transition:i})},Zoomify.prototype.addTransition=function(o){this.transition(o,"all "+this.options.duration+"ms "+this.options.easing)},Zoomify.prototype.removeTransition=function(o,i){var t=this;clearTimeout(this._timeout),this._timeout=setTimeout(function(){t.transition(o,""),z.isFunction(i)&&i.call(t)},this.options.duration)},Zoomify.prototype.transform=function(o){this.$image.css({"-webkit-transform":o,"-moz-transform":o,"-ms-transform":o,"-o-transform":o,transform:o})},Zoomify.prototype.transformScaleAndTranslate=function(o,i,t,n){this.addTransition(this.$image),this.transform("scale("+o+") translate("+i+"px, "+t+"px)"),this.removeTransition(this.$image,n)},Zoomify.prototype.zoom=function(){this._zooming||(this._zoomed?this.zoomOut():this.zoomIn())},Zoomify.prototype.zoomIn=function(){var o=this,i=this.$image.css("transform");this.transition(this.$image,"none"),this.transform("none");var t=this.$image.offset(),n=this.$image.outerWidth(),s=this.$image.outerHeight(),a=this.$image[0].naturalWidth||1/0,e=this.$image[0].naturalHeight||1/0,m=z(window).width(),r=z(window).height(),h=Math.min(a,m*this.options.scale)/n,d=Math.min(e,r*this.options.scale)/s,f=Math.min(h,d),u=(-t.left+(m-n)/2)/f,c=(-t.top+(r-s)/2+z(document).scrollTop())/f;this.transform(i),this._zooming=!0,this.$image.addClass("zoomed").trigger("zoom-in.zoomify"),setTimeout(function(){o.addShadow(),o.transformScaleAndTranslate(f,u,c,function(){o._zooming=!1,o.$image.trigger("zoom-in-complete.zoomify")}),o._zoomed=!0})},Zoomify.prototype.zoomOut=function(){var o=this;this._zooming=!0,this.$image.trigger("zoom-out.zoomify"),this.transformScaleAndTranslate(1,0,0,function(){o._zooming=!1,o.$image.removeClass("zoomed").trigger("zoom-out-complete.zoomify")}),this.removeShadow(),this._zoomed=!1},Zoomify.prototype.reposition=function(){this._zoomed&&(this.transition(this.$image,"none"),this.zoomIn())},Zoomify.prototype.addShadow=function(){var o=this;this._zoomed||(o.$shadow&&o.$shadow.remove(),this.$shadow=z('
'),z("body").append(this.$shadow),this.addTransition(this.$shadow),this.$shadow.on("click",function(){o.zoomOut()}),setTimeout(function(){o.$shadow.addClass("zoomed")},10))},Zoomify.prototype.removeShadow=function(){var o=this;this.$shadow&&(this.addTransition(this.$shadow),this.$shadow.removeClass("zoomed"),this.$image.one("zoom-out-complete.zoomify",function(){o.$shadow&&o.$shadow.remove(),o.$shadow=null}))},z.fn.zoomify=function(t){return this.each(function(){var o=z(this),i=o.data("zoomify");i||o.data("zoomify",i=new Zoomify(this,"object"==typeof t&&t)),"string"==typeof t&&0<=["zoom","zoomIn","zoomOut","reposition"].indexOf(t)&&i[t]()})}}(jQuery);
\ No newline at end of file
diff --git a/custom_theme/assets/stylesheets/custom_theme.css b/custom_theme/assets/stylesheets/custom_theme.css
index e8c1200c..4f7c0001 100644
--- a/custom_theme/assets/stylesheets/custom_theme.css
+++ b/custom_theme/assets/stylesheets/custom_theme.css
@@ -47,7 +47,7 @@
.md-footer a[href^="http"]:after,
.feedback a[href^="http"]:after,
-.md-content a[href^="http"]:not(.md-content__icon):after {
+.md-content a[href^="http"]:not(.md-content__icon):not(.md-content__button):after {
font-family: "Font Awesome 5 Free";
font-weight: 900;
font-size: small;
diff --git a/custom_theme/assets/stylesheets/zoomify.min.css b/custom_theme/assets/stylesheets/zoomify.min.css
deleted file mode 100755
index da3efe7e..00000000
--- a/custom_theme/assets/stylesheets/zoomify.min.css
+++ /dev/null
@@ -1 +0,0 @@
-.zoomify{cursor:pointer;cursor:-webkit-zoom-in;cursor:zoom-in}.zoomify.zoomed{cursor:-webkit-zoom-out;cursor:zoom-out;padding:0;margin:0;border:none;border-radius:0;box-shadow:none;position:relative;z-index:1501}.zoomify-shadow{position:fixed;top:0;left:0;right:0;bottom:0;width:100%;height:100%;display:block;z-index:1500;background:rgba(0,0,0 ,.3);opacity:0}.zoomify-shadow.zoomed{opacity:1;cursor:pointer;cursor:-webkit-zoom-out;cursor:zoom-out}
\ No newline at end of file
diff --git a/custom_theme/assets/zoomify_LICENSE b/custom_theme/assets/zoomify_LICENSE
deleted file mode 100644
index 03808281..00000000
--- a/custom_theme/assets/zoomify_LICENSE
+++ /dev/null
@@ -1,24 +0,0 @@
-LICENCE for included Javascript and CSS code from https://github.com/indrimuska/zoomify
-See javascripts/zoomify.min.js and stylesheets/zoomify.min.css
-
-The MIT License (MIT)
-
-Copyright (c) 2015 Indri Muska
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
diff --git a/custom_theme/main.html b/custom_theme/main.html
index bb0cad75..286e1e02 100644
--- a/custom_theme/main.html
+++ b/custom_theme/main.html
@@ -15,11 +15,8 @@
{{config.extra.latest_version_warning.text}}
{% endblock %}
-{% block analytics %}
- {% include "partials/integrations/analytics.html" %}
-{% endblock %}
-
{% block config %}
+ {{ super() }}
{% if config.plugins.search %}
+ })(window,document,'script','dataLayer','{{config.extra.analytics.tag_manager}}');
{% endif %}
diff --git a/custom_theme/partials/logo.html b/custom_theme/partials/logo.html
index 057c469a..2040ddaa 100644
--- a/custom_theme/partials/logo.html
+++ b/custom_theme/partials/logo.html
@@ -1,22 +1,3 @@
-
-
{% if config.theme.logo %}
{% else %}
diff --git a/custom_theme/partials/nav.html b/custom_theme/partials/nav.html
index 35698a5b..829cd3f7 100644
--- a/custom_theme/partials/nav.html
+++ b/custom_theme/partials/nav.html
@@ -1,16 +1,16 @@
-{% set site_url = config.site_url | default(nav.homepage.url, true) | url %}
-{% if not config.use_directory_urls and site_url[0] == site_url[-1] == "." %}
- {% set site_url = site_url ~ "/index.html" %}
+{% set class = "md-nav md-nav--primary" %}
+{% if "navigation.tabs" in features %}
+ {% set class = class ~ " md-nav--lifted" %}
{% endif %}
-
+{% if "toc.integrate" in features %}
+ {% set class = class ~ " md-nav--integrated" %}
+{% endif %}
+
-
+
{% include "partials/logo.html" %}
-
- {{ config.site_name }}
-
+ {{ config.site_name }}
{% if config.repo_url %}
@@ -19,7 +19,7 @@
{% endif %}
{% for nav_item in nav %}
- {% set path = "nav-" ~ loop.index %}
+ {% set path = "__nav_" ~ loop.index %}
{% set level = 1 %}
{% include "partials/nav-item.html" %}
{% endfor %}
diff --git a/custom_theme/partials/source-date.html b/custom_theme/partials/source-date.html
deleted file mode 100644
index d37215db..00000000
--- a/custom_theme/partials/source-date.html
+++ /dev/null
@@ -1,30 +0,0 @@
-
-
-{% import "partials/language.html" as lang with context %}
-{% set label = lang.t("source.revision.date") %}
-
-
- {% if page.meta.git_revision_date_localized %}
- {{ label }}: {{ page.meta.git_revision_date_localized }}
- {% elif page.meta.revision_date %}
- {{ label }}: {{ page.meta.revision_date }}
- {% endif %}
-
-
diff --git a/custom_theme/partials/source-file.html b/custom_theme/partials/source-file.html
new file mode 100644
index 00000000..46dc09e3
--- /dev/null
+++ b/custom_theme/partials/source-file.html
@@ -0,0 +1,16 @@
+
+
+ {% if page.meta.git_revision_date_localized %}
+ {{ lang.t("source.file.date.updated") }}:
+ {{ page.meta.git_revision_date_localized }}
+ {% if page.meta.git_creation_date_localized %}
+
+ {{ lang.t("source.file.date.created") }}:
+ {{ page.meta.git_creation_date_localized }}
+ {% endif %}
+ {% elif page.meta.revision_date %}
+ {{ lang.t("source.file.date.updated") }}:
+ {{ page.meta.revision_date }}
+ {% endif %}
+
+
diff --git a/custom_theme/partials/source.html b/custom_theme/partials/source.html
new file mode 100644
index 00000000..ae31f388
--- /dev/null
+++ b/custom_theme/partials/source.html
@@ -0,0 +1,12 @@
+{#-
+ This file was automatically generated - do not edit
+-#}
+
+
+ {% set icon = config.theme.icon.repo or "fontawesome/brands/git-alt" %}
+ {% include ".icons/" ~ icon ~ ".svg" %}
+
+
+ {{ config.extra.code_repo_name }}
+
+
diff --git a/custom_theme/partials/toc.html b/custom_theme/partials/toc.html
index acea3561..6c5a5b2a 100644
--- a/custom_theme/partials/toc.html
+++ b/custom_theme/partials/toc.html
@@ -1,11 +1,15 @@
-{% import "partials/language.html" as lang with context %}
-
+{% set title = lang.t("toc.title") %}
+{% if config.mdx_configs.toc and config.mdx_configs.toc.title %}
+ {% set title = config.mdx_configs.toc.title %}
+{% endif %}
+
{% set toc = page.toc %}
- {% if toc | first is defined and "\x3ch1 id=" in page.content %}
- {% set toc = (toc | first).children %}
+ {% set first = toc | first %}
+ {% if first and first.level == 1 %}
+ {% set toc = first.children %}
{% endif %}
- {% if toc | first is defined %}
-
+ {% if toc %}
+
{% for toc_item in toc %}
{% include "partials/toc-item.html" %}
{% endfor %}
diff --git a/docs/HowTo/Configure/Consensus-Protocols/IBFT.md b/docs/HowTo/Configure/Consensus-Protocols/IBFT.md
index b0352b40..a4eef84a 100644
--- a/docs/HowTo/Configure/Consensus-Protocols/IBFT.md
+++ b/docs/HowTo/Configure/Consensus-Protocols/IBFT.md
@@ -105,7 +105,7 @@ Formally, `extraData` in the genesis block contains
RLP encoding is a space-efficient object serialization scheme used in Ethereum.
#### Generate extra data
-
+
To generate the `extraData` RLP string for inclusion in the genesis file, use the
[`rlp encode`](../../../Reference/CLI/CLI-Subcommands.md#rlp) Besu subcommand.
@@ -176,7 +176,7 @@ To tune the block timeout for your network deployment:
Use a [transition](#transitions) to update the `blockperiodseconds` in an existing network.
-{!global/Config-Options.md!}
+--8<-- "global/Config-Options.md"
### Post-Merge configuration
@@ -476,11 +476,11 @@ To update an existing network with a new mining beneficiary:
"transitions": {
"ibft2": [
{
- "block": ,
+ "block": ,
"miningbeneficiary":
},
{
- "block": ,
+ "block": ,
"miningbeneficiary":
}
]
@@ -507,11 +507,11 @@ To update an existing network with a new mining beneficiary:
"transitions": {
"ibft2": [
{
- "block": 10000,
+ "block": 10000,
"miningbeneficiary": "",
},
{
- "block": 20000,
+ "block": 20000,
"miningbeneficiary": "0x0000000000000000000000000000000000000002",
}
]
diff --git a/docs/HowTo/Configure/Consensus-Protocols/QBFT.md b/docs/HowTo/Configure/Consensus-Protocols/QBFT.md
index 80ddce35..2ad5cddf 100644
--- a/docs/HowTo/Configure/Consensus-Protocols/QBFT.md
+++ b/docs/HowTo/Configure/Consensus-Protocols/QBFT.md
@@ -275,7 +275,7 @@ To tune the block timeout for your network deployment:
Use a [transition](#transitions) to update the `blockperiodseconds` in an existing network.
-{!global/Config-Options.md!}
+--8<-- "global/Config-Options.md"
### Post-Merge configuration
@@ -669,11 +669,11 @@ To update an existing network with a new mining beneficiary:
"transitions": {
"qbft": [
{
- "block": ,
+ "block": ,
"miningbeneficiary":
},
{
- "block": ,
+ "block": ,
"miningbeneficiary":
}
]
@@ -697,11 +697,11 @@ To update an existing network with a new mining beneficiary:
"transitions": {
"qbft": [
{
- "block": 10000,
+ "block": 10000,
"miningbeneficiary": "0x0000000000000000000000000000000000000002",
},
{
- "block": 20000,
+ "block": 20000,
"miningbeneficiary": "",
}
]
diff --git a/docs/HowTo/Interact/APIs/Using-JSON-RPC-API.md b/docs/HowTo/Interact/APIs/Using-JSON-RPC-API.md
index 0d5d2bb2..50897fef 100644
--- a/docs/HowTo/Interact/APIs/Using-JSON-RPC-API.md
+++ b/docs/HowTo/Interact/APIs/Using-JSON-RPC-API.md
@@ -15,7 +15,7 @@ To enable JSON-RPC over an [IPC socket](API.md#socket-path), use the
`--Xrpc-ipc-enabled` is an experimental option.
-{!global/Postman.md!}
+--8<-- "global/Postman.md"
## Geth console
@@ -129,11 +129,11 @@ Send individual requests as a JSON data package at each prompt.
!!! Example
=== "Syntax"
-
+
```bash
{"jsonrpc":"2.0","id":,"method":"","params":[]}
```
-
+
=== "wscat WS request"
```bash
diff --git a/docs/Reference/API-Methods.md b/docs/Reference/API-Methods.md
index 16c515f7..96dfe2cb 100644
--- a/docs/Reference/API-Methods.md
+++ b/docs/Reference/API-Methods.md
@@ -13,7 +13,7 @@ description: Hyperledger Besu JSON-RPC API methods reference
private networks. Depending on network configuration and activity, your example results might
be different.
-{!global/Postman.md!}
+--8<-- "global/Postman.md"
## `ADMIN` methods
@@ -161,13 +161,13 @@ Generates cached log bloom indexes for blocks. APIs such as [`eth_getLogs`](#eth
`result`: *object* - log bloom index details:
* `startBlock`: *string* - starting block for the last requested cache generation
-
+
* `endBlock`: *string* - ending block for the last requested cache generation
-
+
* `currentBlock`: *string* - most recent block added to the cache
-
+
* `indexing`: *boolean* - indicates if indexing is in progress
-
+
* *boolean* - indicates acceptance of the request from this call to generate the cache
!!! example
@@ -218,9 +218,9 @@ You can skip a parameter by using an empty string, `""`.
If you specify:
* No parameters, the call removes cache files for all blocks.
-
+
* Only `fromBlock`, the call removes cache files for the specified block.
-
+
* Only `toBlock`, the call removes cache files from the genesis block to the specified block.
#### Returns
@@ -305,16 +305,16 @@ None
`result`: *object* - node object with the following fields:
* `enode`: *string* - [enode URL](../Concepts/Node-Keys.md#enode-url) of the node
-
+
* `listenAddr`: *string* - host and port for the node
-
+
* `name`: *string* - client name
-
+
* `id`: *string* - [node public key](../Concepts/Node-Keys.md#node-public-key)
-
+
* `ports`: *object* - peer discovery and listening
[ports](../HowTo/Find-and-Connect/Managing-Peers.md#port-configuration)
-
+
* `protocols`: *object* - list of objects containing information for each Ethereum sub-protocol
!!! note
@@ -392,23 +392,23 @@ None
`result`: *array* of *objects* - list of objects returned for each remote node, with the following fields.
* `version`: *string* - P2P protocol version
-
+
* `name`: *string* - client name
-
+
* `caps`: *array* of *strings* - list of Ethereum sub-protocol capabilities
-
+
* `network`: *object* - local and remote addresses established at time of bonding with the peer (the remote
address might not match the hex value for `port`; it depends on which node
initiated the connection.)
-
+
* `port`: *string* - port on the remote node on which P2P discovery is listening
-
+
* `id`: *string* - node public key (excluding the `0x` prefix, the node public key is the ID in the
[enode URL](../Concepts/Node-Keys.md#enode-url) `enode://@:`.)
-
+
* `protocols`: *object* - [current state of peer](../HowTo/Find-and-Connect/Managing-Peers.md#monitoring-peer-connections)
including `difficulty` and `head` (`head` is the hash of the highest known block for the peer.)
-
+
* `enode`: *string* - enode URL of the remote node
!!! example
@@ -587,10 +587,10 @@ Lists [signers for the specified block].
Provides the following validator metrics for the specified range:
* Number of blocks from each validator
-
+
* Block number of the last block proposed by each validator (if any proposed in the specified
range)
-
+
* All validators present in the last block
#### Parameters
@@ -893,7 +893,7 @@ Returns the accounts for a specified block.
`result`: *object* - account details object with the following fields:
* `addressMap`: *map* of *strings* to *strings* - map of address hashes and account addresses
-
+
* `nextKey`: *string* - hash of the next address if any addresses remain in the state, otherwise
zero
@@ -945,9 +945,9 @@ This does the same thing as calling [`eth_sendRawTransaction`](#eth_sendRawTrans
`result`: *array* of *objects* - object returned for each transaction, with the following fields:
* `index`: *string* - index of the transaction in the request parameters array
-
+
* `success`: *boolean* - indicates whether or not the transaction has been added to the transaction pool
-
+
* `errorMessage`: *string* - (optional) error message
!!! example
@@ -1276,9 +1276,9 @@ The JVM metrics might vary based on the JVM implementation used.
The metric types are:
* Timer
-
+
* Counter
-
+
* Gauge
#### Parameters
@@ -2833,9 +2833,9 @@ Polls the specified filter and returns an array of changes that have occurred si
`result`: *array* of *strings* or *objects* - if nothing changed since the last poll, an empty list; otherwise:
* For filters created with `eth_newBlockFilter`, returns block hashes.
-
+
* For filters created with `eth_newPendingTransactionFilter`, returns transaction hashes.
-
+
* For filters created with `eth_newFilter`, returns [log objects](API-Objects.md#log-object).
!!! example
@@ -3232,17 +3232,17 @@ from untrusted sources, by using a trusted block hash.
`result`: *object* - account details object with the following fields:
* `balance`: *string* - account balance
-
+
* `codeHash`: *string* - 32-byte hash of the account code
-
+
* `nonce`: *string* - number of transactions sent from the account
-
+
* `storageHash`: *string* - 32-byte SHA3 of the `storageRoot`
-
+
* `accountProof`: *array* of *strings* - list of RLP-encoded Merkle tree nodes, starting with the `stateRoot`
-
+
* `storageProof`: *array* of *objects* - list of storage entry objects with the following fields:
-
+
* `key`: *string* - storage key
* `value`: *string* - storage value
@@ -4271,11 +4271,11 @@ None
`result`: *array* of *strings* - array with the following items:
* `header`: *string* - 32-byte hash of the current block header (PoW-hash)
-
+
* `seed`: *string* - 32-byte seed hash used for the DAG
-
+
* `target`: *string* - 32-byte required target boundary condition: 2^256 / difficulty
-
+
* `blockNumber`: *string* - hexadecimal integer representing the current block number
!!! example
@@ -4645,7 +4645,7 @@ Submits the mining hashrate. This is used by mining software such as [Ethminer](
#### Parameters
* `hashrate`: *string* - 32-byte hexadecimal string representation of the hashrate
-
+
* `id`: *string* - 32-byte random hexadecimal ID identifying the client
#### Returns
@@ -4684,9 +4684,9 @@ This is used by mining software such as [Ethminer](https://github.com/ethereum-m
#### Parameters
* `nonce`: *string* - retrieved 8-byte nonce
-
+
* `header`: *string* - 32-byte hash of the block header (PoW-hash)
-
+
* `digest`: *string* - 32-bytes mix digest
#### Returns
@@ -4736,18 +4736,18 @@ synchronizing:
* `startingBlock`: *string* - index of the highest block on the blockchain when the network
synchronization starts
-
+
* `currentBlock`: *string* - index of the latest block (also known as the best block) for the
current node (this is the same index that [`eth_blockNumber`](#eth_blocknumber) returns.)
-
+
* `highestBlock`: *string* - index of the highest known block in the peer network (that is, the
highest block so far discovered among peer nodes. This is the same value as `currentBlock` if
the current node has no peers.)
-
+
* `pulledStates`: *string* - if fast synchronizing, the number of state entries fetched so far,
or `null` if this is not known or not relevant (if full synchronizing or fully synchronized, this
field is not returned.)
-
+
* `knownStates`: *string* - if fast synchronizing, the number of states the node knows of so
far, or `null` if this is not known or not relevant (if full synchronizing or fully synchronized,
this field is not returned.)
@@ -4951,10 +4951,10 @@ remove a validator.
Provides the following validator metrics for the specified range:
* Number of blocks from each validator
-
+
* Block number of the last block proposed by each validator (if any proposed in the specified
range)
-
+
* All validators present in the last block of the range
#### Parameters
@@ -4970,7 +4970,7 @@ If you specify:
* No parameters, the call provides metrics for the last 100 blocks, or all blocks if there are less
than 100 blocks.
-
+
* Only the first parameter, the call provides metrics for all blocks from the block specified to
the latest block.
@@ -5986,9 +5986,9 @@ Creates a group of nodes, specified by their [Tessera](https://docs.tessera.cons
* `addresses`: *array* of *strings* - list of nodes specified by
[Tessera](https://docs.tessera.consensys.net/) public keys
-
+
* `name`: *string* - (optional) privacy group name
-
+
* `description`: *string* - (optional) privacy group description
#### Returns
@@ -6156,7 +6156,7 @@ members are A and B, a privacy group containing A, B, and C is not returned.
or [Besu-extended](../Concepts/Privacy/Privacy-Groups.md#besu-extended-privacy) with types:
* `LEGACY` for EEA-compliant groups.
-
+
* `PANTHEON` for Besu-extended groups.
!!! example
@@ -7485,7 +7485,7 @@ one object per call, in the order called by the transaction
"output" : "0x0000000000000000000000000000000000000000000000000000000000000001"
},
"subtraces" : 0,
- "traceAddress" : [
+ "traceAddress" : [
0
],
"transactionHash": "0x17104ac9d3312d8c136b7f44d4b8b47852618065ebfa534bd2d3b5ef218ca1f3",
@@ -7502,7 +7502,7 @@ Traces a call to `eth_sendRawTransaction` without making the call, returning the
!!! important
- The requested transaction must be contained in a block within
+ The requested transaction must be contained in a block within
the number of [blocks retained](CLI/CLI-Syntax.md#pruning-blocks-retained) with [pruning enabled](CLI/CLI-Syntax.md#pruning-enabled) (by default, 1024).
#### Parameters
@@ -7820,7 +7820,7 @@ Lists pending transactions that match the supplied filter conditions.
#### Parameters
* `numResults`: *number* - integer representing the maximum number of results to return
-
+
* `fields`: *object* - object of fields used to create the filter condition
Each field in the object corresponds to a field name containing an operator, and a value for the operator.
@@ -7843,11 +7843,11 @@ All filters must be satisfied for a transaction to be returned.
Supported operators:
* `eq` (equal to)
-
+
* `lt` (less than)
-
+
* `gt` (greater than)
-
+
* `action`
!!! note
@@ -7911,9 +7911,9 @@ None
* `maxSize`: *number* - maximum number of transactions kept in the transaction pool; use the
[`--tx-pool-max-size`](CLI/CLI-Syntax.md#tx-pool-max-size) option to configure the maximum size.
-
+
* `localCount`: *number* - number of transactions submitted directly to this node
-
+
* `remoteCount`: *number* - number of transactions received from remote nodes
!!! example
diff --git a/docs/Reference/Accounts-for-Testing.md b/docs/Reference/Accounts-for-Testing.md
index ed68d323..d71b0f7c 100644
--- a/docs/Reference/Accounts-for-Testing.md
+++ b/docs/Reference/Accounts-for-Testing.md
@@ -14,7 +14,7 @@ uses the `dev.json` genesis file by default.
The `dev.json` genesis file defines the following accounts used for testing.
-{!global/test_accounts.md!}
+--8<-- "global/test_accounts.md"
## Genesis file
diff --git a/docs/Tutorials/Developer-Quickstart.md b/docs/Tutorials/Developer-Quickstart.md
index 9bc34d8b..332ead6b 100644
--- a/docs/Tutorials/Developer-Quickstart.md
+++ b/docs/Tutorials/Developer-Quickstart.md
@@ -156,7 +156,7 @@ This tutorial uses [cURL](https://curl.haxx.se/download.html) to send JSON-RPC r
You can also run all the requests with the Besu Postman collection.
-{!global/Postman.md!}
+--8<-- "global/Postman.md"
### Request the node version
@@ -245,7 +245,7 @@ You can use [MetaMask](https://metamask.io/) to send a transaction on your priva
1. Choose one of the following test accounts and
[import it into MetaMask by copying the corresponding private key](https://metamask.zendesk.com/hc/en-us/articles/360015489331-How-to-import-an-Account).
-{!global/test_accounts.md!}
+--8<-- "global/test_accounts.md"
!!! note
diff --git a/docs/global/Postman.md b/docs/global/Postman.md
index 38887e91..2148867b 100644
--- a/docs/global/Postman.md
+++ b/docs/global/Postman.md
@@ -1,7 +1,5 @@
!!! tip "Besu JSON-RPC APIs documentation in Postman format"
- ![Postman documentation](https://www.postman.com/assets/logos/pm-orange-logo-horiz.svg){style="height: 6em;"}
-
View the [Besu JSON-RPC APIs documentation](https://api.besu.hyperledger.org/) in the Postman format
and obtain example requests in multiple coding languages.
@@ -10,7 +8,7 @@
Click the following button to fork the collection and run requests directly on your local network.
[![Run in Postman](https://run.pstmn.io/button.svg)](https://god.gw.postman.com/run-collection/11610746-f334929f-c8c3-43ed-bb73-69a6f0d728d8?action=collection%2Ffork&collection-url=entityId%3D11610746-f334929f-c8c3-43ed-bb73-69a6f0d728d8%26entityType%3Dcollection%26workspaceId%3Dc4b60b6f-9f15-42d0-8327-7ebabca6f0fd#?env%5BBesu%20node%20on%20local%20host%5D=W3sia2V5IjoicnBjLWh0dHAtaG9zdCIsInZhbHVlIjoibG9jYWxob3N0IiwiZW5hYmxlZCI6ZmFsc2V9LHsia2V5IjoicnBjLWh0dHAtcG9ydCIsInZhbHVlIjoiODU0NSIsImVuYWJsZWQiOmZhbHNlfV0=).
-
+
#### Download collection
Alternatively you can [download the JSON collection file](/postman/postman_collection.json).
diff --git a/mkdocs.exclude.yml b/mkdocs.exclude.yml
new file mode 100644
index 00000000..6f0f31b6
--- /dev/null
+++ b/mkdocs.exclude.yml
@@ -0,0 +1,14 @@
+---
+# Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
+# an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations under the License.
+
+plugins:
+ exclude:
+ glob:
+ - global/*
diff --git a/mkdocs.extensions.yml b/mkdocs.extensions.yml
new file mode 100644
index 00000000..32fb699f
--- /dev/null
+++ b/mkdocs.extensions.yml
@@ -0,0 +1,60 @@
+---
+# Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
+# an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations under the License.
+INHERIT: mkdocs.exclude.yml # DO NOT MODIFY THIS LINE
+
+# Extensions list requires the dashed list format
+markdown_extensions:
+ - toc:
+ permalink:
+ toc_depth: 3
+ - codehilite
+ - pymdownx.superfences
+ - pymdownx.tabbed:
+ alternate_style: true
+ - pymdownx.snippets:
+ base_path: docs
+ check_paths: true
+ - admonition
+ - footnotes
+ - def_list
+ - abbr
+ - pymdownx.arithmatex
+ - pymdownx.betterem:
+ smart_enable: all
+ - pymdownx.keys
+ - pymdownx.details
+ - pymdownx.emoji
+ - pymdownx.magiclink
+ - pymdownx.mark
+ - pymdownx.smartsymbols
+ - pymdownx.tasklist:
+ custom_checkbox: true
+ - pymdownx.tilde
+ - meta
+ - smarty
+ - attr_list
+
+# Extensions list requires the object list format without dashes and with {} for empty entries.
+plugins:
+ search:
+ lang: 'en'
+ separator: '[\s\-\.\_]+'
+ markdownextradata: {}
+ exclude:
+ glob:
+ - global/*
+ git-revision-date-localized:
+ locale: en
+ tags: {}
+ minify:
+ minify_html: true
+ minify_js: true
+ htmlmin_opts:
+ remove_comments: true
diff --git a/mkdocs.extra.yml b/mkdocs.extra.yml
new file mode 100644
index 00000000..f47d4c08
--- /dev/null
+++ b/mkdocs.extra.yml
@@ -0,0 +1,36 @@
+---
+# Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
+# an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations under the License.
+INHERIT: mkdocs.extensions.yml # DO NOT MODIFY THIS LINE
+
+#extra project info and template customisation
+extra:
+ # Doc Repository
+ code_repo_name: hyperledger/besu
+ code_repo_url: https://github.com/hyperledger/besu/
+ latest_version_warning:
+ url_contains: /latest/
+ text: 'You are reading Hyperledger Besu development version documentation and
+ some displayed features may not be available in the stable release.
+ You can switch to stable version using the version box at screen bottom.'
+ page_edit_button: yes
+ logo_is_text: true
+ support:
+ chat: https://discord.gg/hyperledger
+ email: besu@lists.hyperledger.org
+ website: https://www.hyperledger.org/projects/besu
+ issues: https://github.com/hyperledger/besu/issues
+ doc_issues: https://github.com/hyperledger/besu-docs/issues/new/choose
+ analytics:
+ provider: tag_manager
+ site_verification:
+ - 'sGzYdFR_AYDRtsC-SNxMRwjellnfTgs5ZA0q7GIM5j0'
+ tag_manager: 'GTM-TS3WLJM'
+ logo_regular: logo.svg
+ logo_reversed: logo-reversed.svg
diff --git a/mkdocs.navigation.yml b/mkdocs.navigation.yml
new file mode 100644
index 00000000..d78a30a0
--- /dev/null
+++ b/mkdocs.navigation.yml
@@ -0,0 +1,193 @@
+---
+# Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
+# an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations under the License.
+INHERIT: mkdocs.extra.yml # DO NOT MODIFY THIS LINE
+
+nav:
+ - How to:
+ - Get started with Besu:
+ - System requirements:
+ - Private network: HowTo/Get-Started/System-Requirements/System-Requirements-Private.md
+ - Public network: HowTo/Get-Started/System-Requirements/System-Requirements-Public.md
+ - Install Besu:
+ - Options: HowTo/Get-Started/Installation-Options/Options.md
+ - Run Besu from Docker image: HowTo/Get-Started/Installation-Options/Run-Docker-Image.md
+ - Install binary distribution: HowTo/Get-Started/Installation-Options/Install-Binaries.md
+ - Build from source: HowTo/Get-Started/Installation-Options/Build-from-source.md
+ - Start Besu: HowTo/Get-Started/Starting-node.md
+ - Configure Besu:
+ - Consensus protocols:
+ - QBFT: HowTo/Configure/Consensus-Protocols/QBFT.md
+ - IBFT 2.0: HowTo/Configure/Consensus-Protocols/IBFT.md
+ - Clique: HowTo/Configure/Consensus-Protocols/Clique.md
+ - Create a genesis file: HowTo/Configure/Genesis-File.md
+ - Specify options in a configuration file: HowTo/Configure/Using-Configuration-File.md
+ - Configure a free gas network: HowTo/Configure/FreeGas.md
+ - TLS:
+ - Client and server TLS: HowTo/Configure/TLS/Configure-TLS.md
+ - Peer-to-peer TLS: HowTo/Configure/TLS/P2P-TLS.md
+ - High availability:
+ - Configure high availability of APIs: HowTo/Configure/Configure-HA/High-Availability.md
+ - Sample load balancer configurations: HowTo/Configure/Configure-HA/Sample-Configuration.md
+ - Predeploy a contract in the genesis file: HowTo/Configure/Contracts-in-Genesis.md
+ - Configure mining: HowTo/Configure/Configure-Mining.md
+ - Pass JVM options: HowTo/Configure/Passing-JVM-Options.md
+ - Alternative elliptic curves: HowTo/Configure/Alternative-EC-Curves.md
+ - Block proposal permissioning: HowTo/Configure/Block-Proposal-Permissioning.md
+ - Interact with node:
+ - Besu APIs:
+ - Access Besu APIs: HowTo/Interact/APIs/API.md
+ - Use JSON-RPC API over HTTP or WebSockets: HowTo/Interact/APIs/Using-JSON-RPC-API.md
+ - Use RPC Pub/Sub API over WebSockets: HowTo/Interact/APIs/RPC-PubSub.md
+ - Use GraphQL over HTTP: HowTo/Interact/APIs/GraphQL.md
+ - Authenticate JSON-RPC requests: HowTo/Interact/APIs/Authentication.md
+ - Use the Engine API: HowTo/Interact/APIs/Engine-API.md
+ - Client libraries:
+ - Use the web3js-quorum client library: HowTo/Interact/Client-Libraries/web3js-quorum.md
+ - Filters:
+ - Access logs using JSON-RPC API: HowTo/Interact/Filters/Accessing-Logs-Using-JSON-RPC.md
+ - Find and connect to peers:
+ - Specify bootnodes: HowTo/Find-and-Connect/Bootnodes.md
+ - Configure static nodes: HowTo/Find-and-Connect/Static-Nodes.md
+ - Configure ports for access: HowTo/Find-and-Connect/Configuring-Ports.md
+ - Manage peers: HowTo/Find-and-Connect/Managing-Peers.md
+ - Specify NAT method: HowTo/Find-and-Connect/Specifying-NAT.md
+ - Monitor nodes:
+ - Use metrics: HowTo/Monitor/Metrics.md
+ - Use Elastic Stack: HowTo/Monitor/Elastic-Stack.md
+ - Use Quorum Hibernate: HowTo/Monitor/Quorum-Hibernate.md
+ - Use Splunk: HowTo/Monitor/Splunk-Enterprise.md
+ - Use OpenTelemetry: HowTo/Monitor/OpenTelemetry-Collector.md
+ - Configure logging: HowTo/Monitor/Logging.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
+ - Send concurrent private transactions: HowTo/Send-Transactions/Concurrent-Private-Transactions.md
+ - Include revert reason: HowTo/Send-Transactions/Revert-Reason.md
+ - Limit access to node:
+ - Use local permissioning: HowTo/Limit-Access/Local-Permissioning.md
+ - Update onchain allowlists: HowTo/Limit-Access/Updating-Permission-Lists.md
+ - Specify interface version: HowTo/Limit-Access/Specify-Perm-Version.md
+ - Use privacy features:
+ - Use EEA-compliant privacy: HowTo/Use-Privacy/EEA-Compliant.md
+ - Use Besu-extended privacy: HowTo/Use-Privacy/Privacy.md
+ - Create and manage privacy groups: HowTo/Use-Privacy/Create-Manage-Privacy-Groups.md
+ - Sign privacy marker transactions: HowTo/Use-Privacy/Sign-Privacy-Marker-Transactions.md
+ - Access private and privacy marker transactions: HowTo/Use-Privacy/Access-Private-Transactions.md
+ - Run Tessera with Besu: HowTo/Use-Privacy/Run-Tessera-With-Besu.md
+ - Use flexible privacy: HowTo/Use-Privacy/Use-FlexiblePrivacy.md
+ - Use GoQuorum-compatible privacy: HowTo/Use-Privacy/Use-GoQuorum-compatible-privacy.md
+ - Private transaction performance best practices: HowTo/Use-Privacy/Performance-Best-Practices.md
+ - Deploy for production:
+ - Deploy to the cloud: HowTo/Deploy/Cloud.md
+ - Use Ansible to deploy Besu: HowTo/Deploy/Ansible.md
+ - Use Kubernetes to deploy a private network: HowTo/Deploy/Kubernetes.md
+ - Configure bootnodes: HowTo/Deploy/Bootnodes.md
+ - Configure validators: HowTo/Deploy/Validators.md
+ - Deploy permissioning management dapp: HowTo/Deploy/Production.md
+ - Use Ethstats network monitor: HowTo/Deploy/Ethstats.md
+ - Backup and restore: HowTo/Backup/Backup.md
+ - Upgrade:
+ - Upgrade node: HowTo/Upgrade/Upgrade-Node.md
+ - Upgrade protocol: HowTo/Upgrade/Upgrade-Protocol.md
+ - Prepare for The Merge: HowTo/Upgrade/Prepare-for-The-Merge.md
+ - Develop dapps on Besu:
+ - Use Truffle: HowTo/Develop-Dapps/Truffle.md
+ - Use client libraries: HowTo/Develop-Dapps/Client-Libraries.md
+ - Troubleshoot:
+ - Add and remove validators without voting: HowTo/Troubleshoot/Add-Validators-Without-Voting.md
+ - Use EVM tool: HowTo/Troubleshoot/Use-EVM-Tool.md
+ - Collect Java runtime data: HowTo/Troubleshoot/Java-Flight-Recording.md
+ - Trace transactions: HowTo/Troubleshoot/Trace-Transactions.md
+ - Solve common problems: HowTo/Troubleshoot/Troubleshooting.md
+ - Tutorials:
+ - Quorum Developer Quickstart: Tutorials/Developer-Quickstart.md
+ - Create a private network:
+ - Use QBFT (PoA): Tutorials/Private-Network/Create-QBFT-Network.md
+ - Use IBFT 2.0 (PoA): Tutorials/Private-Network/Create-IBFT-Network.md
+ - Use Clique (PoA): Tutorials/Private-Network/Create-Private-Clique-Network.md
+ - Use Ethash (PoW): Tutorials/Private-Network/Create-Private-Network.md
+ - Add and remove IBFT 2.0 validators: Tutorials/Private-Network/Adding-removing-IBFT-validators.md
+ - Permissioning:
+ - Create a permissioned network: Tutorials/Permissioning/Create-Permissioned-Network.md
+ - Get started with onchain permissioning: Tutorials/Permissioning/Getting-Started-Onchain-Permissioning.md
+ - Upgrade the permissioning contracts: Tutorials/Permissioning/Upgrade-Permissioning-Contract.md
+ - Smart contracts and transactions:
+ - Deploy a contract: Tutorials/Contracts/Deploying-Contracts.md
+ - Interact with a deployed contract: Tutorials/Contracts/Calling-Contract-Functions.md
+ - Transfer account funds: Tutorials/Contracts/Account-Funds-Transfers.md
+ - Privacy:
+ - Create a privacy-enabled network: Tutorials/Privacy/Configuring-Privacy.md
+ - Create a privacy-enabled network using the Quickstart: Tutorials/Privacy/Privacy-Example.md
+ - Configure a multi-tenant network: Tutorials/Privacy/Configuring-Multi-Tenancy.md
+ - Use web3js-quorum multinode example: Tutorials/Privacy/web3js-quorum-Multinode-example.md
+ - Kubernetes:
+ - Overview: Tutorials/Kubernetes/Overview.md
+ - Local playground: Tutorials/Kubernetes/Playground.md
+ - Create a cluster: Tutorials/Kubernetes/Create-Cluster.md
+ - Deploy charts: Tutorials/Kubernetes/Deploy-Charts.md
+ - Quorum Explorer: Tutorials/Kubernetes/Quorum-Explorer.md
+ - Maintenance: Tutorials/Kubernetes/Maintenance.md
+ - Production: Tutorials/Kubernetes/Production.md
+ - Configure Kubernetes mode in NAT Manager: Tutorials/Kubernetes/Nat-Manager-Kubernetes.md
+ - Deploy on Microsoft Azure: Tutorials/Private-Network-Example-Azure.md
+ - Run Besu and Teku on the Merge testnet: Tutorials/Merge-Testnet.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
+ - Data storage formats: Concepts/Data-Storage-Formats.md
+ - Events and logs: Concepts/Events-and-Logs.md
+ - The Merge: Concepts/Merge.md
+ - Mining: Concepts/Mining.md
+ - Monitoring: Concepts/Monitoring.md
+ - Network ID and chain ID: Concepts/NetworkID-And-ChainID.md
+ - Network vs node configuration: Concepts/Network-vs-Node.md
+ - Node keys: Concepts/Node-Keys.md
+ - Node types: Concepts/Node-Types.md
+ - Permissioning:
+ - Overview: Concepts/Permissioning/Permissioning-Overview.md
+ - Onchain permissioning: Concepts/Permissioning/Onchain-Permissioning.md
+ - Permissioning plugin: Concepts/Permissioning/Plugin-Permissioning.md
+ - Plugins: Concepts/Plugins.md
+ - Privacy:
+ - Overview: Concepts/Privacy/Privacy-Overview.md
+ - Private transactions: Concepts/Privacy/Private-Transactions.md
+ - Privacy groups: Concepts/Privacy/Privacy-Groups.md
+ - Processing private transactions: Concepts/Privacy/Private-Transaction-Processing.md
+ - Flexible privacy groups: Concepts/Privacy/Flexible-PrivacyGroups.md
+ - Multi-tenancy: Concepts/Privacy/Multi-Tenancy.md
+ - Privacy plugin: Concepts/Privacy/Plugin-Privacy.md
+ - Protocol upgrades: Concepts/Protocol-Upgrades.md
+ - Pruning: Concepts/Pruning.md
+ - Public key infrastructure: Concepts/PKI.md
+ - TLS communication: Concepts/TLS.md
+ - Transactions:
+ - Transaction types: Concepts/Transactions/Transaction-Types.md
+ - Transaction pool: Concepts/Transactions/Transaction-Pool.md
+ - Validating transactions: Concepts/Transactions/Transaction-Validation.md
+ - Reference:
+ - Besu command line:
+ - Options: Reference/CLI/CLI-Syntax.md
+ - Subcommands: Reference/CLI/CLI-Subcommands.md
+ - Besu API methods: Reference/API-Methods.md
+ - Besu API objects: Reference/API-Objects.md
+ - Engine API methods: Reference/Engine-API-Methods.md
+ - Engine API objects: Reference/Engine-API-Objects.md
+ - Transaction trace types: Reference/Trace-Types.md
+ - Genesis file items: Reference/Config-Items.md
+ - Web3js-quorum reference: Reference/web3js-quorum.md
+ - Plugin API interfaces: Reference/Plugin-API-Interfaces.md
+ - Accounts for testing: Reference/Accounts-for-Testing.md
+ - EVM tool: Reference/Evm-Tool.md
+ - Projects using Besu: Reference/Projects-Using-Besu.md
+ - Security disclosure policy: Reference/Responsible-Disclosure.md
+ - Blog posts and webinars: Reference/Resources.md
diff --git a/mkdocs.plugins.yml b/mkdocs.plugins.yml
new file mode 100644
index 00000000..607cca30
--- /dev/null
+++ b/mkdocs.plugins.yml
@@ -0,0 +1,60 @@
+---
+# Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
+# an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations under the License.
+INHERIT: mkdocs.navigation.yml # DO NOT MODIFY THIS LINE
+
+# Extensions list requires the dashed list format
+markdown_extensions:
+ - toc:
+ permalink:
+ toc_depth: 3
+ - codehilite
+ - pymdownx.superfences
+ - pymdownx.tabbed:
+ alternate_style: true
+ - pymdownx.snippets:
+ base_path: docs
+ check_paths: true
+ - admonition
+ - footnotes
+ - def_list
+ - abbr
+ - pymdownx.arithmatex
+ - pymdownx.betterem:
+ smart_enable: all
+ - pymdownx.keys
+ - pymdownx.details
+ - pymdownx.emoji
+ - pymdownx.magiclink
+ - pymdownx.mark
+ - pymdownx.smartsymbols
+ - pymdownx.tasklist:
+ custom_checkbox: true
+ - pymdownx.tilde
+ - meta
+ - smarty
+ - attr_list
+
+# Extensions list requires the object list format without dashes and with {} for empty entries.
+plugins:
+ search:
+ lang: 'en'
+ separator: '[\s\-\.\_]+'
+ markdownextradata: {}
+ exclude:
+ glob:
+ - global/*
+ git-revision-date-localized:
+ locale: en
+ tags: {}
+ minify:
+ minify_html: true
+ minify_js: true
+ htmlmin_opts:
+ remove_comments: true
diff --git a/mkdocs.redirects.yml b/mkdocs.redirects.yml
new file mode 100644
index 00000000..1335e679
--- /dev/null
+++ b/mkdocs.redirects.yml
@@ -0,0 +1,52 @@
+---
+# Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
+# an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations under the License.
+INHERIT: mkdocs.plugins.yml # DO NOT MODIFY THIS LINE
+
+# Configure redirects.
+# All page removed or with changed path (moved in another directory) has to be redirected here.
+plugins:
+ redirects:
+ redirect_maps:
+ # Configure redirects using key:value pairs:
+ # old_path.md: new_path.md
+ # you can't use an already redirected path as an old_path.
+ # new_path can be a file inside the docs/ folder or any URL (http://...)
+ HowTo/Get-Started/System-Requirements-Private.md: HowTo/Get-Started/System-Requirements/System-Requirements-Private.md
+ HowTo/Get-Started/System-Requirements-Public.md: HowTo/Get-Started/System-Requirements/System-Requirements-Public.md
+ HowTo/Get-Started/Install-Binaries.md: HowTo/Get-Started/Installation-Options/Install-Binaries.md
+ HowTo/Get-Started/Build-from-source.md: HowTo/Get-Started/Installation-Options/Build-from-source.md
+ HowTo/Get-Started/Run-Docker-Image.md: HowTo/Get-Started/Installation-Options/Run-Docker-Image.md
+ HowTo/Deploy/High-Availability.md: HowTo/Configure/Configure-HA/High-Availability.md
+ HowTo/Deploy/Monitoring-Performance.md: HowTo/Monitor/Metrics.md
+ HowTo/Upgrade/Upgrade-Network.md: HowTo/Upgrade/Upgrade-Node.md
+ HowTo/Find-and-Connect/Using-UPnP.md: HowTo/Find-and-Connect/Specifying-NAT.md
+ HowTo/Use-Privacy/Run-Orion-With-Besu.md: HowTo/Use-Privacy/Run-Tessera-With-Besu.md
+ Concepts/Transactions/Trace-Types.md: Reference/Trace-Types.md
+ HowTo/Develop-Dapps/Use-web3js.md: HowTo/Develop-Dapps/Client-Libraries.md
+ Concepts/Client-Libraries.md: HowTo/Develop-Dapps/Client-Libraries.md
+ Concepts/Privacy/Onchain-PrivacyGroups.md: Concepts/Privacy/Flexible-PrivacyGroups.md
+ HowTo/Use-Privacy/Use-OnChainPrivacy.md: HowTo/Use-Privacy/Use-FlexiblePrivacy.md
+ Tutorials/Quickstarts/Azure-Private-Network-Quickstart.md: Tutorials/Private-Network-Example-Azure.md
+ HowTo/Interact/Client-Libraries/eeajs.md: HowTo/Interact/Client-Libraries/web3js-quorum.md
+ HowTo/Interact/Client-Libraries/web3js-eea.md: HowTo/Interact/Client-Libraries/web3js-quorum.md
+ Privacy/Explanation/Privacy-Groups.md: Concepts/Privacy/Privacy-Groups.md
+ Tutorials/Privacy/eeajs-Multinode-example.md: Tutorials/Privacy/web3js-quorum-Multinode-example.md
+ Tutorials/Privacy/web3js-eea-Multinode-example.md: Tutorials/Privacy/web3js-quorum-Multinode-example.md
+ HowTo/Configure/Configure-TLS.md: HowTo/Configure/TLS/Configure-TLS.md
+ HowTo/Deploy/Lite-Block-Explorer.md: https://github.com/Alethio/ethereum-lite-explorer
+ HowTo/Deploy/Lite-Network-Monitor.md: https://github.com/Alethio/ethstats-network-dashboard
+ HowTo/Configure/Consensus-Protocols/QuorumIBFT.md: HowTo/Configure/Consensus-Protocols/QBFT.md
+ HowTo/Configure/Configure-Data-Storage.md: Concepts/Data-Storage-Formats.md
+ Concepts/Consensus-Protocols/Proof-of-Stake.md: Concepts/Merge.md
+ Tutorials/Examples/Private-Network-Example.md: Tutorials/Developer-Quickstart.md
+ Tutorials/Examples/Privacy-Example.md: Tutorials/Privacy/Privacy-Example.md
+ Tutorials/Examples/Nat-Manager-Kubernetes.md: Tutorials/Kubernetes/Nat-Manager-Kubernetes.md
+ Tutorials/Examples/Private-Network-Example-Azure.md: Tutorials/Private-Network-Example-Azure.md
+ HowTo/Configure/Consensus-Protocols/Add-Validators.md: HowTo/Configure/Consensus-Protocols/QBFT.md
diff --git a/mkdocs.theme.yml b/mkdocs.theme.yml
new file mode 100644
index 00000000..0f638b33
--- /dev/null
+++ b/mkdocs.theme.yml
@@ -0,0 +1,37 @@
+---
+# Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
+# an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations under the License.
+INHERIT: mkdocs.redirects.yml # DO NOT MODIFY THIS LINE
+
+theme:
+ name: material
+ custom_dir: custom_theme
+ palette:
+ primary: blue-grey
+ accent: teal
+ font:
+ text: Roboto
+ code: Roboto Mono
+ favicon: favicon.svg
+ logo: logo-reversed.svg
+ features:
+ - content.code.annotate
+ - content.tooltips
+ - navigation.indexes
+ - navigation.tabs
+ - navigation.tabs.sticky
+ - navigation.top
+ - navigation.tracking
+ - search.highlight
+ - search.share
+ - search.suggest
+ - toc.follow
+ # Don't include MkDocs' JavaScript
+ include_search_page: false
+ search_index_only: true
diff --git a/mkdocs.watch.yml b/mkdocs.watch.yml
new file mode 100644
index 00000000..d66bf1d9
--- /dev/null
+++ b/mkdocs.watch.yml
@@ -0,0 +1,20 @@
+---
+# Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
+# an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations under the License.
+INHERIT: mkdocs.theme.yml # DO NOT MODIFY THIS LINE
+
+watch:
+ - mkdocs.exclude.yml
+ - mkdocs.extensions.yml
+ - mkdocs.extra.yml
+ - mkdocs.navigation.yml
+ - mkdocs.plugins.yml
+ - mkdocs.redirects.yml
+ - mkdocs.theme.yml
+ - mkdocs.watch.yml
diff --git a/mkdocs.yml b/mkdocs.yml
index 1b3ac2c3..cf01fb69 100644
--- a/mkdocs.yml
+++ b/mkdocs.yml
@@ -1,5 +1,4 @@
-# Copyright 2018 ConsenSys AG.
-#
+---
# Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
@@ -8,318 +7,25 @@
# Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
# an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
# specific language governing permissions and limitations under the License.
+INHERIT: mkdocs.watch.yml # DO NOT MODIFY THIS LINE
# Project information
site_name: Hyperledger Besu
site_url: https://besu.hyperledger.org/
site_description: Hyperledger Besu Java Ethereum client documentation.
site_author: Hyperledger Besu community
-copyright: Hyperledger Besu and its documentation are licensed under Apache 2.0 license /
- This Readthedocs.org documentation is maintained with love by Hyperledger Besu community .
-
-#extra project info and template customisation
-extra:
-# doc_site_edit_url: https://github.com/hyperledger/besu-docs/
- latest_version_warning:
- url_contains: /latest/
- text: 'You are reading Hyperledger Besu development version documentation and
- some displayed features may not be available in the stable release.
- You can switch to stable version using the version box at screen bottom.'
- support:
- chat: https://discord.gg/hyperledger
- email: besu@lists.hyperledger.org
- website: https://www.hyperledger.org/projects/besu
- issues: https://github.com/hyperledger/besu/issues
- doc_issues: https://github.com/hyperledger/besu-docs/issues/new/choose
- google:
- site_verification:
- - 'sGzYdFR_AYDRtsC-SNxMRwjellnfTgs5ZA0q7GIM5j0'
- tag_manager: 'GTM-TS3WLJM'
- logo_regular: logo.svg
- logo_reversed: &logo_reversed logo-reversed.svg
-
-# Repository
-repo_name: hyperledger/besu
-repo_url: https://github.com/hyperledger/besu/
+copyright: >-
+ Hyperledger Besu and its documentation are licensed under Apache 2.0 license /
+ This Readthedocs.org documentation is maintained with love
+ by Hyperledger Besu community .
-theme:
- name: material
- custom_dir: custom_theme
- palette:
- primary: blue-grey
- accent: teal
- favicon: favicon.svg
- logo: *logo_reversed
+# Doc Repository
+repo_name: hyperledger/besu-docs
+repo_url: https://github.com/hyperledger/besu-docs/
+edit_uri: edit/main/docs/
+# The following has to be in this mkdocs.yml file because readthedocs.org is overriding it here.
extra_css:
- assets/stylesheets/custom_theme.css
- - assets/stylesheets/zoomify.min.css
extra_javascript:
- assets/javascripts/custom_theme.js
- - assets/javascripts/zoomify.min.js
-
-nav:
- - How to:
- - Get started with Besu:
- - System requirements:
- - Private network: HowTo/Get-Started/System-Requirements/System-Requirements-Private.md
- - Public network: HowTo/Get-Started/System-Requirements/System-Requirements-Public.md
- - Install Besu:
- - Options: HowTo/Get-Started/Installation-Options/Options.md
- - Run Besu from Docker image: HowTo/Get-Started/Installation-Options/Run-Docker-Image.md
- - Install binary distribution: HowTo/Get-Started/Installation-Options/Install-Binaries.md
- - Build from source: HowTo/Get-Started/Installation-Options/Build-from-source.md
- - Start Besu: HowTo/Get-Started/Starting-node.md
- - Configure Besu:
- - Consensus protocols:
- - QBFT: HowTo/Configure/Consensus-Protocols/QBFT.md
- - IBFT 2.0: HowTo/Configure/Consensus-Protocols/IBFT.md
- - Clique: HowTo/Configure/Consensus-Protocols/Clique.md
- - Create a genesis file: HowTo/Configure/Genesis-File.md
- - Specify options in a configuration file: HowTo/Configure/Using-Configuration-File.md
- - Configure a free gas network: HowTo/Configure/FreeGas.md
- - TLS:
- - Client and server TLS: HowTo/Configure/TLS/Configure-TLS.md
- - Peer-to-peer TLS: HowTo/Configure/TLS/P2P-TLS.md
- - High availability:
- - Configure high availability of APIs: HowTo/Configure/Configure-HA/High-Availability.md
- - Sample load balancer configurations: HowTo/Configure/Configure-HA/Sample-Configuration.md
- - Predeploy a contract in the genesis file: HowTo/Configure/Contracts-in-Genesis.md
- - Configure mining: HowTo/Configure/Configure-Mining.md
- - Pass JVM options: HowTo/Configure/Passing-JVM-Options.md
- - Alternative elliptic curves: HowTo/Configure/Alternative-EC-Curves.md
- - Block proposal permissioning: HowTo/Configure/Block-Proposal-Permissioning.md
- - Interact with node:
- - Besu APIs:
- - Access Besu APIs: HowTo/Interact/APIs/API.md
- - Use JSON-RPC API over HTTP or WebSockets: HowTo/Interact/APIs/Using-JSON-RPC-API.md
- - Use RPC Pub/Sub API over WebSockets: HowTo/Interact/APIs/RPC-PubSub.md
- - Use GraphQL over HTTP: HowTo/Interact/APIs/GraphQL.md
- - Authenticate JSON-RPC requests: HowTo/Interact/APIs/Authentication.md
- - Use the Engine API: HowTo/Interact/APIs/Engine-API.md
- - Client libraries:
- - Use the web3js-quorum client library: HowTo/Interact/Client-Libraries/web3js-quorum.md
- - Filters:
- - Access logs using JSON-RPC API: HowTo/Interact/Filters/Accessing-Logs-Using-JSON-RPC.md
- - Find and connect to peers:
- - Specify bootnodes: HowTo/Find-and-Connect/Bootnodes.md
- - Configure static nodes: HowTo/Find-and-Connect/Static-Nodes.md
- - Configure ports for access: HowTo/Find-and-Connect/Configuring-Ports.md
- - Manage peers: HowTo/Find-and-Connect/Managing-Peers.md
- - Specify NAT method: HowTo/Find-and-Connect/Specifying-NAT.md
- - Monitor nodes:
- - Use metrics: HowTo/Monitor/Metrics.md
- - Use Elastic Stack: HowTo/Monitor/Elastic-Stack.md
- - Use Quorum Hibernate: HowTo/Monitor/Quorum-Hibernate.md
- - Use Splunk: HowTo/Monitor/Splunk-Enterprise.md
- - Use OpenTelemetry: HowTo/Monitor/OpenTelemetry-Collector.md
- - Configure logging: HowTo/Monitor/Logging.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
- - Send concurrent private transactions: HowTo/Send-Transactions/Concurrent-Private-Transactions.md
- - Include revert reason: HowTo/Send-Transactions/Revert-Reason.md
- - Limit access to node:
- - Use local permissioning: HowTo/Limit-Access/Local-Permissioning.md
- - Update onchain allowlists: HowTo/Limit-Access/Updating-Permission-Lists.md
- - Specify interface version: HowTo/Limit-Access/Specify-Perm-Version.md
- - Use privacy features:
- - Use EEA-compliant privacy: HowTo/Use-Privacy/EEA-Compliant.md
- - Use Besu-extended privacy: HowTo/Use-Privacy/Privacy.md
- - Create and manage privacy groups: HowTo/Use-Privacy/Create-Manage-Privacy-Groups.md
- - Sign privacy marker transactions: HowTo/Use-Privacy/Sign-Privacy-Marker-Transactions.md
- - Access private and privacy marker transactions: HowTo/Use-Privacy/Access-Private-Transactions.md
- - Run Tessera with Besu: HowTo/Use-Privacy/Run-Tessera-With-Besu.md
- - Use flexible privacy: HowTo/Use-Privacy/Use-FlexiblePrivacy.md
- - Use GoQuorum-compatible privacy: HowTo/Use-Privacy/Use-GoQuorum-compatible-privacy.md
- - Private transaction performance best practices: HowTo/Use-Privacy/Performance-Best-Practices.md
- - Deploy for production:
- - Deploy to the cloud: HowTo/Deploy/Cloud.md
- - Use Ansible to deploy Besu: HowTo/Deploy/Ansible.md
- - Use Kubernetes to deploy a private network: HowTo/Deploy/Kubernetes.md
- - Configure bootnodes: HowTo/Deploy/Bootnodes.md
- - Configure validators: HowTo/Deploy/Validators.md
- - Deploy permissioning management dapp: HowTo/Deploy/Production.md
- - Use Ethstats network monitor: HowTo/Deploy/Ethstats.md
- - Backup and restore: HowTo/Backup/Backup.md
- - Upgrade:
- - Upgrade node: HowTo/Upgrade/Upgrade-Node.md
- - Upgrade protocol: HowTo/Upgrade/Upgrade-Protocol.md
- - Prepare for The Merge: HowTo/Upgrade/Prepare-for-The-Merge.md
- - Develop dapps on Besu:
- - Use Truffle: HowTo/Develop-Dapps/Truffle.md
- - Use client libraries: HowTo/Develop-Dapps/Client-Libraries.md
- - Troubleshoot:
- - Add and remove validators without voting: HowTo/Troubleshoot/Add-Validators-Without-Voting.md
- - Use EVM tool: HowTo/Troubleshoot/Use-EVM-Tool.md
- - Collect Java runtime data: HowTo/Troubleshoot/Java-Flight-Recording.md
- - Trace transactions: HowTo/Troubleshoot/Trace-Transactions.md
- - Solve common problems: HowTo/Troubleshoot/Troubleshooting.md
- - Tutorials:
- - Quorum Developer Quickstart: Tutorials/Developer-Quickstart.md
- - Create a private network:
- - Use QBFT (PoA): Tutorials/Private-Network/Create-QBFT-Network.md
- - Use IBFT 2.0 (PoA): Tutorials/Private-Network/Create-IBFT-Network.md
- - Use Clique (PoA): Tutorials/Private-Network/Create-Private-Clique-Network.md
- - Use Ethash (PoW): Tutorials/Private-Network/Create-Private-Network.md
- - Add and remove IBFT 2.0 validators: Tutorials/Private-Network/Adding-removing-IBFT-validators.md
- - Permissioning:
- - Create a permissioned network: Tutorials/Permissioning/Create-Permissioned-Network.md
- - Get started with onchain permissioning: Tutorials/Permissioning/Getting-Started-Onchain-Permissioning.md
- - Upgrade the permissioning contracts: Tutorials/Permissioning/Upgrade-Permissioning-Contract.md
- - Smart contracts and transactions:
- - Deploy a contract: Tutorials/Contracts/Deploying-Contracts.md
- - Interact with a deployed contract: Tutorials/Contracts/Calling-Contract-Functions.md
- - Transfer account funds: Tutorials/Contracts/Account-Funds-Transfers.md
- - Privacy:
- - Create a privacy-enabled network: Tutorials/Privacy/Configuring-Privacy.md
- - Create a privacy-enabled network using the Quickstart: Tutorials/Privacy/Privacy-Example.md
- - Configure a multi-tenant network: Tutorials/Privacy/Configuring-Multi-Tenancy.md
- - Use web3js-quorum multinode example: Tutorials/Privacy/web3js-quorum-Multinode-example.md
- - Kubernetes:
- - Overview: Tutorials/Kubernetes/Overview.md
- - Local playground: Tutorials/Kubernetes/Playground.md
- - Create a cluster: Tutorials/Kubernetes/Create-Cluster.md
- - Deploy charts: Tutorials/Kubernetes/Deploy-Charts.md
- - Quorum Explorer: Tutorials/Kubernetes/Quorum-Explorer.md
- - Maintenance: Tutorials/Kubernetes/Maintenance.md
- - Production: Tutorials/Kubernetes/Production.md
- - Configure Kubernetes mode in NAT Manager : Tutorials/Kubernetes/Nat-Manager-Kubernetes.md
- - Deploy on Microsoft Azure: Tutorials/Private-Network-Example-Azure.md
- - Run Besu and Teku on the Merge testnet: Tutorials/Merge-Testnet.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
- - Data storage formats: Concepts/Data-Storage-Formats.md
- - Events and logs: Concepts/Events-and-Logs.md
- - The Merge: Concepts/Merge.md
- - Mining: Concepts/Mining.md
- - Monitoring: Concepts/Monitoring.md
- - Network ID and chain ID: Concepts/NetworkID-And-ChainID.md
- - Network vs node configuration: Concepts/Network-vs-Node.md
- - Node keys: Concepts/Node-Keys.md
- - Node types: Concepts/Node-Types.md
- - Permissioning:
- - Overview: Concepts/Permissioning/Permissioning-Overview.md
- - Onchain permissioning: Concepts/Permissioning/Onchain-Permissioning.md
- - Permissioning plugin: Concepts/Permissioning/Plugin-Permissioning.md
- - Plugins: Concepts/Plugins.md
- - Privacy:
- - Overview: Concepts/Privacy/Privacy-Overview.md
- - Private transactions: Concepts/Privacy/Private-Transactions.md
- - Privacy groups: Concepts/Privacy/Privacy-Groups.md
- - Processing private transactions: Concepts/Privacy/Private-Transaction-Processing.md
- - Flexible privacy groups: Concepts/Privacy/Flexible-PrivacyGroups.md
- - Multi-tenancy: Concepts/Privacy/Multi-Tenancy.md
- - Privacy plugin: Concepts/Privacy/Plugin-Privacy.md
- - Protocol upgrades: Concepts/Protocol-Upgrades.md
- - Pruning: Concepts/Pruning.md
- - Public key infrastructure: Concepts/PKI.md
- - TLS communication: Concepts/TLS.md
- - Transactions:
- - Transaction types: Concepts/Transactions/Transaction-Types.md
- - Transaction pool: Concepts/Transactions/Transaction-Pool.md
- - Validating transactions: Concepts/Transactions/Transaction-Validation.md
- - Reference:
- - Besu command line:
- - Options: Reference/CLI/CLI-Syntax.md
- - Subcommands: Reference/CLI/CLI-Subcommands.md
- - Besu API methods: Reference/API-Methods.md
- - Besu API objects: Reference/API-Objects.md
- - Engine API methods: Reference/Engine-API-Methods.md
- - Engine API objects: Reference/Engine-API-Objects.md
- - Transaction trace types: Reference/Trace-Types.md
- - Genesis file items: Reference/Config-Items.md
- - Web3js-quorum reference: Reference/web3js-quorum.md
- - Plugin API interfaces: Reference/Plugin-API-Interfaces.md
- - Accounts for testing: Reference/Accounts-for-Testing.md
- - EVM tool: Reference/Evm-Tool.md
- - Projects using Besu: Reference/Projects-Using-Besu.md
- - Security disclosure policy: Reference/Responsible-Disclosure.md
- - Blog posts and webinars: Reference/Resources.md
-
-markdown_extensions:
- - toc:
- permalink:
- toc_depth: 3
- - codehilite
- - pymdownx.tabbed
- - pymdownx.superfences
- - markdown_include.include:
- base_path: docs
- - admonition
- - footnotes
- - def_list
- - abbr
- - pymdownx.arithmatex
- - pymdownx.betterem:
- smart_enable: all
- - pymdownx.keys
- - pymdownx.details
- - pymdownx.emoji
- - pymdownx.magiclink
- - pymdownx.mark
- - pymdownx.smartsymbols
- - pymdownx.tasklist:
- custom_checkbox: true
- - pymdownx.tilde
- - meta
- - smarty
- - attr_list
-
-plugins:
- - search:
- lang: 'en'
- separator: '[\s\-\.\_]+'
- - markdownextradata
- - exclude:
- glob:
- - global/*
- - git-revision-date-localized:
- locale: en
-# - minify:
-# minify_html: true
-# minify_js: true
-# htmlmin_opts:
-# remove_comments: true
- - redirects:
- redirect_maps:
- # Configure redirects using key:value pairs:
- # old_path.md: new_path.md
- # you can't use an already redirected path as an old_path.
- # new_path can be a file inside the docs/ folder or any URL (http://...)
- HowTo/Get-Started/System-Requirements-Private.md: HowTo/Get-Started/System-Requirements/System-Requirements-Private.md
- HowTo/Get-Started/System-Requirements-Public.md: HowTo/Get-Started/System-Requirements/System-Requirements-Public.md
- HowTo/Get-Started/Install-Binaries.md: HowTo/Get-Started/Installation-Options/Install-Binaries.md
- HowTo/Get-Started/Build-from-source.md: HowTo/Get-Started/Installation-Options/Build-from-source.md
- HowTo/Get-Started/Run-Docker-Image.md: HowTo/Get-Started/Installation-Options/Run-Docker-Image.md
- HowTo/Deploy/High-Availability.md: HowTo/Configure/Configure-HA/High-Availability.md
- HowTo/Deploy/Monitoring-Performance.md: HowTo/Monitor/Metrics.md
- HowTo/Upgrade/Upgrade-Network.md: HowTo/Upgrade/Upgrade-Node.md
- HowTo/Find-and-Connect/Using-UPnP.md: HowTo/Find-and-Connect/Specifying-NAT.md
- HowTo/Use-Privacy/Run-Orion-With-Besu.md: HowTo/Use-Privacy/Run-Tessera-With-Besu.md
- Concepts/Transactions/Trace-Types.md: Reference/Trace-Types.md
- HowTo/Develop-Dapps/Use-web3js.md: HowTo/Develop-Dapps/Client-Libraries.md
- Concepts/Client-Libraries.md: HowTo/Develop-Dapps/Client-Libraries.md
- Concepts/Privacy/Onchain-PrivacyGroups.md: Concepts/Privacy/Flexible-PrivacyGroups.md
- HowTo/Use-Privacy/Use-OnChainPrivacy.md: HowTo/Use-Privacy/Use-FlexiblePrivacy.md
- Tutorials/Quickstarts/Azure-Private-Network-Quickstart.md: Tutorials/Private-Network-Example-Azure.md
- HowTo/Interact/Client-Libraries/eeajs.md: HowTo/Interact/Client-Libraries/web3js-quorum.md
- HowTo/Interact/Client-Libraries/web3js-eea.md: HowTo/Interact/Client-Libraries/web3js-quorum.md
- Privacy/Explanation/Privacy-Groups.md: Concepts/Privacy/Privacy-Groups.md
- Tutorials/Privacy/eeajs-Multinode-example.md: Tutorials/Privacy/web3js-quorum-Multinode-example.md
- Tutorials/Privacy/web3js-eea-Multinode-example.md: Tutorials/Privacy/web3js-quorum-Multinode-example.md
- HowTo/Configure/Configure-TLS.md: HowTo/Configure/TLS/Configure-TLS.md
- HowTo/Deploy/Lite-Block-Explorer.md: https://github.com/Alethio/ethereum-lite-explorer
- HowTo/Deploy/Lite-Network-Monitor.md: https://github.com/Alethio/ethstats-network-dashboard
- HowTo/Configure/Consensus-Protocols/QuorumIBFT.md: HowTo/Configure/Consensus-Protocols/QBFT.md
- HowTo/Configure/Configure-Data-Storage.md: Concepts/Data-Storage-Formats.md
- Concepts/Consensus-Protocols/Proof-of-Stake.md: Concepts/Merge.md
- Tutorials/Examples/Private-Network-Example.md: Tutorials/Developer-Quickstart.md
- Tutorials/Examples/Privacy-Example.md: Tutorials/Privacy/Privacy-Example.md
- Tutorials/Examples/Nat-Manager-Kubernetes.md: Tutorials/Kubernetes/Nat-Manager-Kubernetes.md
- Tutorials/Examples/Private-Network-Example-Azure.md: Tutorials/Private-Network-Example-Azure.md
- HowTo/Configure/Consensus-Protocols/Add-Validators.md: HowTo/Configure/Consensus-Protocols/QBFT.md
diff --git a/readthedocs.yml b/readthedocs.yml
deleted file mode 100644
index be73c705..00000000
--- a/readthedocs.yml
+++ /dev/null
@@ -1,17 +0,0 @@
-# readthedocs.yml
-
-version: 2
-
-build:
- image: latest
-
-python:
-# Python version should be set to this one too in the Jenkinsfile to
-# make sure we test with the same version that RTD will use
- version: 3.7
- install:
- - requirements: CI/requirements.txt
-
-mkdocs:
- configuration: mkdocs.yml
- fail_on_warning: false