This section explains how to deploy indexers to your Ripple Custody infrastructure with the Helm package manager. This section only applies to on-premise deployments.
Before you deploy indexers, you need a basic understanding of the following:
- Kubernetes
- Helm
- Helm chart configuration, especially values.yaml
In addition, you need one or more suitable distributed ledger network nodes on the blockchain ledger.
| Possible Indexers | Network Name | Ledger | Description |
|---|---|---|---|
| Bitcoin Regression Testing Network | regtest-1 | Bitcoin | Often used for local testing. |
| Bitcoin Testing Network | testnet | Bitcoin | Used for testing purposes. |
| Bitcoin Main Network | mainnet | Bitcoin | Actual network. |
| Litecoin Regression Testing Network | regtest-1 | Litecoin (Bitcoin fork) | Often used for local testing. |
| Litecoin Testing Network | testnet | Litecoin (Bitcoin fork) | Used for testing purposes. |
| Litecoin Main Network | mainnet | Litecoin (Bitcoin fork) | Actual network. |
| Dogecoin Regression Testing Network | regtest-1 | Dogecoin (Bitcoin fork) | Often used for local testing. |
| Dogecoin Testing Network | testnet | Dogecoin (Bitcoin fork) | Used for testing purposes. |
| Dogecoin Main Network | mainnet | Dogecoin (Bitcoin fork) | Actual network. |
| Dash Regression Testing Network | regtest-1 | Dash (Bitcoin fork) | Often used for local testing. |
| Dash Testing Network | testnet | Dash (Bitcoin fork) | Used for testing purposes. |
| Dash Main Network | mainnet | Dash (Bitcoin fork) | Actual network. |
| Go Ethereum Private Development Network | geth-dev | Ethereum | Development environment. |
| Ethereum Parity Technologies Development Network | parity-dev | Ethereum | Development environment. |
| Ethereum Holesky Test Network | testnet-holesky | Ethereum | Used for testing purposes. |
| Ethereum Sepolia Test Network | testnet-sepolia | Ethereum | Used for testing purposes. |
| Ethereum Main Network | mainnet | Ethereum | Actual network. |
| Ethereum PoW Main Network | pow-mainnet | Ethereum | Actual network. |
| Polygon Amoy Test Network | testnet-amoy | Polygon (formerly MATIC) (EVM compatible) | Used for testing purposes. |
| Polygon Main Network | mainnet | Polygon (formerly MATIC) (EVM compatible) | Actual network. |
| Avalanche C Chain Fuji Test Network | testnet-fuji | Avalanche C Chain (EVM compatible) | Used for testing purposes. |
| Avalanche C Chain Main Network | mainnet | Avalanche C Chain (EVM compatible) | Actual network. |
| Binance Smart Chain Test Network | testnet | Binance Smart Chain (EVM compatible) | Used for testing purposes. |
| Binance Smart Chain Main Network | mainnet | Binance Smart Chain (EVM compatible) | Actual network. |
| XRP Ledger Development Network | devnet | XRP Ledger | Development environment. |
| XRP Ledger Regression Testing Network | regtest-1 | XRP Ledger | Often used for local testing. |
| XRP Ledger Testing Network | testnet | XRP Ledger | Used for testing purposes. |
| XRP Ledger Main Network | mainnet | XRP Ledger | Actual network. |
| Tezos Sandbox Network | sandbox | Tezos | Often used for local testing. |
| Tezos Testing Network | testnet | Tezos | Used for testing purposes. |
| Tezos Main Network | mainnet | Tezos | Actual network. |
| Substrate Development Network | dev | Substrate (Parity Technologies) | Development environment. |
| Substrate Testing Network (Westend) | westend | Substrate (Parity Technologies) | Often used for local testing. |
| Substrate Staging Network (Kusama) | kusama | Substrate (Parity Technologies) | Used for testing purposes. |
| Substrate Main Network (Polkadot) | polkadot | Substrate (Parity Technologies) | Development environment. |
| Stellar Development Network | devnet | Stellar | Development environment. |
| Stellar Main Network | mainnet | Stellar | Actual network. |
| Solana Development Network | devnet | Solana | Development environment. |
| Solana Main Network | mainnet | Solana | Actual network. |
| Cardano Testing Network | testnet | Cardano | Actual network. |
| Cardano Preview Network | preview | Cardano | Often used for local testing. |
| Cardano Pre-Prod Network | preprod | Cardano | Pre-Production network. |
| Cardano Main Network | mainnet | Cardano | Actual network. |
| Hedera Testing Network | testnet | Hedera | Used for testing purposes. |
| Hedera Main Network | mainnet | Hedera | Actual network. |
| Algorand Testing Network | testnet | Algorand | Used for testing purposes. |
| Algorand Main Network | mainnet | Algorand | Actual network. |
To deploy an indexer, you need to create and update a values.yaml file.
Use this empty template to help you get started:
ledgers:
bitcoin:
regtest-1:
enabled: false
nodeEndpoint:
url:
user:
password:
fallbackFeeRate:
testnet:
enabled: false
nodeEndpoint:
url:
user:
password:
fallbackFeeRate:
mainnet:
enabled: false
nodeEndpoint:
url:
user:
password:
fallbackFeeRate:Each network appears as a separate object under the ledger name object, for example regtest-1 in the template example. Enable or disable the deployment of an indexer for each network by modifying its enabled field.
Each network has its own configuration structure, but we can group them into the following families.
- bitcoin
- regtest-1
- testnet
- mainnet
- litecoin
- regtest-1
- testnet
- mainnet
- dogecoin
- regtest-1
- testnet
- mainnet
- dash
- regtest-1
- testnet
- mainnet
| Field Name | Type | Format | Default | Description |
|---|---|---|---|---|
enabled | Boolean | true or false | false | Specifies whether the indexer for the specific network is active. |
nodeEndpoint | String | URL in a valid format, for example, <hostname>:<port> | Empty string | The URL for the Bitcoin node that the indexer will connect to. |
url | String | URL | Empty string | The URL for the indexer. |
user | String | Alphanumeric | Empty string | The username for authenticating with the indexer. |
password | String | Alphanumeric | Empty string | The password for authenticating with the indexer. |
fallbackFeeRate | Integer | Satoshi/vByte | 100 | The fallback fee rate to use when the indexer cannot retrieve the fee rate from the node. |
The following example shows a values.yaml file for deploying a Bitcoin indexer for the mainnet:
harmonize:
ledgers:
bitcoin:
mainnet:
enabled: true
nodeEndpoint: NODEURL:PORT
url: https://NODEUR?auth=TOKEN
user: <user>
password: <password>
fallbackFeeRate: 100In the example, you need to replace <user> and <password> with your actual username and password for the indexer.
- ethereum
- geth-dev
- testnet-holesky
- testnet-sepolia
- parity-dev
- mainnet
- pow-mainnet
- polygon
- testnet-amoy
- mainnet
- avalanche-c-chain
- testnet-fuji
- mainnet
- bsc
- testnet
- mainnet
- xrpl
- regtest-1
- devnet
- testnet
- mainnet
- tezos
- sandbox
- testnet
- mainnet
| Field Name | Type | Format | Default | Description |
|---|---|---|---|---|
enabled | Boolean | true or false | false | Specifies whether or not the indexer for the specific network is active. |
uri | String | URL | Empty string | The URL for the indexer. |
The following example shows a values.yaml file for deploying an Ethereum indexer for the testnet:
harmonize:
ledgers:
ethereum:
testnet-holesky:
enabled: true
uri: 'https://test-holesky-node.bdnodes.net?auth=uamvQornmOiUr0Dg7nbf48jjnPt'- substrate
- dev
- polkadot
- kusama
- westend
| Field Name | Type | Format | Default | Description |
|---|---|---|---|---|
| enabled | Boolean | true or false | false | Specifies whether or not the indexer for the specific network is active. |
| ws | String | URL | Empty string | WebSocket connection URL. |
| sidecar (or ws_sidecar_url/ws_sidecar) | String | URL | Empty String | Sidecar URL. |
The following example shows a values.yaml file for deploying a Polkadot indexer for the mainnet:
harmonize:
ledgers:
substrate:
polkadot:
enabled: true
ws: ws://my-web-socket-server.com
sidecar: mySuperSecretPassphrase- stellar
- devnet
- mainnet
- solana
- devnet
- mainnet
| Field Name | Type | Format | Default | Description |
|---|---|---|---|---|
| enabled | Boolean | true or false | false | Specifies whether or not the indexer for the specific network is active. |
| url | String | URL | Empty string | The URL for the indexer. |
| passphrase | String | Alphanumeric | Empty string | The passphrase for authenticating with the indexer. |
The following example shows a values.yaml file for deploying a Solana indexer for the mainnet:
harmonize:
ledgers:
solana:
mainnet:
enabled: true
url: 'https://test-solana-node.bdnodes.net?auth=uamvQornmOiUr0Dg7nbf48jjnPt'
passphrase: mySuperSecretPassphrase- cardano
- preprod
- preview
- testnet
- mainnet
| Field Name | Type | Format | Default | Description |
|---|---|---|---|---|
enabled | Boolean | true or false | false | Specifies whether or not the indexer for the specific network is active. |
http | String | URL | Empty string | HTTP connection URL. |
ws | String | URL | Empty string | WebSocket connection URL. |
The following example shows a values.yaml file for deploying a Cardano indexer for the mainnet:
harmonize:
ledgers:
cardano:
mainnet:
enabled: true
http: 'https://test-cardano-node.bdnodes.net?auth=uamvQornmOiUr0Dg7nbf48jjnPt'
ws: ws://my-web-socket-server.com- hedera
- testnet
- mainnet
- algorand
- testnet
- mainnet
| Field Name | Type | Format | Default | Description |
|---|---|---|---|---|
enabled | Boolean | true or false | false | Specifies whether or not the indexer for the specific network is active. |
http | String | URL | Empty string | HTTP |
The following example shows a values.yaml file for deploying a Hedera indexer for the mainnet:
harmonize:
ledgers:
hedera:
mainnet:
enabled: true
http: 'https://test-hedera-node.bdnodes.net?auth=uamvQornmOiUr0Dg7nbf48jjnPt'To deploy your indexer, run the following Helm command:
helm install <my-release-name> <helm-chart-repository> -f my-custom-values.yamlWhere <my-release-name> is the name of your Helm release, <helm-chart-repository> is the chart you want to install, and my-custom-values.yaml is the file you completed with your configuration.