Chromia Model
Chromia Model Config File
| Type | object |
|---|---|
| File match |
chromia.yml
chromia.yaml
|
| Schema URL | https://catalog.lintel.tools/schemas/schemastore/chromia-model/latest.json |
| Source | https://gitlab.com/chromaway/core-tools/chromia-cli-tools/-/raw/dev/chromia-build-tools/src/main/resources/chromia-model-schema.json |
Validate with Lintel
npx @lintel/lintel check
Chromia Model
Properties
Any additional properties you want to reference elsewhere
Configuration properties for a blockchain
Configuration for unit tests
3 nested properties
Test root modules
Module arguments
Indicates whether to fail the build on the first test error
Database options
7 nested properties
Database schema
Database hostname (default: localhost)
Database name (default: postchain)
Database username (default: postchain)
Database password (default: postchain)
Database driver
Log any SQL errors to the console
Library definitions
Compilation options
6 nested properties
Version of Rell to use. Must follow semantic versioning format: MAJOR.MINOR.PATCH.
Path to the source root directory
Path to the compilation target folder
Fail build if deprecated features are used
Hide intermediary compilation output
Use strict GTV conversion to disallow transformation of GTV types when parsing operation arguments. It is recommended to leave this set to true (default).
Deployment targets
Documentation options
7 nested properties
Title for the generated documentation site
Additional CSS stylesheets to include
Additional image assets to include
Additional Markdown documentation files to include
Additional modules to include
Message shown in the footer
Link to a web site for browsing the source code
2 nested properties
The URL of the source code hosting service that can be accessed by documentation readers
The suffix used to append the source code line number to the URL
Definitions
Name of blockchain (cannot contain hyphens '-')
Entrypoint module for the blockchain (Name of module cannot contain hyphens '-')
Indicates whether this blockchain is marked as a library
Module arguments
Blockchain test properties
2 nested properties
Test root modules
Module arguments
Additional blockchain configuration properties
15 nested properties
1 nested properties
GTX configuration overrides
7 nested properties
Maximum size of transactions in bytes
Maximum number of signers/signatures for a transaction
Additional GTX Modules
Allow operations and queries with the same name to be overridden by another GTX module.
The threshold for considering an operation slow, in milliseconds. Slow operations are logged at INFO level, -1 disables this logging.
The threshold for considering a prioritization query slow, in milliseconds. Slow queries are logged at INFO level, -1 disables this logging.
Rell configurations
Revolt configuration
6 nested properties
The default revolt timeout in milliseconds
The initial delay of the revolt timeout in milliseconds
Base of the exponential increase for the revolt timeout per round
Maximum possible revolt timeout in milliseconds
Timeout in milliseconds since the last received status message before considering a node disconnected and revolting immediately. -1 to disable this functionality
Start counting the revolt timeout only after considering it possible to build a block
Block building strategy configuration
10 nested properties
Block strategy, name of the class implementing net.postchain.core.block.BlockBuildingStrategy
Maximum size of a block in bytes
Maximum transactions per block
Smallest time interval between blocks in milliseconds
Maximum time to wait before starting to build a block in milliseconds. Will be an empty block if transaction queue is empty.
Maximum time to wait before starting to build a block after the first transaction is received, in milliseconds
Minimum back-off time before retrying a failed block, in milliseconds
Maximum back-off time before retrying a failed block, in milliseconds
Maximum size of a special end transaction, in bytes
Enable preemptive block building
Synchronization Infrastructure (Do not change)
Synchronization Insfrastructure extension (ex when using ICMF)
Configuration factory implementation
Maximum size of the transaction queue
Configuration consensus strategy
How long a query response can be cached, in seconds. 0 means no caching.
How long time in the future a block timestamp can be, compared to current time, in milliseconds. -1 means disabled check.
If enabled primary node will add its public key to the block header. Please note that this value is not validated and can only be trusted for features that incentivize nodes to add their own key.
Blockchain features
Directory for static web content
Static web content cache TTL in seconds
Test root modules
Blockchain test properties
Test root modules
Module arguments
Module arguments
Additional blockchain configuration properties
1 nested properties
1 nested properties
GTX configuration overrides
7 nested properties
Maximum size of transactions in bytes
Maximum number of signers/signatures for a transaction
Additional GTX Modules
Allow operations and queries with the same name to be overridden by another GTX module.
The threshold for considering an operation slow, in milliseconds. Slow operations are logged at INFO level, -1 disables this logging.
The threshold for considering a prioritization query slow, in milliseconds. Slow queries are logged at INFO level, -1 disables this logging.
Rell configurations
1 nested properties
Map module names to their native function implementations (format: "moduleName": "nativeFunctionName")
Revolt configuration
6 nested properties
The default revolt timeout in milliseconds
The initial delay of the revolt timeout in milliseconds
Base of the exponential increase for the revolt timeout per round
Maximum possible revolt timeout in milliseconds
Timeout in milliseconds since the last received status message before considering a node disconnected and revolting immediately. -1 to disable this functionality
Start counting the revolt timeout only after considering it possible to build a block
Block building strategy configuration
10 nested properties
Block strategy, name of the class implementing net.postchain.core.block.BlockBuildingStrategy
Maximum size of a block in bytes
Maximum transactions per block
Smallest time interval between blocks in milliseconds
Maximum time to wait before starting to build a block in milliseconds. Will be an empty block if transaction queue is empty.
Maximum time to wait before starting to build a block after the first transaction is received, in milliseconds
Minimum back-off time before retrying a failed block, in milliseconds
Maximum back-off time before retrying a failed block, in milliseconds
Maximum size of a special end transaction, in bytes
Enable preemptive block building
Synchronization Infrastructure (Do not change)
Synchronization Insfrastructure extension (ex when using ICMF)
Configuration factory implementation
Maximum size of the transaction queue
Configuration consensus strategy
How long a query response can be cached, in seconds. 0 means no caching.
How long time in the future a block timestamp can be, compared to current time, in milliseconds. -1 means disabled check.
If enabled primary node will add its public key to the block header. Please note that this value is not validated and can only be trusted for features that incentivize nodes to add their own key.
Blockchain features
Library definition
Deployment target
Blockchain RID for the target network's management chain
Container ID
URL(s) to nodes in the system cluster or network
Map of deployed blockchains with their Blockchain RIDs on this network
1 nested properties
GTX configuration overrides
Maximum size of transactions in bytes
Maximum number of signers/signatures for a transaction
Additional GTX Modules
Allow operations and queries with the same name to be overridden by another GTX module.
The threshold for considering an operation slow, in milliseconds. Slow operations are logged at INFO level, -1 disables this logging.
The threshold for considering a prioritization query slow, in milliseconds. Slow queries are logged at INFO level, -1 disables this logging.
Rell configurations
1 nested properties
Map module names to their native function implementations (format: "moduleName": "nativeFunctionName")
Revolt configuration
The default revolt timeout in milliseconds
The initial delay of the revolt timeout in milliseconds
Base of the exponential increase for the revolt timeout per round
Maximum possible revolt timeout in milliseconds
Timeout in milliseconds since the last received status message before considering a node disconnected and revolting immediately. -1 to disable this functionality
Start counting the revolt timeout only after considering it possible to build a block
Block building strategy configuration
Block strategy, name of the class implementing net.postchain.core.block.BlockBuildingStrategy
Maximum size of a block in bytes
Maximum transactions per block
Smallest time interval between blocks in milliseconds
Maximum time to wait before starting to build a block in milliseconds. Will be an empty block if transaction queue is empty.
Maximum time to wait before starting to build a block after the first transaction is received, in milliseconds
Minimum back-off time before retrying a failed block, in milliseconds
Maximum back-off time before retrying a failed block, in milliseconds
Maximum size of a special end transaction, in bytes
Enable preemptive block building