github.com/igggame/nebulas-go@v2.1.0+incompatible/neblet/pb/config.proto (about) 1 // Copyright (C) 2017 go-nebulas authors 2 // 3 // This file is part of the go-nebulas library. 4 // 5 // the go-nebulas library is free software: you can redistribute it and/or modify 6 // it under the terms of the GNU General Public License as published by 7 // the Free Software Foundation, either version 3 of the License, or 8 // (at your option) any later version. 9 // 10 // the go-nebulas library is distributed in the hope that it will be useful, 11 // but WITHOUT ANY WARRANTY; without even the implied warranty of 12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 // GNU General Public License for more details. 14 // 15 // You should have received a copy of the GNU General Public License 16 // along with the go-nebulas library. If not, see <http://www.gnu.org/licenses/>. 17 // 18 syntax = "proto3"; 19 package nebletpb; 20 21 // Neblet global configurations. 22 message Config { 23 // Network config. 24 NetworkConfig network = 1; 25 // Chain config. 26 ChainConfig chain = 2; 27 // RPC config. 28 RPCConfig rpc = 3; 29 // Stats config. 30 StatsConfig stats = 100; 31 // Misc config. 32 MiscConfig misc = 101; 33 // App Config. 34 AppConfig app = 102; 35 36 // Nbre Config. 37 NbreConfig nbre = 200; 38 } 39 40 message NetworkConfig { 41 // Neb seed node address. 42 repeated string seed = 1; 43 // Listen addresses. 44 repeated string listen = 2; 45 // Network node privateKey address. If nil, generate a new node. 46 string private_key = 3; 47 48 // Network ID 49 uint32 network_id = 4; 50 51 int32 stream_limits = 5; 52 53 int32 reserved_stream_limits = 6; 54 } 55 56 message ChainConfig { 57 // ChainID. 58 uint32 chain_id = 1; 59 60 // genesis conf file path 61 string genesis = 2; 62 63 // Data dir. 64 string datadir = 11; 65 // Key dir. 66 string keydir = 12; 67 68 // Start mine at launch 69 bool start_mine = 20; 70 // Coinbase. 71 string coinbase = 21; 72 // Miner. 73 string miner = 22; 74 // Passphrase. 75 string passphrase = 23; 76 77 // Enable remote sign server 78 bool enable_remote_sign_server = 24; 79 // Remote sign server 80 string remote_sign_server = 25; 81 82 // Lowest GasPrice. 83 string gas_price = 26; 84 // Max GasLimit. 85 string gas_limit = 27; 86 87 // Supported signature cipher list. ["ECC_SECP256K1"] 88 repeated string signature_ciphers = 28; 89 90 bool super_node = 30; 91 92 string unsupported_keyword = 31; 93 94 string dynasty = 32; 95 96 // access control config path 97 string access = 33; 98 } 99 100 message RPCConfig { 101 102 // RPC listen addresses. 103 repeated string rpc_listen = 1; 104 105 // HTTP listen addresses. 106 repeated string http_listen = 2; 107 108 // Enabled HTTP modules.["api", "admin"] 109 repeated string http_module = 3; 110 111 int32 connection_limits = 4; 112 113 int32 http_limits = 5; 114 115 // HTTP CORS allowed origins 116 repeated string http_cors = 6; 117 } 118 119 message AppConfig { 120 121 string log_level = 1; 122 123 string log_file = 2; 124 125 // log file age, unit is s. 126 uint32 log_age = 3; 127 128 bool enable_crash_report = 4; 129 130 string crash_report_url = 5; 131 132 // pprof config 133 PprofConfig pprof = 6; 134 135 string version = 100; 136 } 137 138 message PprofConfig { 139 140 // pprof listen address, if not configured, the function closes. 141 string http_listen = 1; 142 143 // cpu profiling file, if not configured, the profiling not start 144 string cpuprofile = 2; 145 146 // memory profiling file, if not configured, the profiling not start 147 string memprofile = 3; 148 } 149 150 message MiscConfig { 151 152 // Default encryption ciper when create new keystore file. 153 string default_keystore_file_ciper = 1; 154 } 155 156 message StatsConfig { 157 158 // Enable metrics or not. 159 bool enable_metrics = 1; 160 161 // Reporting modules. 162 enum ReportingModule { 163 Influxdb = 0; 164 } 165 repeated ReportingModule reporting_module = 2; 166 167 // Influxdb config. 168 InfluxdbConfig influxdb = 11; 169 170 repeated string metrics_tags = 12; 171 172 } 173 174 message InfluxdbConfig { 175 // Host. 176 string host = 1; 177 // Port. 178 uint32 port = 2; 179 // Database name. 180 string db = 3; 181 // Auth user. 182 string user = 4; 183 // Auth password. 184 string password = 5; 185 } 186 187 message NbreConfig { 188 // Nbre root dir 189 string root_dir = 1; 190 // Nbre log path 191 string log_dir = 2; 192 // Nbre data path 193 string data_dir = 3; 194 // Nbre runtime path 195 string nbre_path = 4; 196 // Nbre admin address 197 string admin_address = 5; 198 // Nbre start height 199 uint64 start_height = 6; 200 // Nbre net ipc listen. 201 string ipc_listen = 7; 202 // Nbre net ipc port. 203 uint32 ipc_port = 8; 204 }