Skip to content

Deploy Besu Cactus connector

Prerequisites

To deploy cactus connector a fully configured Besu network must be present already, i.e. a Besu network which has validator and member. The corresponding crypto materials should also be present in their respective Hashicorp Vault.


NOTE: Deployment of cactus connector has been tested on an existing network which is created by Bevel. Networks created using other methods may be suitable but this has not been tested by Bevel team.


Modifying Configuration File

Refer this guide for details on editing the configuration file.

When editing the configuration file (network.yaml) to deploy the cactus connector, both validators and peers from validator and member organizations should have the cactus_connector field. To enable the cactus connector for a peer or validator, set the value as enabled. If a particular peer or validator does not want to support the cactus connector feature, set the cactus_connector field as disabled. A sample for the same is shared below:

      services:
        validators:
        - validator:
          name: validator-1
          bootnode: true          # true if the validator node is used also a bootnode for the network
          cactus_connector: disabled  # set to enabled to create a cactus connector for Besu
       ..
        peers:
        - peer:
          name: supplychain
          subject: "O=SupplyChain,OU=ValidatorOrg,L=51.50/-0.13/London,C=GB" # This is the node subject. L=lat/long is mandatory for supplychain sample app
          geth_passphrase: "12345"  # Passphrase to be used to generate geth account
          lock: true        # Sets Besu node to lock or unlock mode. Can be true or false
          cactus_connector: disabled  # set to enabled to create a cactus connector for Besu
       ..

For reference, see network-besu.yaml file here.

Run playbook

The setup-cactus-connector.yaml playbook is used to deploy a cactus connector for Besu. This can be done using the following command:

ansible-playbook platforms/hyperledger-besu/configuration/setup-cactus-connector.yaml --extra-vars "@path-to-network.yaml"