An open API service indexing awesome lists of open source software.

https://github.com/settlemint/network-bootstrapper

Bootstrap a new consortium network locally and in Kubernetes/OpenShift
https://github.com/settlemint/network-bootstrapper

Last synced: 7 months ago
JSON representation

Bootstrap a new consortium network locally and in Kubernetes/OpenShift

Awesome Lists containing this project

README

          

# network-bootstrapper

Generate node identities, configure consensus, and emit a Besu genesis.

## CLI usage

### Global Help

```text
Usage: network-bootstrapper [options] [command]

Utilities for configuring Besu-based networks.

Options:
-h, --help display help for command

Commands:
generate [options] Generate node identities, configure consensus, and
emit a Besu genesis.
compile-genesis [options] Merge per-account allocation ConfigMaps into a Besu
genesis file.
download-abi [options] Download ABI ConfigMaps annotated with
settlemint.com/artifact=abi into a local directory.
help [command] display help for command
```

### generate

```text
Usage: network-bootstrapper generate [options]

Generate node identities, configure consensus, and emit a Besu genesis.

Options:
--static-node-domain DNS suffix appended to validator peer hostnames for static-nodes entries.
--static-node-namespace Namespace segment inserted between service name and domain for static-nodes entries.
--static-node-service-name Headless Service name used when constructing static-nodes hostnames.
--static-node-pod-prefix StatefulSet prefix used when constructing validator pod hostnames.
--genesis-configmap-name ConfigMap name that stores the generated genesis.json payload.
--static-nodes-configmap-name ConfigMap name that stores the generated static-nodes.json payload.
--faucet-artifact-prefix Prefix applied to faucet ConfigMaps and Secrets.
-v, --validators Number of validator nodes to generate. (default: 4)
-a, --allocations Path to a genesis allocations JSON file. (default: none)
--abi-directory Directory containing ABI JSON files to publish as ConfigMaps.
--subgraph-hash-file Path to a file containing the subgraph IPFS hash.
-o, --outputType Output target (screen, file, kubernetes). (default: "screen")
--static-node-port P2P port used for static-nodes enode URIs. (default: 30303)
--static-node-discovery-port Discovery port used for static-nodes enode URIs. (default: 30303)
--consensus Consensus algorithm (IBFTv2, QBFT). (default: QBFT)
--chain-id Chain ID for the genesis config. (default: random between 40000 and 50000)
--seconds-per-block Block time in seconds. (default: 2)
--gas-limit Block gas limit in decimal form. (default: 9007199254740991)
--gas-price Base gas price (wei). (default: 0)
--evm-stack-size EVM stack size limit. (default: 2048)
--contract-size-limit Contract size limit in bytes. (default: 2147483647)
--accept-defaults Accept default values for all prompts when CLI flags are omitted. (default: disabled)
-h, --help display help for command
```

### compile-genesis

```text
Usage: network-bootstrapper compile-genesis [options]

Merge per-account allocation ConfigMaps into a Besu genesis file.

Options:
--genesis-configmap-name Name of the ConfigMap containing the base
genesis JSON. (default: "besu-genesis")
--output-path Filesystem path for the compiled genesis
output. (default: "/data/atk-genesis.json")
-h, --help display help for command
```

### download-abi

```text
Usage: network-bootstrapper download-abi [options]

Download ABI ConfigMaps annotated with settlemint.com/artifact=abi into a local
directory.

Options:
--output-directory Directory to write ABI JSON files. (default:
"/data/abi")
-h, --help display help for command
```