From 4b4d5c35af0c73db5630a79974ffda1dc677408a Mon Sep 17 00:00:00 2001 From: MadelineMurray <43356962+MadelineMurray@users.noreply.github.com> Date: Thu, 12 Nov 2020 17:23:28 +1000 Subject: [PATCH] Added permissioning contract interface version CLI option (#544) * Added permissioning contract interface version cli option Signed-off-by: Madeline Murray * lint Signed-off-by: Madeline Murray * lint Signed-off-by: Madeline Murray Co-authored-by: Madeline Murray --- .../Permissioning/Onchain-Permissioning.md | 6 ++-- .../Limit-Access/Specify-Perm-Version.md | 20 +++++++++++++ docs/Reference/CLI/CLI-Syntax.md | 29 +++++++++++++++++++ mkdocs.yml | 1 + 4 files changed, 53 insertions(+), 3 deletions(-) create mode 100644 docs/HowTo/Limit-Access/Specify-Perm-Version.md diff --git a/docs/Concepts/Permissioning/Onchain-Permissioning.md b/docs/Concepts/Permissioning/Onchain-Permissioning.md index 694fc0fb..7b8aaa5b 100644 --- a/docs/Concepts/Permissioning/Onchain-Permissioning.md +++ b/docs/Concepts/Permissioning/Onchain-Permissioning.md @@ -11,13 +11,13 @@ source, the blockchain. !!! note The permissioning smart contracts and Permissioning Management Dapp are a separate product to - Hyperledger Besu, located in the [PegaSysEng/permissioning-smart-contracts] repository. + Hyperledger Besu, located in the [ConsenSys/permissioning-smart-contracts] repository. Custom smart contracts and dapps can be implemented to work with onchain permissioning. ## Permissioning contracts -The permissioning smart contracts provided in the [PegaSysEng/permissioning-smart-contracts] +The permissioning smart contracts provided in the [ConsenSys/permissioning-smart-contracts] repository are: * Ingress contracts for nodes and accounts - proxy contracts defined in the genesis file to defer @@ -81,6 +81,6 @@ bootnodes to rediscover peers. All bootnodes must be on the nodes allowlist. -[PegaSysEng/permissioning-smart-contracts]: https://github.com/PegaSysEng/permissioning-smart-contracts +[ConsenSys/permissioning-smart-contracts]: https://github.com/ConsenSys/permissioning-smart-contracts [Permissioning Management Dapp]: ../../Tutorials/Permissioning/Getting-Started-Onchain-Permissioning.md [`--privacy-marker-transaction-signing-key-file`]: ../../Reference/CLI/CLI-Syntax.md#privacy-marker-transaction-signing-key-file diff --git a/docs/HowTo/Limit-Access/Specify-Perm-Version.md b/docs/HowTo/Limit-Access/Specify-Perm-Version.md new file mode 100644 index 00000000..939f49c6 --- /dev/null +++ b/docs/HowTo/Limit-Access/Specify-Perm-Version.md @@ -0,0 +1,20 @@ +--- +description: Specify the permissioning interface version +--- + +# Specify the permissioning contract interface version + +Use the [`--permissions-nodes-contract-version`](../../Reference/CLI/CLI-Syntax.md#permissions-nodes-contract-version) +command line option to specify the version of the [permissioning contract interface](../../Concepts/Permissioning/Onchain-Permissioning.md#permissioning-contracts). +The default is 1. + +Specify the contract interface version that maps to the version of the [Enterprise Ethereum Alliance Client Specification](https://entethalliance.org/technical-specifications/) +the contract interface implements. + +| | EEA Client Specification | Contract interface | +|---------|--------------------------|--------------------| +| Version | 5 | 1 | +| Version | 6 | 2 | + +The permissioning contracts in the [`ConsenSys/permissioning-smart-contracts`](https://github.com/ConsenSys/permissioning-smart-contracts) +repository implement the version 1 contract interface. diff --git a/docs/Reference/CLI/CLI-Syntax.md b/docs/Reference/CLI/CLI-Syntax.md index 06e2b73b..80cee4c0 100644 --- a/docs/Reference/CLI/CLI-Syntax.md +++ b/docs/Reference/CLI/CLI-Syntax.md @@ -1568,6 +1568,35 @@ Enables or disables contract-based [onchain node permissioning](../../Concepts/Permissioning/Onchain-Permissioning.md). The default is `false`. +### permissions-nodes-contract-version + +=== "Syntax" + + ```bash + --permissions-nodes-contract-version= + ``` + +=== "Command Line" + + ```bash + --permissions-nodes-contract-version=2 + ``` + +=== "Environment Variable" + + ```bash + BESU_PERMISSIONS_NODES_CONTRACT_VERSION=2 + ``` + +=== "Configuration File" + + ```bash + permissions-nodes-contract-version=2 + ``` + +Version of the EEA [node permissioning interface](../../HowTo/Limit-Access/Specify-Perm-Version.md). +The default is 1. + ### privacy-enabled === "Syntax" diff --git a/mkdocs.yml b/mkdocs.yml index 7776a057..931d9d62 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -107,6 +107,7 @@ nav: - 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