Economy chain configuration
Module arguments
The economy chain has the following module args:
Name | Description | Type | Required | Default |
---|---|---|---|---|
evm_asset_network_id | Identifier for the EVM network where the asset resides. | int | ✅ | |
evm_asset_address | Address of the asset on the EVM network. | text | ✅ | |
evm_asset_name | Name of the asset as defined on the EVM network. | text | ✅ | |
evm_asset_symbol | Symbol representing the asset on the EVM network (e.g., "ETH"). | text | ✅ | |
evm_asset_decimals | Number of decimal places used by the asset on the EVM network. | int | ✅ | |
asset_name | Name of the asset within the Chromia network. | text | ✅ | |
asset_symbol | Symbol representing the asset on the Chromia network (e.g., "CHR"). | text | ✅ | |
asset_decimals | Number of decimal places used by the asset in the Chromia network. | text | ✅ | |
asset_icon | URL for the icon representing the asset in the Chromia network. | text | ✅ | |
amount_to_mint | Amount of the asset to mint when a new account is registered. | int | ✅ | |
pool_amount_to_mint | Maximum amount of the asset that can be minted to the pool account within a defined time interval (pool_refill_limit_ms ). | int | ✅ | |
admin_pubkey | Public key of the administrator responsible for managing the chain. | pubkey | ✅ | |
staking_initial_reward_rate | Initial reward rate applied to staking activities. | decimal | ✅ | |
staking_rate_change_delay_ms | Minimum time interval (in milliseconds) between staking reward rate adjustments. | int | ✅ | |
staking_withdrawal_delay_ms | Minimum time interval (in milliseconds) required for staking withdrawals to be processed. | int | ✅ | |
staking_rewards_payout_interval_ms | Time interval (in milliseconds) between successive staking reward payouts. | int | ✅ | |
staking_withdrawals_payout_interval_ms | Time interval (in milliseconds) between successive staking withdrawal payouts. | int | ✅ | |
staking_rewards_start_time | Start time (as a timestamp) for when staking rewards begin accumulating. | timestamp | 0 | |
pool_refill_limit_ms | Minimum time interval (in milliseconds) between consecutive refills of the pool account. | int | ✅ | |
max_bridge_leases_per_container | Maximum number of bridge leases that can be accommodated per container. | int | ✅ | |
evm_transaction_submitters_bonus | Bonus coefficient used to calculate rewards for submitting EVM transactions. | decimal | ✅ | |
max_dapp_providers_per_lease | Maximum number of decentralized application (dapp) providers that can be associated with a single lease. | int | 100 |
FT4 configuration
The module args for FT4 configuration are:
Name | Description | Type | Required |
---|---|---|---|
active | Enables or disables the FT4 rate limit functionality. Configured under the lib.ft4.core.accounts.rate_limit parameter. | int | ✅ |
max_points | Maximum number of rate limit points allowed per account. Configured under the lib.ft4.core.accounts.rate_limit parameter. | int | ✅ |
recovery_time | Time (in milliseconds) required to recover one rate limit point. Configured under the lib.ft4.core.accounts.rate_limit parameter. | int | ✅ |
points_at_account_creation | Initial rate limit points assigned to a new account. Configured under the lib.ft4.core.accounts.rate_limit parameter. | int | ✅ |
auth_pubkey | Public key for the FT4 authorization server, used for account authentication. Configured under the lib.auth parameter. | int | ✅ |
ICMF configuration
In addition, you need to set up the ICMF configuration to listen to the following topics:
From the anchoring chain:
G_node_availability_report
From the directory chain:
L_create_cluster_error
L_ticket_container_result
L_cluster_update
L_provider_update
L_provider_auth_update
L_node_update
L_cluster_node_update
L_token_price_changed
L_blockchain_rid_topic
L_subnode_image_update
L_cluster_subnode_image_update
From the EVM transaction submitter chain:
G_evm_transaction_submitter_cost_topic
EIF configuration
The economy chain configuration also includes the configuration for EIF.
Example:
economy_chain:
module: economy_chain
config:
config_consensus_strategy: HEADER_HASH
revolt:
fast_revolt_status_timeout: 2000
sync_ext:
- "net.postchain.d1.icmf.IcmfReceiverSynchronizationInfrastructureExtension"
gtx:
modules:
- "net.postchain.d1.icmf.IcmfReceiverGTXModule"
- "net.postchain.d1.icmf.IcmfSenderGTXModule"
- "net.postchain.eif.EifGTXModule"
icmf:
receiver:
anchoring:
topics:
- G_node_availability_report
directory-chain:
topics:
- L_create_cluster_error
- L_ticket_container_result
- L_cluster_update
- L_provider_update
- L_provider_auth_update
- L_node_update
- L_cluster_node_update
- L_token_price_changed
- L_blockchain_rid_topic
- L_subnode_image_update
- L_cluster_subnode_image_update
global:
topics:
- G_evm_transaction_submitter_cost_topic
eif:
# event processing
snapshot:
levels_per_page: 2
snapshots_to_keep: 2
# event receiver
chains:
bsc:
network_id: 97
contracts:
- "0x6e42297d0374B78b695bd7d91f92C76E24B551F4"
- "0x753218363422002DF74F3D0D8d67f6CB38bE32D0"
evm_read_offset: 3
read_offset: 3
events: !include config/events.yaml
moduleArgs:
lib.ft4.core.accounts:
rate_limit:
active: 1
max_points: 20
recovery_time: 5000
points_at_account_creation: 1
lib.auth:
auth_pubkey: x"" # Replace this with the FT4 authorization server private key
economy_chain:
evm_asset_network_id: 97
evm_asset_address: "8A2279d4A90B6fe1C4B30fa660cC9f926797bAA2"
evm_asset_name: "tCHR"
evm_asset_symbol: "tCHR"
evm_asset_decimals: 6
asset_name: "Chromia Test"
asset_symbol: "tCHR"
asset_decimals: 6
asset_icon: "https://s3.eu-central-1.amazonaws.com/www.chromiadev.net/assets/tCHR.png"
amount_to_mint: 1000000000
pool_amount_to_mint: 1000000000
admin_pubkey: x"" # Replace this admin key
staking_initial_reward_rate: 0.15
staking_rate_change_delay_ms: 604800000
staking_withdrawal_delay_ms: 1209600000
staking_rewards_payout_interval_ms: 31536000000
staking_withdrawals_payout_interval_ms: 31536000000
pool_refill_limit_ms: 86400000
max_bridge_leases_per_container: 10
evm_transaction_submitters_bonus: 0.1
libs:
ft4:
registry: https://bitbucket.org/chromawallet/ft3-lib
path: rell/src/lib/ft4
tagOrBranch: v0.7.0r
rid: x"F7C207AA595ABD25FDE5C2C2E32ECD3768B480AD03D1F2341548FF4F37D9B7AF"
insecure: false
auth:
registry: https://bitbucket.org/chromawallet/auth-server-ft4.git
path: rell/src/auth
tagOrBranch: v2.1.0r
rid: x"7EC77529149B510F7863BA19CE2A8798AD8492A98A79F8B350FE8D774996F268"
insecure: false
priceoracle:
registry: https://bitbucket.org/chromawallet/priceoracle.git
path: src
tagOrBranch: "0.2"
rid: x"E0D3FAD15812941D2FD52A43BB3E4F2AA8BC8D795A5C27EBA4F9791CC43BE250"
insecure: false
eif:
registry: https://gitlab.com/chromaway/postchain-eif
path: postchain-eif-rell/rell/src/eif/
tagOrBranch: "0.3.8"
rid: x"B023B96EF2331FC912A39D56489810935E718D10BA8EE953BF09526250F6AB53"
insecure: false
eif_event_receiver_chain/messaging:
registry: https://gitlab.com/chromaway/postchain-eif
path: postchain-eif-rell/rell/src/eif_event_receiver_chain/messaging
tagOrBranch: "0.3.8"
rid: x"B635B3174B65768C88690382F1A08CF7E507D3CA5A5818A86B7A54D8D0E58978"
insecure: false