Skip to content
Snippets Groups Projects
MyAuthConf.py 3.59 KiB
Newer Older
import os
from string import Template

def getNetworkName(appName,sep="-"):
    return appName.lower()+sep+"dev"

def getJsonString(app_name, log_level="DEBUG"):
    tmp_dir = os.getcwd() + "/tmp"
    var_dir = os.getcwd() + "/var"

    ret_tpl = Template("""
    {
        "modules": [
            "Crypto", "ServerCore", "Http",
            "HttpFolder","GlobalDB","Client","HttpClientSimple","Mempool",
            "Chain", "Wallet", "ChainCSDag", "ChainCSDagPoa", "ChainCSDagPos", "GDB", "Net", "AppCliServer",
            "ChainNetSrv", "EncHttp","Stream", "StreamCtl", "HttpSimple", "StreamChChain", "StreamChChainNet",
            "StreamChChainNetSrv" ],
        "Core": {
            "config_dir": "${tmp_dir}",
            "log_level": "${log_level}",
            "application_name": "${app_name}",
            "file_name_log": "${var_dir}/log/${app_name}.log"
        },
        "Stream" : {
            "DebugDumpStreamHeaders": false
        },
        "ServerCore" : {
            "thread_cnt": 0,
            "conn": 0
        },
        "Configuration" : {
            "server": {
                "enabled": true,
                "listen_address": "0.0.0.0",
Dmitriy A. Gerasimov's avatar
Dmitriy A. Gerasimov committed
                "listen_port_tcp": 8099
            },
            "conserver": {
                "enabled": true,
                "listen_unix_socket_path": "${tmp_dir}/node_cli"
            },
            "resources": {
                "threads_cnt": 0,
                "pid_path": "${var_dir}/run/${app_name}.pid",
                "log_file": "${var_dir}/log/${app_name}.log",
                "wallets_path": "${var_dir}/lib/wallet",
                "ca_folders": [ "${var_dir}/lib/ca" ],
                "dap_global_db_path": "${var_dir}/lib/global_db",
                "dap_global_db_driver": "cdb"
            },
            "networks":{
                "${net_name}": {
                    "general":{
                        "id": "0xFF00000000000003",
                        "name": "${net_name}",
                        "node-role": "root",
                        "gdb_groups_prefix": "${net_name}"
                    },
                    "name_cfg_files": ["main"],
                    "conf_files":{
                        "main": {
                            "general": {
                                "id": "0xF00000000000000F",
                                "name": "main",
                                "consensus": "dag-poa",
                                "datum_types": ["ca", "transaction","token","token_update","emission","shard"]
                            },
                            "dag":{
                                "is_single_line": false,
                                "is_celled": true,
                                "is_add_directly": true,
                                "datum_and_hash_count": 3
                            },
                            "dag-poa":{
                                "auth_certs_prefix": "${net_name}.root",
                                "auth_certs_number": 5,
                                "auth_certs_number_verify":1,
                                "auth_certs_dir": "${var_dir}/lib/ca"
                            },
                            "files":{
                                "storage_dir":"{$var_dir}/lib/network/${net_name}/main"
                            }
                        }
                    }
                }
            }
        }
    }"""
    )
    tpl_vars={
        "var_dir":var_dir,
        "tmp_dir":tmp_dir,
        "app_name":app_name,
        "net_name": getNetworkName(app_name),
        "log_level":log_level

    }
    return ret_tpl.substitute(tpl_vars)