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  }