From f358c84a7eb826f018bfd1d84d0dbd49efbf4da9 Mon Sep 17 00:00:00 2001 From: Snigdha Singh Date: Tue, 10 Sep 2024 13:06:01 +0200 Subject: [PATCH 1/8] initial docs --- ...prise-ethereum-connect-external-network.md | 51 +++++++++++++++++++ ...terprise-ethereum-connect-external-node.md | 2 +- 2 files changed, 52 insertions(+), 1 deletion(-) create mode 100644 docs/blockchain-guides/1_Hyperledger-Besu/8_enterprise-ethereum-connect-external-network.md diff --git a/docs/blockchain-guides/1_Hyperledger-Besu/8_enterprise-ethereum-connect-external-network.md b/docs/blockchain-guides/1_Hyperledger-Besu/8_enterprise-ethereum-connect-external-network.md new file mode 100644 index 00000000..a66f25d5 --- /dev/null +++ b/docs/blockchain-guides/1_Hyperledger-Besu/8_enterprise-ethereum-connect-external-network.md @@ -0,0 +1,51 @@ +# Connect to an external network + +The SettleMint platform seamlessly integrates with existing external networks. You can deploy nodes on your external network within the SettleMint platform. This enables you to take advantage of the platform's robust features - monitoring, resource scaling, an intuitive JSON-RPC UI, and reliable uptime management among others. + +## Prerequisites + +- A Quorum OBFT or Hyperledger Besu Network +- The genesis file of the network +- Atleast one enode URL of an existing running node on the network to connect to + +## Join a network + +1. Navigate to the create network form, you can see how to do this [here](../../using-platform/1_add-a-network-to-an-application.md). +2. Select **Join permissioned network** +3. Choose **Hyperledger Besu or Quorum**, depending on the network you want to join +4. Enter a name for the network and the node. This is name used for identifying the network in the platform. +5. Upload the genesis file of the network. If there are bootnodes specified in the genesis file, they will automatically be pre-filled in the form. +6. Add an enode URL of atleast one existing running node on the network to connect to. +7. Choose the deployment plan. This deployment plan will be used for the node you are adding. For more information about deployment plans, [see here](../../using-platform/22_deployment-plans.md). + +This will create a new node in your existing network, and run it as a non-validator. + +TODO: image + +## Adding more nodes + +You can add more nodes to your network by navigating to the create node form, and selecting the network created in the previous step to create nodes in. + +You can choose to add the new nodes as validators or non-validators. However, to successfully add new nodes as validators, we first need to have a majority of validators running on the platform, then adding new nodes as validators will be possible. + +## Adding a validator in the platform + +Until a majority of validators are running on the platform, you need to vote on the nodes running externally to add the platform node as a validator. + +You can do this by executing [ibft_proposeValidatorVote](https://besu.hyperledger.org/stable/private-networks/reference/api#ibft_proposevalidatorvote) on all your validator nodes. You can find the enode address of the platform node in the details tab of the node: + +TODO: image + +## Removing a validator in the platform + +Similarily you can make a platform validator a regular node by executing [ibft_proposeValidatorVote](https://besu.hyperledger.org/stable/private-networks/reference/api#ibft_proposevalidatorvote) with proposal "false" on every validator node. + +## Node type conflict warning + +When we add the node as a non-validator on the platform, but it is running as a validator on the network, or vice-versa, the platform shows a node type conflict warning. + +Here you have the option to update the node type in the platform to match the node type on the network. + +TODO: image + +If you wish to run the node with the type chosen by the platform, you need to add or remove the node as a validator on the network using the steps mentioned above. The platform will then automatically resolve the node type conflict warning soon. diff --git a/docs/blockchain-guides/1_Hyperledger-Besu/8_enterprise-ethereum-connect-external-node.md b/docs/blockchain-guides/1_Hyperledger-Besu/8_enterprise-ethereum-connect-external-node.md index 8e8973a4..8cdd73ff 100644 --- a/docs/blockchain-guides/1_Hyperledger-Besu/8_enterprise-ethereum-connect-external-node.md +++ b/docs/blockchain-guides/1_Hyperledger-Besu/8_enterprise-ethereum-connect-external-node.md @@ -1,4 +1,4 @@ -# Connect an external node +# Connect to an external node There are many usecases where not all nodes are running on the SettleMint platform. For example, you might want to connect to a node running on a different server, you might want to connect to a node running on a different blockchain platform or just for development purposes. In this guide, we will show you how to connect to an external node. From 568e6e4a7a837fb12d2b499363eefe2297348249 Mon Sep 17 00:00:00 2001 From: Snigdha Singh Date: Tue, 10 Sep 2024 14:32:17 +0200 Subject: [PATCH 2/8] more cleanup --- ...prise-ethereum-connect-external-network.md | 43 +++++++++++-------- 1 file changed, 25 insertions(+), 18 deletions(-) diff --git a/docs/blockchain-guides/1_Hyperledger-Besu/8_enterprise-ethereum-connect-external-network.md b/docs/blockchain-guides/1_Hyperledger-Besu/8_enterprise-ethereum-connect-external-network.md index a66f25d5..2dae6b86 100644 --- a/docs/blockchain-guides/1_Hyperledger-Besu/8_enterprise-ethereum-connect-external-network.md +++ b/docs/blockchain-guides/1_Hyperledger-Besu/8_enterprise-ethereum-connect-external-network.md @@ -1,36 +1,40 @@ # Connect to an external network -The SettleMint platform seamlessly integrates with existing external networks. You can deploy nodes on your external network within the SettleMint platform. This enables you to take advantage of the platform's robust features - monitoring, resource scaling, an intuitive JSON-RPC UI, and reliable uptime management among others. +The SettleMint platform seamlessly integrates with existing external networks. You can deploy nodes on your external network within the SettleMint platform. This enables you to take advantage of the platform's robust features - monitoring, resource scaling, an intuitive JSON-RPC UI, reliable uptime management among others. ## Prerequisites -- A Quorum OBFT or Hyperledger Besu Network +- A Hyperledger Besu or Quorum OBFT network - The genesis file of the network -- Atleast one enode URL of an existing running node on the network to connect to +- Atleast one enode URL of an existing running node on the network. This is needed to sync the existing network with the platform node. ## Join a network -1. Navigate to the create network form, you can see how to do this [here](../../using-platform/1_add-a-network-to-an-application.md). +1. Navigate to the create network form, you can [see how to do this here](../../using-platform/1_add-a-network-to-an-application.md). 2. Select **Join permissioned network** -3. Choose **Hyperledger Besu or Quorum**, depending on the network you want to join -4. Enter a name for the network and the node. This is name used for identifying the network in the platform. -5. Upload the genesis file of the network. If there are bootnodes specified in the genesis file, they will automatically be pre-filled in the form. -6. Add an enode URL of atleast one existing running node on the network to connect to. -7. Choose the deployment plan. This deployment plan will be used for the node you are adding. For more information about deployment plans, [see here](../../using-platform/22_deployment-plans.md). +3. Choose **Hyperledger Besu** or **Quorum** depending on the network you want to join +4. Enter a name for the network and the node. These names are used for identifying the network and node in the platform. +5. Upload the genesis file of the network. If there are bootnodes specified in the genesis file, they will automatically be identified and added as external nodes. +6. Add atleast one enode URL of an existing running node on the network to connect to. Note that if a bootnode is specified in the genesis file, it will be added as an external node automatically, so you can skip this step. +7. Choose the deployment plan. This deployment plan will be used for the node. For more information about deployment plans, [see here](../../using-platform/22_deployment-plans.md). This will create a new node in your existing network, and run it as a non-validator. TODO: image -## Adding more nodes +## Adding nodes -You can add more nodes to your network by navigating to the create node form, and selecting the network created in the previous step to create nodes in. +You can add more nodes to your network by navigating to the create node form (for more details on creating a node, [refer to this guide](../../using-platform/2_add-a-node-to-a-network.md)). Here, you can choose to create the nodes as validators or non-validators. However, to successfully deploy nodes as validators, you first need to have a majority of validators running on the platform. A majority of validators is defined as 66% of the total validators on the network. -You can choose to add the new nodes as validators or non-validators. However, to successfully add new nodes as validators, we first need to have a majority of validators running on the platform, then adding new nodes as validators will be possible. +You can have a majority of validators running on the platform by first, creating the nodes as non-validators, and then sending votes on the externally running validator nodes to add the platform node as a validator. For more details, see [adding a validator in the platform](#adding-a-validator-in-the-platform). + +Deploying a new node as a validator will fail if a majority of validators are not running on the platform. + +Once there is a majority of validators running on the platform, deploying new nodes as validators is possible without having to vote on externally running nodes. We recommend you to have a majority of validators running on the platform to be able to seamlessly add and remove validators from the network. ## Adding a validator in the platform -Until a majority of validators are running on the platform, you need to vote on the nodes running externally to add the platform node as a validator. +Unless there are a majority of validators running on the platform, you need to send votes on the externally running validator nodes to add the platform node as a validator. You can do this by executing [ibft_proposeValidatorVote](https://besu.hyperledger.org/stable/private-networks/reference/api#ibft_proposevalidatorvote) on all your validator nodes. You can find the enode address of the platform node in the details tab of the node: @@ -38,14 +42,17 @@ TODO: image ## Removing a validator in the platform -Similarily you can make a platform validator a regular node by executing [ibft_proposeValidatorVote](https://besu.hyperledger.org/stable/private-networks/reference/api#ibft_proposevalidatorvote) with proposal "false" on every validator node. +Similarily you can make a platform validator a non-validator by executing [ibft_proposeValidatorVote](https://besu.hyperledger.org/stable/private-networks/reference/api#ibft_proposevalidatorvote) with proposal "false" on every validator node. ## Node type conflict warning -When we add the node as a non-validator on the platform, but it is running as a validator on the network, or vice-versa, the platform shows a node type conflict warning. +When there is a difference between the node type in the platform and the node type on the network, the platform shows a node type conflict warning. -Here you have the option to update the node type in the platform to match the node type on the network. +This can happen when: -TODO: image +- The node is added as a non-validator on the platform, but it is running as a validator on the network. +- The node is added as a validator on the platform, but it is running as a non-validator on the network. -If you wish to run the node with the type chosen by the platform, you need to add or remove the node as a validator on the network using the steps mentioned above. The platform will then automatically resolve the node type conflict warning soon. +Here you can choose to update the node type in the platform to match the node type on the network. Alternatively, you can add or remove the node as a validator on the network using the steps mentioned above. The platform will then automatically resolve the node type conflict warning soon. + +TODO: image From e99a736ce85755ef18098ec17189f9bea37d7e99 Mon Sep 17 00:00:00 2001 From: Snigdha Singh Date: Tue, 10 Sep 2024 14:51:01 +0200 Subject: [PATCH 3/8] remove references to images --- .../8_enterprise-ethereum-connect-external-network.md | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/docs/blockchain-guides/1_Hyperledger-Besu/8_enterprise-ethereum-connect-external-network.md b/docs/blockchain-guides/1_Hyperledger-Besu/8_enterprise-ethereum-connect-external-network.md index 2dae6b86..9371fb4f 100644 --- a/docs/blockchain-guides/1_Hyperledger-Besu/8_enterprise-ethereum-connect-external-network.md +++ b/docs/blockchain-guides/1_Hyperledger-Besu/8_enterprise-ethereum-connect-external-network.md @@ -20,8 +20,6 @@ The SettleMint platform seamlessly integrates with existing external networks. Y This will create a new node in your existing network, and run it as a non-validator. -TODO: image - ## Adding nodes You can add more nodes to your network by navigating to the create node form (for more details on creating a node, [refer to this guide](../../using-platform/2_add-a-node-to-a-network.md)). Here, you can choose to create the nodes as validators or non-validators. However, to successfully deploy nodes as validators, you first need to have a majority of validators running on the platform. A majority of validators is defined as 66% of the total validators on the network. @@ -36,14 +34,16 @@ Once there is a majority of validators running on the platform, deploying new no Unless there are a majority of validators running on the platform, you need to send votes on the externally running validator nodes to add the platform node as a validator. -You can do this by executing [ibft_proposeValidatorVote](https://besu.hyperledger.org/stable/private-networks/reference/api#ibft_proposevalidatorvote) on all your validator nodes. You can find the enode address of the platform node in the details tab of the node: +You can do this by executing [ibft_proposeValidatorVote](https://besu.hyperledger.org/stable/private-networks/reference/api#ibft_proposevalidatorvote) on all your validator nodes. You can find the enode address of the platform node in the 'Details' tab of the node under the 'Node Identity' section. -TODO: image +Once the vote is reflected in the network, restart the node in the platform. The node will be added as a validator and will start proposing blocks. ## Removing a validator in the platform Similarily you can make a platform validator a non-validator by executing [ibft_proposeValidatorVote](https://besu.hyperledger.org/stable/private-networks/reference/api#ibft_proposevalidatorvote) with proposal "false" on every validator node. +Once the vote is reflected in the network, restart the node in the platform. The node will be removed as a validator and will stop proposing blocks. + ## Node type conflict warning When there is a difference between the node type in the platform and the node type on the network, the platform shows a node type conflict warning. @@ -54,5 +54,3 @@ This can happen when: - The node is added as a validator on the platform, but it is running as a non-validator on the network. Here you can choose to update the node type in the platform to match the node type on the network. Alternatively, you can add or remove the node as a validator on the network using the steps mentioned above. The platform will then automatically resolve the node type conflict warning soon. - -TODO: image From f192b18ddc0bf426d5507eca4f19def7677c1f35 Mon Sep 17 00:00:00 2001 From: Snigdha Singh Date: Tue, 10 Sep 2024 14:51:50 +0200 Subject: [PATCH 4/8] remove note that platform doesn't reflect node type changes --- .../8_enterprise-ethereum-connect-external-node.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/blockchain-guides/1_Hyperledger-Besu/8_enterprise-ethereum-connect-external-node.md b/docs/blockchain-guides/1_Hyperledger-Besu/8_enterprise-ethereum-connect-external-node.md index 8cdd73ff..948a14e9 100644 --- a/docs/blockchain-guides/1_Hyperledger-Besu/8_enterprise-ethereum-connect-external-node.md +++ b/docs/blockchain-guides/1_Hyperledger-Besu/8_enterprise-ethereum-connect-external-node.md @@ -135,4 +135,4 @@ This is a dangerous step that can break your network without a way to recover. Y Execute [ibft_proposeValidatorVote](https://besu.hyperledger.org/stable/private-networks/reference/api#ibft_proposevalidatorvote) on all your validator nodes. You can find the enode address of your new node in the logs of the container or by executing [admin_nodeInfo](https://besu.hyperledger.org/stable/public-networks/reference/api#admin_nodeinfo). -Similarily you can make a platform validator a regular node by executing [ibft_proposeValidatorVote](https://besu.hyperledger.org/stable/private-networks/reference/api#ibft_proposevalidatorvote) with proposal "false" on every validator node. Note however that the platform will not reflect this change. +Similarily you can make a platform validator a regular node by executing [ibft_proposeValidatorVote](https://besu.hyperledger.org/stable/private-networks/reference/api#ibft_proposevalidatorvote) with proposal "false" on every validator node. From 1750ec3fbae980cf07393c3128b457d84312744a Mon Sep 17 00:00:00 2001 From: Snigdha Singh Date: Tue, 10 Sep 2024 17:17:10 +0200 Subject: [PATCH 5/8] fix page number, json rpc method name, grammar --- .../{9_performance.md => 10_performance.md} | 0 ..._enterprise-ethereum-connect-external-node.md | 4 ++-- ...erprise-ethereum-connect-external-network.md} | 16 +++++++++++----- 3 files changed, 13 insertions(+), 7 deletions(-) rename docs/blockchain-guides/1_Hyperledger-Besu/{9_performance.md => 10_performance.md} (100%) rename docs/blockchain-guides/1_Hyperledger-Besu/{8_enterprise-ethereum-connect-external-network.md => 9_enterprise-ethereum-connect-external-network.md} (73%) diff --git a/docs/blockchain-guides/1_Hyperledger-Besu/9_performance.md b/docs/blockchain-guides/1_Hyperledger-Besu/10_performance.md similarity index 100% rename from docs/blockchain-guides/1_Hyperledger-Besu/9_performance.md rename to docs/blockchain-guides/1_Hyperledger-Besu/10_performance.md diff --git a/docs/blockchain-guides/1_Hyperledger-Besu/8_enterprise-ethereum-connect-external-node.md b/docs/blockchain-guides/1_Hyperledger-Besu/8_enterprise-ethereum-connect-external-node.md index 948a14e9..45f0275f 100644 --- a/docs/blockchain-guides/1_Hyperledger-Besu/8_enterprise-ethereum-connect-external-node.md +++ b/docs/blockchain-guides/1_Hyperledger-Besu/8_enterprise-ethereum-connect-external-node.md @@ -133,6 +133,6 @@ mynetwork-my-besu-node-1 | 2023-09-12 12:08:32.009+00:00 | EthScheduler-Workers This is a dangerous step that can break your network without a way to recover. You can assign this new node as a validator in the platform. This will make it sign blocks and transactions. Note that more than 66% of your validators need to be online for the network to keep functioning. -Execute [ibft_proposeValidatorVote](https://besu.hyperledger.org/stable/private-networks/reference/api#ibft_proposevalidatorvote) on all your validator nodes. You can find the enode address of your new node in the logs of the container or by executing [admin_nodeInfo](https://besu.hyperledger.org/stable/public-networks/reference/api#admin_nodeinfo). +Execute [qbft_proposeValidatorVote](https://besu.hyperledger.org/stable/private-networks/reference/api#qbft_proposeValidatorVote) on all your validator nodes. You can find the enode address of your new node in the logs of the container or by executing [admin_nodeInfo](https://besu.hyperledger.org/stable/public-networks/reference/api#admin_nodeinfo). -Similarily you can make a platform validator a regular node by executing [ibft_proposeValidatorVote](https://besu.hyperledger.org/stable/private-networks/reference/api#ibft_proposevalidatorvote) with proposal "false" on every validator node. +Similarily you can make a platform validator a regular node by executing [qbft_proposeValidatorVote](https://besu.hyperledger.org/stable/private-networks/reference/api#qbft_proposeValidatorVote) with proposal "false" on every validator node. diff --git a/docs/blockchain-guides/1_Hyperledger-Besu/8_enterprise-ethereum-connect-external-network.md b/docs/blockchain-guides/1_Hyperledger-Besu/9_enterprise-ethereum-connect-external-network.md similarity index 73% rename from docs/blockchain-guides/1_Hyperledger-Besu/8_enterprise-ethereum-connect-external-network.md rename to docs/blockchain-guides/1_Hyperledger-Besu/9_enterprise-ethereum-connect-external-network.md index 9371fb4f..aa6211ef 100644 --- a/docs/blockchain-guides/1_Hyperledger-Besu/8_enterprise-ethereum-connect-external-network.md +++ b/docs/blockchain-guides/1_Hyperledger-Besu/9_enterprise-ethereum-connect-external-network.md @@ -6,7 +6,7 @@ The SettleMint platform seamlessly integrates with existing external networks. Y - A Hyperledger Besu or Quorum OBFT network - The genesis file of the network -- Atleast one enode URL of an existing running node on the network. This is needed to sync the existing network with the platform node. +- At least one enode URL of an existing running node on the network. This is needed to sync the existing network with the platform node. ## Join a network @@ -15,7 +15,7 @@ The SettleMint platform seamlessly integrates with existing external networks. Y 3. Choose **Hyperledger Besu** or **Quorum** depending on the network you want to join 4. Enter a name for the network and the node. These names are used for identifying the network and node in the platform. 5. Upload the genesis file of the network. If there are bootnodes specified in the genesis file, they will automatically be identified and added as external nodes. -6. Add atleast one enode URL of an existing running node on the network to connect to. Note that if a bootnode is specified in the genesis file, it will be added as an external node automatically, so you can skip this step. +6. Add at least one enode URL of an existing running node on the network to connect with. Note that if a bootnode is specified in the genesis file, it will be added as an external node automatically, so you can skip this step. 7. Choose the deployment plan. This deployment plan will be used for the node. For more information about deployment plans, [see here](../../using-platform/22_deployment-plans.md). This will create a new node in your existing network, and run it as a non-validator. @@ -34,13 +34,19 @@ Once there is a majority of validators running on the platform, deploying new no Unless there are a majority of validators running on the platform, you need to send votes on the externally running validator nodes to add the platform node as a validator. -You can do this by executing [ibft_proposeValidatorVote](https://besu.hyperledger.org/stable/private-networks/reference/api#ibft_proposevalidatorvote) on all your validator nodes. You can find the enode address of the platform node in the 'Details' tab of the node under the 'Node Identity' section. +You can do this by executing: -Once the vote is reflected in the network, restart the node in the platform. The node will be added as a validator and will start proposing blocks. +- For Hyperledger Besu: [qbft_proposeValidatorVote](https://besu.hyperledger.org/stable/private-networks/reference/api#qbft_proposeValidatorVote) on all your validator nodes. +- For Quorum: [istanbul_propose](https://docs.goquorum.consensys.io/reference/api-methods#istanbul_propose) on all your validator nodes. + +You can find the enode URL of the platform node in the 'Details' tab of the node under the 'Node Identity' section. Once the vote is reflected in the network, restart the node in the platform. The node will be added as a validator and will start proposing blocks. ## Removing a validator in the platform -Similarily you can make a platform validator a non-validator by executing [ibft_proposeValidatorVote](https://besu.hyperledger.org/stable/private-networks/reference/api#ibft_proposevalidatorvote) with proposal "false" on every validator node. +Similarily you can make a platform validator a non-validator by executing: + +- For Hyperledger Besu: [qbft_proposeValidatorVote](https://besu.hyperledger.org/stable/private-networks/reference/api#qbft_proposeValidatorVote) with proposal "false" on every validator node. +- For Quorum: [istanbul_propose](https://docs.goquorum.consensys.io/reference/api-methods#istanbul_propose) with proposal "false" on every validator node. Once the vote is reflected in the network, restart the node in the platform. The node will be removed as a validator and will stop proposing blocks. From fab9c6e2eb0018696477c81a3be5d2f72de3912d Mon Sep 17 00:00:00 2001 From: Snigdha Singh Date: Tue, 10 Sep 2024 17:18:54 +0200 Subject: [PATCH 6/8] fix link to qbft_proposeValidatorVote --- .../8_enterprise-ethereum-connect-external-node.md | 4 ++-- .../9_enterprise-ethereum-connect-external-network.md | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/blockchain-guides/1_Hyperledger-Besu/8_enterprise-ethereum-connect-external-node.md b/docs/blockchain-guides/1_Hyperledger-Besu/8_enterprise-ethereum-connect-external-node.md index 45f0275f..2cdb579e 100644 --- a/docs/blockchain-guides/1_Hyperledger-Besu/8_enterprise-ethereum-connect-external-node.md +++ b/docs/blockchain-guides/1_Hyperledger-Besu/8_enterprise-ethereum-connect-external-node.md @@ -133,6 +133,6 @@ mynetwork-my-besu-node-1 | 2023-09-12 12:08:32.009+00:00 | EthScheduler-Workers This is a dangerous step that can break your network without a way to recover. You can assign this new node as a validator in the platform. This will make it sign blocks and transactions. Note that more than 66% of your validators need to be online for the network to keep functioning. -Execute [qbft_proposeValidatorVote](https://besu.hyperledger.org/stable/private-networks/reference/api#qbft_proposeValidatorVote) on all your validator nodes. You can find the enode address of your new node in the logs of the container or by executing [admin_nodeInfo](https://besu.hyperledger.org/stable/public-networks/reference/api#admin_nodeinfo). +Execute [qbft_proposeValidatorVote](https://besu.hyperledger.org/development/private-networks/reference/api#qbft_proposevalidatorvote) on all your validator nodes. You can find the enode address of your new node in the logs of the container or by executing [admin_nodeInfo](https://besu.hyperledger.org/stable/public-networks/reference/api#admin_nodeinfo). -Similarily you can make a platform validator a regular node by executing [qbft_proposeValidatorVote](https://besu.hyperledger.org/stable/private-networks/reference/api#qbft_proposeValidatorVote) with proposal "false" on every validator node. +Similarily you can make a platform validator a regular node by executing [qbft_proposeValidatorVote](https://besu.hyperledger.org/development/private-networks/reference/api#qbft_proposevalidatorvote) with proposal "false" on every validator node. diff --git a/docs/blockchain-guides/1_Hyperledger-Besu/9_enterprise-ethereum-connect-external-network.md b/docs/blockchain-guides/1_Hyperledger-Besu/9_enterprise-ethereum-connect-external-network.md index aa6211ef..4ac4bcbd 100644 --- a/docs/blockchain-guides/1_Hyperledger-Besu/9_enterprise-ethereum-connect-external-network.md +++ b/docs/blockchain-guides/1_Hyperledger-Besu/9_enterprise-ethereum-connect-external-network.md @@ -36,7 +36,7 @@ Unless there are a majority of validators running on the platform, you need to s You can do this by executing: -- For Hyperledger Besu: [qbft_proposeValidatorVote](https://besu.hyperledger.org/stable/private-networks/reference/api#qbft_proposeValidatorVote) on all your validator nodes. +- For Hyperledger Besu: [qbft_proposeValidatorVote](https://besu.hyperledger.org/development/private-networks/reference/api#qbft_proposevalidatorvote) on all your validator nodes. - For Quorum: [istanbul_propose](https://docs.goquorum.consensys.io/reference/api-methods#istanbul_propose) on all your validator nodes. You can find the enode URL of the platform node in the 'Details' tab of the node under the 'Node Identity' section. Once the vote is reflected in the network, restart the node in the platform. The node will be added as a validator and will start proposing blocks. @@ -45,7 +45,7 @@ You can find the enode URL of the platform node in the 'Details' tab of the node Similarily you can make a platform validator a non-validator by executing: -- For Hyperledger Besu: [qbft_proposeValidatorVote](https://besu.hyperledger.org/stable/private-networks/reference/api#qbft_proposeValidatorVote) with proposal "false" on every validator node. +- For Hyperledger Besu: [qbft_proposeValidatorVote](https://besu.hyperledger.org/development/private-networks/reference/api#qbft_proposevalidatorvote) with proposal "false" on every validator node. - For Quorum: [istanbul_propose](https://docs.goquorum.consensys.io/reference/api-methods#istanbul_propose) with proposal "false" on every validator node. Once the vote is reflected in the network, restart the node in the platform. The node will be removed as a validator and will stop proposing blocks. From 7b94aa524cf3995cbf8d5e7c7a2960c35e1cec83 Mon Sep 17 00:00:00 2001 From: Snigdha Singh Date: Tue, 10 Sep 2024 17:31:40 +0200 Subject: [PATCH 7/8] cursor ai improvements --- ...terprise-ethereum-connect-external-node.md | 2 +- ...prise-ethereum-connect-external-network.md | 74 ++++++++++--------- 2 files changed, 41 insertions(+), 35 deletions(-) diff --git a/docs/blockchain-guides/1_Hyperledger-Besu/8_enterprise-ethereum-connect-external-node.md b/docs/blockchain-guides/1_Hyperledger-Besu/8_enterprise-ethereum-connect-external-node.md index 2cdb579e..ffee99ba 100644 --- a/docs/blockchain-guides/1_Hyperledger-Besu/8_enterprise-ethereum-connect-external-node.md +++ b/docs/blockchain-guides/1_Hyperledger-Besu/8_enterprise-ethereum-connect-external-node.md @@ -135,4 +135,4 @@ This is a dangerous step that can break your network without a way to recover. Y Execute [qbft_proposeValidatorVote](https://besu.hyperledger.org/development/private-networks/reference/api#qbft_proposevalidatorvote) on all your validator nodes. You can find the enode address of your new node in the logs of the container or by executing [admin_nodeInfo](https://besu.hyperledger.org/stable/public-networks/reference/api#admin_nodeinfo). -Similarily you can make a platform validator a regular node by executing [qbft_proposeValidatorVote](https://besu.hyperledger.org/development/private-networks/reference/api#qbft_proposevalidatorvote) with proposal "false" on every validator node. +Similarly you can make a platform validator a regular node by executing [qbft_proposeValidatorVote](https://besu.hyperledger.org/development/private-networks/reference/api#qbft_proposevalidatorvote) with proposal "false" on every validator node. diff --git a/docs/blockchain-guides/1_Hyperledger-Besu/9_enterprise-ethereum-connect-external-network.md b/docs/blockchain-guides/1_Hyperledger-Besu/9_enterprise-ethereum-connect-external-network.md index 4ac4bcbd..591e08cd 100644 --- a/docs/blockchain-guides/1_Hyperledger-Besu/9_enterprise-ethereum-connect-external-network.md +++ b/docs/blockchain-guides/1_Hyperledger-Besu/9_enterprise-ethereum-connect-external-network.md @@ -1,62 +1,68 @@ -# Connect to an external network +# Connect to an External Network -The SettleMint platform seamlessly integrates with existing external networks. You can deploy nodes on your external network within the SettleMint platform. This enables you to take advantage of the platform's robust features - monitoring, resource scaling, an intuitive JSON-RPC UI, reliable uptime management among others. +The SettleMint platform seamlessly integrates with existing external networks. You can deploy nodes on your external network within the SettleMint platform, enabling you to leverage the platform's robust features, including monitoring, resource scaling, an intuitive JSON-RPC UI, and reliable uptime management. ## Prerequisites - A Hyperledger Besu or Quorum OBFT network - The genesis file of the network -- At least one enode URL of an existing running node on the network. This is needed to sync the existing network with the platform node. +- At least one enode URL of an existing running node on the network (required to sync the platform node with the existing network) -## Join a network +## Joining a Network -1. Navigate to the create network form, you can [see how to do this here](../../using-platform/1_add-a-network-to-an-application.md). -2. Select **Join permissioned network** -3. Choose **Hyperledger Besu** or **Quorum** depending on the network you want to join -4. Enter a name for the network and the node. These names are used for identifying the network and node in the platform. -5. Upload the genesis file of the network. If there are bootnodes specified in the genesis file, they will automatically be identified and added as external nodes. -6. Add at least one enode URL of an existing running node on the network to connect with. Note that if a bootnode is specified in the genesis file, it will be added as an external node automatically, so you can skip this step. -7. Choose the deployment plan. This deployment plan will be used for the node. For more information about deployment plans, [see here](../../using-platform/22_deployment-plans.md). +1. Navigate to the create network form (see [how to do this here](../../using-platform/1_add-a-network-to-an-application.md)). +2. Select **Join permissioned network**. +3. Choose **Hyperledger Besu** or **Quorum** depending on the network you want to join. +4. Enter names for the network and the node. +5. Upload the network's genesis file. Bootnodes specified in the genesis file will be automatically identified and added as external nodes. +6. Add at least one enode URL of an existing running node on the network. Note: If a bootnode is specified in the genesis file, it will be added automatically as an external node, allowing you to skip this step. +7. Choose the deployment plan for the node. For more information about deployment plans, [see here](../../using-platform/22_deployment-plans.md). -This will create a new node in your existing network, and run it as a non-validator. +This process will create a new non-validator node in your existing network. -## Adding nodes +## Adding Nodes -You can add more nodes to your network by navigating to the create node form (for more details on creating a node, [refer to this guide](../../using-platform/2_add-a-node-to-a-network.md)). Here, you can choose to create the nodes as validators or non-validators. However, to successfully deploy nodes as validators, you first need to have a majority of validators running on the platform. A majority of validators is defined as 66% of the total validators on the network. +To add more nodes to your network: -You can have a majority of validators running on the platform by first, creating the nodes as non-validators, and then sending votes on the externally running validator nodes to add the platform node as a validator. For more details, see [adding a validator in the platform](#adding-a-validator-in-the-platform). +1. Navigate to the create node form (see [Adding a Node to a Network](../../using-platform/2_add-a-node-to-a-network.md) for detailed instructions). +2. Choose between creating the node as a validator or non-validator. +3. Note: To deploy nodes as validators, a majority (66%) of validators must be running on the SettleMint platform. +4. If you don't have a majority, create the node as a non-validator first, then follow the process in [Add a Validator](#add-a-validator) to make it a validator. -Deploying a new node as a validator will fail if a majority of validators are not running on the platform. +Once a majority of validators are running on the platform, deploying new nodes as validators becomes possible without voting on external validators. We recommend having a majority of validators running on the platform for seamless addition and removal of validators from the network. -Once there is a majority of validators running on the platform, deploying new nodes as validators is possible without having to vote on externally running nodes. We recommend you to have a majority of validators running on the platform to be able to seamlessly add and remove validators from the network. +## Add a Validator -## Adding a validator in the platform +Unless a majority of validators are running on the platform, you need to send votes on the externally running validators to add the platform node as a validator. -Unless there are a majority of validators running on the platform, you need to send votes on the externally running validator nodes to add the platform node as a validator. +Execute the following on all your validator nodes: -You can do this by executing: +- For Hyperledger Besu: [qbft_proposeValidatorVote](https://besu.hyperledger.org/development/private-networks/reference/api#qbft_proposevalidatorvote) +- For Quorum: [istanbul_propose](https://docs.goquorum.consensys.io/reference/api-methods#istanbul_propose) -- For Hyperledger Besu: [qbft_proposeValidatorVote](https://besu.hyperledger.org/development/private-networks/reference/api#qbft_proposevalidatorvote) on all your validator nodes. -- For Quorum: [istanbul_propose](https://docs.goquorum.consensys.io/reference/api-methods#istanbul_propose) on all your validator nodes. +Find the enode URL of the platform node in the 'Details' tab of the node under the 'Node Identity' section. Once the vote is reflected in the network, restart the node in the platform. The node will be added as a validator and will start proposing blocks. -You can find the enode URL of the platform node in the 'Details' tab of the node under the 'Node Identity' section. Once the vote is reflected in the network, restart the node in the platform. The node will be added as a validator and will start proposing blocks. +## Remove a Validator -## Removing a validator in the platform +To make a platform validator a non-validator, execute the following on every validator node: -Similarily you can make a platform validator a non-validator by executing: - -- For Hyperledger Besu: [qbft_proposeValidatorVote](https://besu.hyperledger.org/development/private-networks/reference/api#qbft_proposevalidatorvote) with proposal "false" on every validator node. -- For Quorum: [istanbul_propose](https://docs.goquorum.consensys.io/reference/api-methods#istanbul_propose) with proposal "false" on every validator node. +- For Hyperledger Besu: [qbft_proposeValidatorVote](https://besu.hyperledger.org/development/private-networks/reference/api#qbft_proposevalidatorvote) with proposal "false" +- For Quorum: [istanbul_propose](https://docs.goquorum.consensys.io/reference/api-methods#istanbul_propose) with proposal "false" Once the vote is reflected in the network, restart the node in the platform. The node will be removed as a validator and will stop proposing blocks. -## Node type conflict warning +## Node Type Conflict Warning + +The platform displays a node type conflict warning when there's a discrepancy between the node type in the platform and the node type on the network. + +This can occur when: -When there is a difference between the node type in the platform and the node type on the network, the platform shows a node type conflict warning. +- The node is added as a non-validator on the platform but runs as a validator on the network. +- The node is added as a validator on the platform but runs as a non-validator on the network. -This can happen when: +To resolve this, you can either: -- The node is added as a non-validator on the platform, but it is running as a validator on the network. -- The node is added as a validator on the platform, but it is running as a non-validator on the network. +1. Update the node type in the platform to match the node type on the network, or +2. Add or remove the node as a validator on the network using the steps mentioned above. -Here you can choose to update the node type in the platform to match the node type on the network. Alternatively, you can add or remove the node as a validator on the network using the steps mentioned above. The platform will then automatically resolve the node type conflict warning soon. +The platform will automatically resolve the node type conflict warning shortly after the necessary changes are made. From d5418753299b775c986d0077b586e70dca8a9359 Mon Sep 17 00:00:00 2001 From: Snigdha Singh Date: Wed, 11 Sep 2024 13:26:50 +0200 Subject: [PATCH 8/8] use stable link --- .../8_enterprise-ethereum-connect-external-node.md | 4 ++-- .../9_enterprise-ethereum-connect-external-network.md | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/blockchain-guides/1_Hyperledger-Besu/8_enterprise-ethereum-connect-external-node.md b/docs/blockchain-guides/1_Hyperledger-Besu/8_enterprise-ethereum-connect-external-node.md index ffee99ba..e16e6f7d 100644 --- a/docs/blockchain-guides/1_Hyperledger-Besu/8_enterprise-ethereum-connect-external-node.md +++ b/docs/blockchain-guides/1_Hyperledger-Besu/8_enterprise-ethereum-connect-external-node.md @@ -133,6 +133,6 @@ mynetwork-my-besu-node-1 | 2023-09-12 12:08:32.009+00:00 | EthScheduler-Workers This is a dangerous step that can break your network without a way to recover. You can assign this new node as a validator in the platform. This will make it sign blocks and transactions. Note that more than 66% of your validators need to be online for the network to keep functioning. -Execute [qbft_proposeValidatorVote](https://besu.hyperledger.org/development/private-networks/reference/api#qbft_proposevalidatorvote) on all your validator nodes. You can find the enode address of your new node in the logs of the container or by executing [admin_nodeInfo](https://besu.hyperledger.org/stable/public-networks/reference/api#admin_nodeinfo). +Execute [qbft_proposeValidatorVote](https://besu.hyperledger.org/stable/private-networks/reference/api#qbft_proposevalidatorvote) on all your validator nodes. You can find the enode address of your new node in the logs of the container or by executing [admin_nodeInfo](https://besu.hyperledger.org/stable/public-networks/reference/api#admin_nodeinfo). -Similarly you can make a platform validator a regular node by executing [qbft_proposeValidatorVote](https://besu.hyperledger.org/development/private-networks/reference/api#qbft_proposevalidatorvote) with proposal "false" on every validator node. +Similarly you can make a platform validator a regular node by executing [qbft_proposeValidatorVote](https://besu.hyperledger.org/stable/private-networks/reference/api#qbft_proposevalidatorvote) with proposal "false" on every validator node. diff --git a/docs/blockchain-guides/1_Hyperledger-Besu/9_enterprise-ethereum-connect-external-network.md b/docs/blockchain-guides/1_Hyperledger-Besu/9_enterprise-ethereum-connect-external-network.md index 591e08cd..f35fdef7 100644 --- a/docs/blockchain-guides/1_Hyperledger-Besu/9_enterprise-ethereum-connect-external-network.md +++ b/docs/blockchain-guides/1_Hyperledger-Besu/9_enterprise-ethereum-connect-external-network.md @@ -37,7 +37,7 @@ Unless a majority of validators are running on the platform, you need to send vo Execute the following on all your validator nodes: -- For Hyperledger Besu: [qbft_proposeValidatorVote](https://besu.hyperledger.org/development/private-networks/reference/api#qbft_proposevalidatorvote) +- For Hyperledger Besu: [qbft_proposeValidatorVote](https://besu.hyperledger.org/stable/private-networks/reference/api#qbft_proposevalidatorvote) - For Quorum: [istanbul_propose](https://docs.goquorum.consensys.io/reference/api-methods#istanbul_propose) Find the enode URL of the platform node in the 'Details' tab of the node under the 'Node Identity' section. Once the vote is reflected in the network, restart the node in the platform. The node will be added as a validator and will start proposing blocks. @@ -46,7 +46,7 @@ Find the enode URL of the platform node in the 'Details' tab of the node under t To make a platform validator a non-validator, execute the following on every validator node: -- For Hyperledger Besu: [qbft_proposeValidatorVote](https://besu.hyperledger.org/development/private-networks/reference/api#qbft_proposevalidatorvote) with proposal "false" +- For Hyperledger Besu: [qbft_proposeValidatorVote](https://besu.hyperledger.org/stable/private-networks/reference/api#qbft_proposevalidatorvote) with proposal "false" - For Quorum: [istanbul_propose](https://docs.goquorum.consensys.io/reference/api-methods#istanbul_propose) with proposal "false" Once the vote is reflected in the network, restart the node in the platform. The node will be removed as a validator and will stop proposing blocks.