ICON1
Search
K
Comment on page

Configuration

tbears genconf command will generate the default configuration files and a test keystore file. If the configurations files do not exist, T-Bears follows the default config values which are presented below. If the default config files (tbears_server_config.json or tbears_cli_config.json) exist in the same folder where tbears is executed, tbears loads the values from the file. You can override the default behavior by updating the values in the config file or specifying a custom config file path with -c option. For the details of T-Bears commands, please read CLI Commands.

tbears_server_config.json

When starting T-Bears (tbears start), "tbears_server_config.json" is used to configure the parameters and initial settings of the T-Bears Server. In this configuration file, for example, you can configure log file path, turn on/off transaction fees, and add another test account with initial ICX balance.
// tbears_server_config.json
{
"hostAddress": "127.0.0.1",
"port": 9000,
"scoreRootPath": "./.score",
"stateDbRootPath": "./.statedb",
"log": {
"logger": "tbears",
"level": "info",
"filePath": "./tbears.log",
"colorLog": true,
"outputType": "file",
"rotate": {
"type": "bytes",
"maxBytes": 10485760,
"backupCount": 10
}
},
"service": {
"fee": false,
"audit": false,
"deployerWhiteList": false
},
"genesis": {
"nid": "0x3",
"accounts": [
{
"name": "genesis",
"address": "hx0000000000000000000000000000000000000000",
"balance": "0x2961fff8ca4a62327800000"
},
{
"name": "fee_treasury",
"address": "hx1000000000000000000000000000000000000000",
"balance": "0x0"
},
{
"name": "test1",
"address": "hxe7af5fcfd8dfc67530a01a0e403882687528dfcb",
"balance": "0x2961fff8ca4a62327800000"
}
]
},
"blockConfirmInterval": 10,
"blockConfirmEmpty": true
}
Field
Data type
Description
hostAddress
string
IP address that T-Bears service will listen on.
port
int
Port number that T-Bears service will listen on.
scoreRootPath
string
Root directory where SCORE will be installed.
stateDbRootPath
string
Root directory where state DB file will be created.
log
dict
T-Bears log setting
log.logger
string
Main logger in process
log.level
string
log level. "debug", "info", "warning", "error"
log.filePath
string
Log file path.
log.colorLog
boolean
Log display option (color or black)
log.outputType
string
“console”: log outputs to the console that T-Bears is running. “file”: log outputs to the file path. “console|file”: log outputs to both console and file.
log.rotate
dict
Log rotate setting
log.rotate.type
string
"period": rotate by period. "bytes": rotate by maxBytes. "period|bytes": log rotate to both period and bytes.
log.rotate.period
string
use logging.TimedRotatingFileHandler 'when' ex) daily, weekly, hourly or minutely
log.rotate.interval
string
use logging.TimedRotatingFileHandler 'interval' ex) (period: hourly, interval: 24) == (period: daily, interval: 1)
log.rotate.maxBytes
integer
use logging.RotatingFileHandler 'maxBytes' ex) 10mb == 10 1024 1024
log.rotate.backupCount
integer
limit log file count
service
dict
T-Bears service setting
service.fee
boolean
true | false. Charge a fee per transaction when enabled
service.audit
boolean
true | false. Audit deploy transactions when enabled
service.deployerWhiteList
boolean
true | false. Limit SCORE deploy permission when enabled
genesis
dict
Genesis information of T-Bears node.
genesis.nid
string
Network ID.
genesis.accounts
list
List of accounts that holds initial coins. (index 0) genesis: account that holds initial coins. (index 1) fee_treasury: account that collects transaction fees. (index 2~): test accounts that you can add.
channel
string
channel name interact with iconrpcserver and iconservice
amqpKey
string
amqp key name interact with iconrpcserver and iconservice
amqpTarget
string
amqp target name interact with iconrpcserver and iconservice
blockConfirmInterval
integer
Confirm block every N seconds
blockConfirmEmpty
boolean
true | false. Confirm empty block when enabled

tbears_cli_config.json

For every T-Bears SCORE & Other CLI Commands except init and test, this file is used to configure the default parameters and initial settings.
In this configuration file, you can define default option values for some CLI commands. For example, SCORE's on_install() or on_update() method is called on deployment. In this config file, you can set the deploy "mode" and the parameters ("scoreParams") of on_install() or on_update() as shown in the following example.
// tbears_cli_config.json
{
"uri": "http://127.0.0.1:9000/api/v3",
"nid": "0x3",
"keyStore": null,
"from": "hxe7af5fcfd8dfc67530a01a0e403882687528dfcb",
"to": "cx0000000000000000000000000000000000000000",
"deploy": {
"mode": "install",
"scoreParams": {}
},
"txresult": {},
"transfer": {}
}
Field
Data type
Description
uri
string
URI to send the request.
nid
string
Network ID. 0x3 is reserved for T-Bears.
keyStore
string
Keystore file path.
from
string
From address. It is ignored if 'keyStore' is set.
to
string
To address.
stepLimit
string
(optional) stepLimit value.
deploy
dict
Options for deploy command.
deploy.mode
string
Deploy mode. install: new SCORE deployment. update: update the SCORE that was previously deployed.
deploy.scoreParams
dict
Parameters to be passed to on_install() or on_update()
deploy.from
string
Address of the SCORE deployer Optional. This value will override "from" value. If not given, "from" value will be used.
deploy.to
string
Used when update SCORE (The address of the SCORE being updated). In the case of "install" mode, the address should be 'cx0000~'. Optional. This value will override "to" value. If not given, "to" value will be used.
txresult
dict
Options for txresult command. You can define command options in a dict.
transfer
dict
Options for transfer command. You can define command options in a dict.
Following CLI commands and options can be defined in the configuration file.
Command
Options
deploy
uri, nid, keyStore, from, to, mode, scoreParams, stepLimit
transfer
uri, nid, keyStore, from, stepLimit
sendtx
uri, nid, keyStore, from, stepLimit
txresult
uri
balance
uri
totalsupply
uri
scoreapi
uri
txbyhash
uri
lastblock
uri
blockbyhash
uri
blockbyheight
uri
call
uri

keystore_test1

Keystore file for a test account. The password of this keystore file is test1_Account. You will find the test account test1 in tbears_server_config.json and see the account has enough ICX balance (0x2961fff8ca4a62327800000) to test.
Do not transfer any ICX or tokens to 'test1' account.
// keystore_test1
{
"address": "hxe7af5fcfd8dfc67530a01a0e403882687528dfcb",
"crypto": {
"cipher": "aes-128-ctr",
"cipherparams": {
"iv": "dc0762c56ca56cd06038df5051c9e23e"
},
"ciphertext": "7cc40efac0b14eaf56f951c9c9620f9f34bac548175e85052aa9f753423dc984",
"kdf": "scrypt",
"kdfparams": {
"dklen": 32,
"n": 16384,
"r": 1,
"p": 8,
"salt": "380c00457be5fd1c244f5745c322b21f"
},
"mac": "157dda6fb7092df62ff93411bed54e5a64dbf06c1aae3b375d356061a9c3dfd1"
},
"id": "e2ca66c6-b8de-4413-82cb-52c2a2200b8d",
"version": 3,
"coinType": "icx"
}

Reference

License

This project follows the Apache 2.0 License. Please refer to LICENSE for details.