1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308
| net { type = mainnet # type = testnet }
storage { # Directory for storing persistent data
db.version = 2, db.engine = "LEVELDB", db.directory = "database", index.directory = "index",
# You can custom these 14 databases' configs:
# account, account-index, asset-issue, block, block-index, # block_KDB, peers, properties, recent-block, trans, # utxo, votes, witness, witness_schedule.
# Otherwise, db configs will remain defualt and data will be stored in # the path of "output-directory" or which is set by "-d" ("--output-directory").
# Attention: name is a required field that must be set !!! properties = [ // { // name = "account", // path = "storage_directory_test", // createIfMissing = true, // paranoidChecks = true, // verifyChecksums = true, // compressionType = 1, // compressed with snappy // blockSize = 4096, // 4 KB = 4 * 1024 B // writeBufferSize = 10485760, // 10 MB = 10 * 1024 * 1024 B // cacheSize = 10485760, // 10 MB = 10 * 1024 * 1024 B // maxOpenFiles = 100 // }, // { // name = "account-index", // path = "storage_directory_test", // createIfMissing = true, // paranoidChecks = true, // verifyChecksums = true, // compressionType = 1, // compressed with snappy // blockSize = 4096, // 4 KB = 4 * 1024 B // writeBufferSize = 10485760, // 10 MB = 10 * 1024 * 1024 B // cacheSize = 10485760, // 10 MB = 10 * 1024 * 1024 B // maxOpenFiles = 100 // }, ]
}
# this part of config is used to node discovery. node.discovery = { enable = false # you should set this entry value with ture if you want your node can be discovered by other node. persist = true # this entry is used to determined to whether storing the peers in the database or not. bind.ip = "" external.ip = 127.0.0.1 }
# this part of config is used to set backup node for witness service. node.backup { port = 10001 priority = 8 members = [ ] }
node { # trust node for solidity node # trustNode = "ip:port" trustNode = "127.0.0.1:50051"
# expose extension api to public or not walletExtensionApi = true
listen.port = 16666
connection.timeout = 2
tcpNettyWorkThreadNum = 0
udpNettyWorkThreadNum = 1
# Number of validate sign thread, default availableProcessors / 2 # validateSignThreadNum = 16
maxActiveNodes = 30
maxActiveNodesWithSameIp = 2
minParticipationRate = 0
# check the peer data transfer ,disconnect factor disconnectNumberFactor = 0.4 maxConnectNumberFactor = 0.8 receiveTcpMinDataLength = 2048 isOpenFullTcpDisconnect = true
p2p { version = 1 # 11111: mainnet; 20180622: testnet; you can set other number when you deploy one private net, but the node must have the same number in some private net. }
active = [ # Active establish connection in any case # Sample entries: # "ip:port", # "ip:port" ]
passive = [ # Passive accept connection in any case # Sample entries: # "ip:port", # "ip:port" ]
http { fullNodePort = 16667 solidityPort = 16668 }
rpc { port = 16669
# Number of gRPC thread, default availableProcessors / 2 # thread = 16
# The maximum number of concurrent calls permitted for each incoming connection # maxConcurrentCallsPerConnection =
# The HTTP/2 flow control window, default 1MB # flowControlWindow =
# Connection being idle for longer than which will be gracefully terminated maxConnectionIdleInMillis = 60000
# Connection lasting longer than which will be gracefully terminated # maxConnectionAgeInMillis =
# The maximum message size allowed to be received on the server, default 4MB # maxMessageSize =
# The maximum size of header list allowed to be received, default 8192 # maxHeaderListSize =
# Transactions can only be broadcast if the number of effective connections is reached. minEffectiveConnection = 0 }
}
seed.node = { # List of the seed nodes. This is used to enable the node can connect when join one net at first. # If you deploy one private net, you must add some "ip:port" here for other node connecting. # Seed nodes are stable full nodes, and the first SuperNode must be inclued in. # example: # ip.list = [ # "ip:port", # "ip:port" # ] ip.list = [ ] }
genesis.block = { # Reserve balance assets = [ { accountName = "Zion" accountType = "AssetIssue" address = "TPL66VK2gCXNCD7EJg9pgJRfqcRazjhUZY" balance = "95000000000000000" }, { accountName = "Sun" accountType = "AssetIssue" address = "TWsm8HtU2A5eEzoT8ev8yaoFjHsXLLrckb" balance = "5000000000000000" }, { accountName = "Blackhole" accountType = "AssetIssue" address = "TSJD5rdu6wZXP7F2m3a3tn8Co3JcMjtBip" balance = "-9223372036854775808" }, { accountName = "TestA" accountType = "AssetIssue" address = "TVdyt1s88BdiCjKt6K2YuoSmpWScZYK1QF" balance = "1000000000000000" }, { accountName = "TestB" accountType = "AssetIssue" address = "TCNVmGtkfknHpKSZXepZDXRowHF7kosxcv" balance = "1000000000000000" }, { accountName = "TestC" accountType = "AssetIssue" address = "TAbzgkG8p3yF5aywKVgq9AaAu6hvF2JrVC" balance = "1000000000000000" }, { accountName = "TestD" accountType = "AssetIssue" address = "TMmmvwvkBPBv3Gkw9cGKbZ8PLznYkTu3ep" balance = "1000000000000000" }, { accountName = "TestE" accountType = "AssetIssue" address = "TBJHZu4Sm86aWHtt6VF6KQSzot8vKTuTKx" balance = "1000000000000000" } ]
witnesses = [ { address: TPL66VK2gCXNCD7EJg9pgJRfqcRazjhUZY, url = "http://tronstudio.com", voteCount = 10000 } ]
timestamp = "0" #2017-8-26 12:00:00
parentHash = "957dc2d350daecc7bb6a38f3938ebde0a0c1cedafe15f0edae4256a2907449f6" }
localwitness = [ da146374a75310b9666e834ee4ad0866d6f4035967bfc76217c5a495fff9f0d0 # you must enable this value and the witness address are match. ]
#localwitnesskeystore = [ # "src/main/resources/localwitnesskeystore.json" # if you do not set the localwitness above, you must set this value.Otherwise,your SuperNode can not produce the block. #]
block = { needSyncCheck = false # first node : false, other : true maintenanceTimeInterval = 21600000 // 1 day: 86400000(ms), 6 hours: 21600000(ms) }
vm = { supportConstant = true minTimeRatio = 0.0 maxTimeRatio = 5.0 }
committee = { allowCreationOfContracts = 1 //mainnet:0 (reset by committee),test:1 }
event.subscribe = { native = { useNativeQueue = true // if true, use native message queue, else use event plugin. bindport = 5555 // bind port sendqueuelength = 1000 //max length of send queue }
path = "" // absolute path of plugin server = "" // target server address to receive event triggers dbconfig = "" // dbname|username|password contractParse = true, topics = [ { triggerName = "block" // block trigger, the value can't be modified enable = false topic = "block" // plugin topic, the value could be modified }, { triggerName = "transaction" enable = false topic = "transaction" }, { triggerName = "contractevent" enable = false topic = "contractevent" }, { triggerName = "contractlog" enable = false topic = "contractlog" }, { triggerName = "solidity" // solidity block event trigger, the value can't be modified enable = true // the default value is true topic = "solidity" } ]
filter = { fromblock = "" // the value could be "", "earliest" or a specified block number as the beginning of the queried range toblock = "" // the value could be "", "latest" or a specified block number as end of the queried range contractAddress = [ "" // contract address you want to subscribe, if it's set to "", you will receive contract logs/events with any contract address. ]
contractTopic = [ "" // contract topic you want to subscribe, if it's set to "", you will receive contract logs/events with any contract topic. ] } }
|