After you run the quickstart command above, you can also (optionally) enable Multiparty mode. This will enabled FireFly’s advanced Messaging features. To enable that, you can run the shell script:
./hack/multiparty.sh
This will deploy the multiparty contract, update the config file, and register the org/node for you automatically. If you need to upgrade the multiparty in the future, you can run this script again and it will deploy and configure a new contract. It will not re-run registration if the org/node are already registered.
NOTE: If you have enabled multiparty mode and you wish to make changes by customizing your values file, be sure to include the multiparty values as well, otherwise they will be removed and your multiparty network will not work.
Configuration of the stack for non-default options is possible using these charts, broadly there are 2 places to make changes. For Besu charts, the appropriate values.yaml files in the values directory allows for configuration of values such as the genesis block, and Besu-specific options. For FireFly related components the values.yaml file within the sub-directory for the chart (stored in charts/) contains the configuration for options.
Viewing the appropriate README for each microservice, will give information around the values and structure of the configuration in the values.yaml files.
Accessing the Helm Repo
Helm’s experimental OCI registry support is used for publishing and retrieving
the FireFly Helm chart, as a result one must log into GHCR
to download the chart:
Hyperledger FireFly Helm Charts
The official Helm chart for Hypeledger Firefly and its related connector microservices. See the chart
READMEfor installation and configuration instructions.Quick Start
If you want to run these charts locally on your own machine, you can run a single command to get a fully working stack, end-to-end:
This will create a pre-set environment with the following configuration:
If you wish to make changes to your stack you can modify
./charts/firefly/local-kind-values.yamland run:Enabling multiparty mode
After you run the quickstart command above, you can also (optionally) enable Multiparty mode. This will enabled FireFly’s advanced Messaging features. To enable that, you can run the shell script:
This will deploy the multiparty contract, update the config file, and register the org/node for you automatically. If you need to upgrade the multiparty in the future, you can run this script again and it will deploy and configure a new contract. It will not re-run registration if the org/node are already registered.
Modifying configuration
Configuration of the stack for non-default options is possible using these charts, broadly there are 2 places to make changes. For Besu charts, the appropriate
values.yamlfiles in thevaluesdirectory allows for configuration of values such as the genesis block, and Besu-specific options. For FireFly related components thevalues.yamlfile within the sub-directory for the chart (stored incharts/) contains the configuration for options.Viewing the appropriate README for each microservice, will give information around the values and structure of the configuration in the
values.yamlfiles.Accessing the Helm Repo
Helm’s experimental OCI registry support is used for publishing and retrieving the FireFly Helm chart, as a result one must log into GHCR to download the chart:
Development
Prerequisites
Linting
Lint the chart using
ctand ensure it adheres to the project conventions:Testing
Create a local Kubernetes cluster in Docker via
kind:Then install FireFly dependencies to the cluster (i.e. PostgreSQL, cert-manager, Prometheus):
Run the E2E tests:
Or deploy the chart using your own customized
charts/firefly/local-values.yaml:If you are unsure of what to initially put in your
charts/firefly/locall-values.yamlfile, we suggest using the Ethereum CI values as a starting point and reading the chart configuration documentation:If you are developing with a Fabric blockchain see the Fabric CI values and additional chart documentation.