安装说明
安装版本:4.7.4 安装目录:/data/docker-compose/trx
配置文件路径:/data/docker-compose/trx/config.conf
节点data数据:/data/docker-compose/trx/output-directory
安装方式:Dockerfile+docker+docker-compose 安装环境:系统:ubuntu 20.04(BCH共享机器) CPU:8核 内存:32G 硬盘:2T
1、下载TRX对应的java程序包
wget https://github.com/tronprotocol/java-tron/releases/download/GreatVoyage-v4.7.4/FullNode.jar
2、创建配置文件
~
~
net {type = mainnet# type = testnet
}storage {# Directory for storing persistent datadb.version = 2,db.engine = "LEVELDB",db.sync = false,db.directory = "database",index.directory = "index",transHistory.switch = "on",# 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 default 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// },{name = "DelegatedResource",maxOpenFiles = 100},{name = "DelegatedResourceAccountIndex",maxOpenFiles = 100},{name = "IncrementalMerkleTree",maxOpenFiles = 100},{name = "IncrementalMerkleVoucher",maxOpenFiles = 100},{name = "abi",maxOpenFiles = 100},{name = "account",maxOpenFiles = 100},{name = "account-asset-issue",maxOpenFiles = 100},{name = "account-index",maxOpenFiles = 100},{name = "account-trace",maxOpenFiles = 100},{name = "accountTrie",maxOpenFiles = 100},{name = "accountid-index",maxOpenFiles = 100},{name = "asset-issue",maxOpenFiles = 100},{name = "asset-issue-v2",maxOpenFiles = 100},{name = "balance-trace",maxOpenFiles = 100},{name = "block",maxOpenFiles = 100},{name = "block-index",maxOpenFiles = 100},{name = "block_KDB",maxOpenFiles = 100},{name = "code",maxOpenFiles = 100},{name = "common",maxOpenFiles = 100},{name = "common-database",maxOpenFiles = 100},{name = "contract",maxOpenFiles = 100},{name = "delegation",maxOpenFiles = 100},{name = "exchange",maxOpenFiles = 100},{name = "exchange-v2",maxOpenFiles = 100},{name = "info",maxOpenFiles = 100},{name = "market_account",maxOpenFiles = 100},{name = "market_order",maxOpenFiles = 100},{name = "market_pair_price_to_order",maxOpenFiles = 100},{name = "market_pair_to_price",maxOpenFiles = 100},{name = "nullifier",maxOpenFiles = 100},{name = "pbft-sign-data",maxOpenFiles = 100},{name = "peers",maxOpenFiles = 100},{name = "properties",maxOpenFiles = 100},{name = "proposal",maxOpenFiles = 100},{name = "recent-block",maxOpenFiles = 100},{name = "storage-row",maxOpenFiles = 100},{name = "tmp",maxOpenFiles = 100},{name = "trans",maxOpenFiles = 100},{name = "trans-cache",maxOpenFiles = 100},{name = "transactionHistoryStore",maxOpenFiles = 100},{name = "transactionRetStore",maxOpenFiles = 100},{name = "tree-block-index",maxOpenFiles = 100},{name = "utxo",maxOpenFiles = 100},{name = "votes",maxOpenFiles = 100},{name = "witness",maxOpenFiles = 100},{name = "witness_schedule",maxOpenFiles = 100},{name = "zkProof",maxOpenFiles = 100}]needToUpdateAsset = true//dbsettings is needed when using rocksdb as the storage implement (db.version=2 and db.engine="ROCKSDB").//we'd strongly recommend that do not modify it unless you know every item's meaning clearly.dbSettings = {levelNumber = 7//compactThreads = 32blocksize = 64 // n * KBmaxBytesForLevelBase = 256 // n * MBmaxBytesForLevelMultiplier = 10level0FileNumCompactionTrigger = 4targetFileSizeBase = 256 // n * MBtargetFileSizeMultiplier = 1}//backup settings when using rocks db as the storage implement (db.version=2 and db.engine="ROCKSDB").//if you want to use the backup plugin, please confirm set the db.version=2 and db.engine="ROCKSDB" above.backup = {enable = false // indicate whether enable the backup pluginpropPath = "prop.properties" // record which bak directory is validbak1path = "bak1/database" // you must set two backup directories to prevent application halt unexpected(e.g. kill -9).bak2path = "bak2/database"frequency = 10000 // indicate backup db once every 10000 blocks processed.}
}node.discovery = {enable = truepersist = truebind.ip = ""external.ip = null
}node.backup {port = 10001# my priority, each member should use different prioritypriority = 8# peer's ip list, can't contain minemembers = [# "ip",# "ip"]
}node {# trust node for solidity node# trustNode = "ip:port"trustNode = "127.0.0.1:50051"# expose extension api to public or notwalletExtensionApi = truelisten.port = 18888connection.timeout = 2tcpNettyWorkThreadNum = 0udpNettyWorkThreadNum = 1# Number of validate sign thread, default availableProcessors / 2# validateSignThreadNum = 16connectFactor = 0.3activeConnectFactor = 0.1maxActiveNodes = 30maxActiveNodesWithSameIp = 2maxHttpConnectNumber = 50minParticipationRate = 15# check the peer data transfer ,disconnect factordisconnectNumberFactor = 0.4maxConnectNumberFactor = 0.8receiveTcpMinDataLength = 2048isOpenFullTcpDisconnect = truep2p {version = 11111 # 11111: mainnet; 20180622: testnet}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"]fastForward = ["100.26.245.209:18888","15.188.6.125:18888"]http {fullNodePort = 18090solidityPort = 8091}rpc {port = 50051#solidityPort = 50061# 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 terminatedmaxConnectionIdleInMillis = 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 = 1}# number of solidity thread in the FullNode.# If accessing solidity rpc and http interface timeout, could increase the number of threads,# The default value is the number of cpu cores of the machine.#solidity.threads = 8# Limits the maximum percentage (default 75%) of producing block interval# to provide sufficient time to perform other operations e.g. broadcast block# blockProducedTimeOut = 75# Limits the maximum number (default 700) of transaction from network layer# netMaxTrxPerSecond = 700
}seed.node = {# List of the seed nodes# Seed nodes are stable full nodes# example:# ip.list = [# "ip:port",# "ip:port"# ]ip.list = ["3.225.171.164:18888","52.53.189.99:18888","18.196.99.16:18888","34.253.187.192:18888","18.133.82.227:18888","35.180.51.163:18888","54.252.224.209:18888","18.228.15.36:18888","52.15.93.92:18888","34.220.77.106:18888","13.127.47.162:18888","13.124.62.58:18888","13.229.128.108:18888","35.182.37.246:18888","34.200.228.125:18888","18.220.232.201:18888","13.57.30.186:18888","35.165.103.105:18888","18.184.238.21:18888","34.250.140.143:18888","35.176.192.130:18888","52.47.197.188:18888","52.62.210.100:18888","13.231.4.243:18888","18.231.76.29:18888","35.154.90.144:18888","13.125.210.234:18888","13.250.40.82:18888","35.183.101.48:18888"]
}genesis.block = {# Reserve balanceassets = [{accountName = "Zion"accountType = "AssetIssue"address = "TLLM21wteSPs4hKjbxgmH1L6poyMjeTbHm"balance = "99000000000000000"},{accountName = "Sun"accountType = "AssetIssue"address = "TXmVpin5vq5gdZsciyyjdZgKRUju4st1wM"balance = "0"},{accountName = "Blackhole"accountType = "AssetIssue"address = "TLsV52sRDL79HXGGm9yzwKibb6BeruhUzy"balance = "-9223372036854775808"}]witnesses = [{address: THKJYuUmMKKARNf7s2VT51g5uPY6KEqnat,url = "http://GR1.com",voteCount = 100000026},{address: TVDmPWGYxgi5DNeW8hXrzrhY8Y6zgxPNg4,url = "http://GR2.com",voteCount = 100000025},{address: TWKZN1JJPFydd5rMgMCV5aZTSiwmoksSZv,url = "http://GR3.com",voteCount = 100000024},{address: TDarXEG2rAD57oa7JTK785Yb2Et32UzY32,url = "http://GR4.com",voteCount = 100000023},{address: TAmFfS4Tmm8yKeoqZN8x51ASwdQBdnVizt,url = "http://GR5.com",voteCount = 100000022},{address: TK6V5Pw2UWQWpySnZyCDZaAvu1y48oRgXN,url = "http://GR6.com",voteCount = 100000021},{address: TGqFJPFiEqdZx52ZR4QcKHz4Zr3QXA24VL,url = "http://GR7.com",voteCount = 100000020},{address: TC1ZCj9Ne3j5v3TLx5ZCDLD55MU9g3XqQW,url = "http://GR8.com",voteCount = 100000019},{address: TWm3id3mrQ42guf7c4oVpYExyTYnEGy3JL,url = "http://GR9.com",voteCount = 100000018},{address: TCvwc3FV3ssq2rD82rMmjhT4PVXYTsFcKV,url = "http://GR10.com",voteCount = 100000017},{address: TFuC2Qge4GxA2U9abKxk1pw3YZvGM5XRir,url = "http://GR11.com",voteCount = 100000016},{address: TNGoca1VHC6Y5Jd2B1VFpFEhizVk92Rz85,url = "http://GR12.com",voteCount = 100000015},{address: TLCjmH6SqGK8twZ9XrBDWpBbfyvEXihhNS,url = "http://GR13.com",voteCount = 100000014},{address: TEEzguTtCihbRPfjf1CvW8Euxz1kKuvtR9,url = "http://GR14.com",voteCount = 100000013},{address: TZHvwiw9cehbMxrtTbmAexm9oPo4eFFvLS,url = "http://GR15.com",voteCount = 100000012},{address: TGK6iAKgBmHeQyp5hn3imB71EDnFPkXiPR,url = "http://GR16.com",voteCount = 100000011},{address: TLaqfGrxZ3dykAFps7M2B4gETTX1yixPgN,url = "http://GR17.com",voteCount = 100000010},{address: TX3ZceVew6yLC5hWTXnjrUFtiFfUDGKGty,url = "http://GR18.com",voteCount = 100000009},{address: TYednHaV9zXpnPchSywVpnseQxY9Pxw4do,url = "http://GR19.com",voteCount = 100000008},{address: TCf5cqLffPccEY7hcsabiFnMfdipfyryvr,url = "http://GR20.com",voteCount = 100000007},{address: TAa14iLEKPAetX49mzaxZmH6saRxcX7dT5,url = "http://GR21.com",voteCount = 100000006},{address: TBYsHxDmFaRmfCF3jZNmgeJE8sDnTNKHbz,url = "http://GR22.com",voteCount = 100000005},{address: TEVAq8dmSQyTYK7uP1ZnZpa6MBVR83GsV6,url = "http://GR23.com",voteCount = 100000004},{address: TRKJzrZxN34YyB8aBqqPDt7g4fv6sieemz,url = "http://GR24.com",voteCount = 100000003},{address: TRMP6SKeFUt5NtMLzJv8kdpYuHRnEGjGfe,url = "http://GR25.com",voteCount = 100000002},{address: TDbNE1VajxjpgM5p7FyGNDASt3UVoFbiD3,url = "http://GR26.com",voteCount = 100000001},{address: TLTDZBcPoJ8tZ6TTEeEqEvwYFk2wgotSfD,url = "http://GR27.com",voteCount = 100000000}]timestamp = "0" #2017-8-26 12:00:00parentHash = "0xe58f33f9baf9305dc6f82b9f1934ea8f0ade2defb951258d50167028c780351f"
}// Optional.The default is empty.
// It is used when the witness account has set the witnessPermission.
// When it is not empty, the localWitnessAccountAddress represents the address of the witness account,
// and the localwitness is configured with the private key of the witnessPermissionAddress in the witness account.
// When it is empty,the localwitness is configured with the private key of the witness account.//localWitnessAccountAddress =localwitness = [d83523eb4646882ff7a36cff93084d49acbb841df76f84f3b26dcd47df6fae12
]#localwitnesskeystore = [
# "localwitnesskeystore.json"
#]block = {needSyncCheck = truemaintenanceTimeInterval = 21600000proposalExpireTime = 259200000 // 3 day: 259200000(ms)
}# Transaction reference block, default is "head", configure to "solid" can avoid TaPos error
# trx.reference.block = "head" // head;solid;# This property sets the number of milliseconds after the creation of the transaction that is expired, default value is 60000.
# trx.expiration.timeInMilliseconds = 60000vm = {supportConstant = trueminTimeRatio = 0.0maxTimeRatio = 5.0saveInternalTx = false# In rare cases, transactions that will be within the specified maximum execution time (default 10(ms)) are re-executed and packaged# longRunningTime = 10
}committee = {allowCreationOfContracts = 0 //mainnet:0 (reset by committee),test:1allowAdaptiveEnergy = 0 //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 portsendqueuelength = 1000 //max length of send queue}path = "" // absolute path of pluginserver = "" // target server address to receive event triggersdbconfig="" // dbname|username|passwordcontractParse = true,topics = [{triggerName = "block" // block trigger, the value can't be modifiedenable = falsetopic = "block" // plugin topic, the value could be modified},{
[root@iZt4nfi77yw2dj1daja7e3Z data]# cat config.conf
net {type = mainnet# type = testnet
}storage {# Directory for storing persistent datadb.version = 2,db.engine = "LEVELDB",db.sync = false,db.directory = "database",index.directory = "index",transHistory.switch = "on",# 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 default 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// },{name = "DelegatedResource",maxOpenFiles = 100},{name = "DelegatedResourceAccountIndex",maxOpenFiles = 100},{name = "IncrementalMerkleTree",maxOpenFiles = 100},{name = "IncrementalMerkleVoucher",maxOpenFiles = 100},{name = "abi",maxOpenFiles = 100},{name = "account",maxOpenFiles = 100},{name = "account-asset-issue",maxOpenFiles = 100},{name = "account-index",maxOpenFiles = 100},{name = "account-trace",maxOpenFiles = 100},{name = "accountTrie",maxOpenFiles = 100},{name = "accountid-index",maxOpenFiles = 100},{name = "asset-issue",maxOpenFiles = 100},{name = "asset-issue-v2",maxOpenFiles = 100},{name = "balance-trace",maxOpenFiles = 100},{name = "block",maxOpenFiles = 100},{name = "block-index",maxOpenFiles = 100},{name = "block_KDB",maxOpenFiles = 100},{name = "code",maxOpenFiles = 100},{name = "common",maxOpenFiles = 100},{name = "common-database",maxOpenFiles = 100},{name = "contract",maxOpenFiles = 100},{name = "delegation",maxOpenFiles = 100},{name = "exchange",maxOpenFiles = 100},{name = "exchange-v2",maxOpenFiles = 100},{name = "info",maxOpenFiles = 100},{name = "market_account",maxOpenFiles = 100},{name = "market_order",maxOpenFiles = 100},{name = "market_pair_price_to_order",maxOpenFiles = 100},{name = "market_pair_to_price",maxOpenFiles = 100},{name = "nullifier",maxOpenFiles = 100},{name = "pbft-sign-data",maxOpenFiles = 100},{name = "peers",maxOpenFiles = 100},{name = "properties",maxOpenFiles = 100},{name = "proposal",maxOpenFiles = 100},{name = "recent-block",maxOpenFiles = 100},{name = "storage-row",maxOpenFiles = 100},{name = "tmp",maxOpenFiles = 100},{name = "trans",maxOpenFiles = 100},{name = "trans-cache",maxOpenFiles = 100},{name = "transactionHistoryStore",maxOpenFiles = 100},{name = "transactionRetStore",maxOpenFiles = 100},{name = "tree-block-index",maxOpenFiles = 100},{name = "utxo",maxOpenFiles = 100},{name = "votes",maxOpenFiles = 100},{name = "witness",maxOpenFiles = 100},{name = "witness_schedule",maxOpenFiles = 100},{name = "zkProof",maxOpenFiles = 100}]needToUpdateAsset = true//dbsettings is needed when using rocksdb as the storage implement (db.version=2 and db.engine="ROCKSDB").//we'd strongly recommend that do not modify it unless you know every item's meaning clearly.dbSettings = {levelNumber = 7//compactThreads = 32blocksize = 64 // n * KBmaxBytesForLevelBase = 256 // n * MBmaxBytesForLevelMultiplier = 10level0FileNumCompactionTrigger = 4targetFileSizeBase = 256 // n * MBtargetFileSizeMultiplier = 1}//backup settings when using rocks db as the storage implement (db.version=2 and db.engine="ROCKSDB").//if you want to use the backup plugin, please confirm set the db.version=2 and db.engine="ROCKSDB" above.backup = {enable = false // indicate whether enable the backup pluginpropPath = "prop.properties" // record which bak directory is validbak1path = "bak1/database" // you must set two backup directories to prevent application halt unexpected(e.g. kill -9).bak2path = "bak2/database"frequency = 10000 // indicate backup db once every 10000 blocks processed.}
}node.discovery = {enable = truepersist = truebind.ip = ""external.ip = null
}node.backup {port = 10001# my priority, each member should use different prioritypriority = 8# peer's ip list, can't contain minemembers = [# "ip",# "ip"]
}node {# trust node for solidity node# trustNode = "ip:port"trustNode = "127.0.0.1:50051"# expose extension api to public or notwalletExtensionApi = truelisten.port = 18888connection.timeout = 2tcpNettyWorkThreadNum = 0udpNettyWorkThreadNum = 1# Number of validate sign thread, default availableProcessors / 2# validateSignThreadNum = 16connectFactor = 0.3activeConnectFactor = 0.1maxActiveNodes = 30maxActiveNodesWithSameIp = 2maxHttpConnectNumber = 50minParticipationRate = 15# check the peer data transfer ,disconnect factordisconnectNumberFactor = 0.4maxConnectNumberFactor = 0.8receiveTcpMinDataLength = 2048isOpenFullTcpDisconnect = truep2p {version = 11111 # 11111: mainnet; 20180622: testnet}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"]fastForward = ["100.26.245.209:18888","15.188.6.125:18888"]http {fullNodePort = 18090solidityPort = 8091}rpc {port = 50051#solidityPort = 50061# 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 terminatedmaxConnectionIdleInMillis = 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 = 1}# number of solidity thread in the FullNode.# If accessing solidity rpc and http interface timeout, could increase the number of threads,# The default value is the number of cpu cores of the machine.#solidity.threads = 8# Limits the maximum percentage (default 75%) of producing block interval# to provide sufficient time to perform other operations e.g. broadcast block# blockProducedTimeOut = 75# Limits the maximum number (default 700) of transaction from network layer# netMaxTrxPerSecond = 700
}seed.node = {# List of the seed nodes# Seed nodes are stable full nodes# example:# ip.list = [# "ip:port",# "ip:port"# ]ip.list = ["3.225.171.164:18888","52.53.189.99:18888","18.196.99.16:18888","34.253.187.192:18888","18.133.82.227:18888","35.180.51.163:18888","54.252.224.209:18888","18.228.15.36:18888","52.15.93.92:18888","34.220.77.106:18888","13.127.47.162:18888","13.124.62.58:18888","13.229.128.108:18888","35.182.37.246:18888","34.200.228.125:18888","18.220.232.201:18888","13.57.30.186:18888","35.165.103.105:18888","18.184.238.21:18888","34.250.140.143:18888","35.176.192.130:18888","52.47.197.188:18888","52.62.210.100:18888","13.231.4.243:18888","18.231.76.29:18888","35.154.90.144:18888","13.125.210.234:18888","13.250.40.82:18888","35.183.101.48:18888"]
}genesis.block = {# Reserve balanceassets = [{accountName = "Zion"accountType = "AssetIssue"address = "TLLM21wteSPs4hKjbxgmH1L6poyMjeTbHm"balance = "99000000000000000"},{accountName = "Sun"accountType = "AssetIssue"address = "TXmVpin5vq5gdZsciyyjdZgKRUju4st1wM"balance = "0"},{accountName = "Blackhole"accountType = "AssetIssue"address = "TLsV52sRDL79HXGGm9yzwKibb6BeruhUzy"balance = "-9223372036854775808"}]witnesses = [{address: THKJYuUmMKKARNf7s2VT51g5uPY6KEqnat,url = "http://GR1.com",voteCount = 100000026},{address: TVDmPWGYxgi5DNeW8hXrzrhY8Y6zgxPNg4,url = "http://GR2.com",voteCount = 100000025},{address: TWKZN1JJPFydd5rMgMCV5aZTSiwmoksSZv,url = "http://GR3.com",voteCount = 100000024},{address: TDarXEG2rAD57oa7JTK785Yb2Et32UzY32,url = "http://GR4.com",voteCount = 100000023},{address: TAmFfS4Tmm8yKeoqZN8x51ASwdQBdnVizt,url = "http://GR5.com",voteCount = 100000022},{address: TK6V5Pw2UWQWpySnZyCDZaAvu1y48oRgXN,url = "http://GR6.com",voteCount = 100000021},{address: TGqFJPFiEqdZx52ZR4QcKHz4Zr3QXA24VL,url = "http://GR7.com",voteCount = 100000020},{address: TC1ZCj9Ne3j5v3TLx5ZCDLD55MU9g3XqQW,url = "http://GR8.com",voteCount = 100000019},{address: TWm3id3mrQ42guf7c4oVpYExyTYnEGy3JL,url = "http://GR9.com",voteCount = 100000018},{address: TCvwc3FV3ssq2rD82rMmjhT4PVXYTsFcKV,url = "http://GR10.com",voteCount = 100000017},{address: TFuC2Qge4GxA2U9abKxk1pw3YZvGM5XRir,url = "http://GR11.com",voteCount = 100000016},{address: TNGoca1VHC6Y5Jd2B1VFpFEhizVk92Rz85,url = "http://GR12.com",voteCount = 100000015},{address: TLCjmH6SqGK8twZ9XrBDWpBbfyvEXihhNS,url = "http://GR13.com",voteCount = 100000014},{address: TEEzguTtCihbRPfjf1CvW8Euxz1kKuvtR9,url = "http://GR14.com",voteCount = 100000013},{address: TZHvwiw9cehbMxrtTbmAexm9oPo4eFFvLS,url = "http://GR15.com",voteCount = 100000012},{address: TGK6iAKgBmHeQyp5hn3imB71EDnFPkXiPR,url = "http://GR16.com",voteCount = 100000011},{address: TLaqfGrxZ3dykAFps7M2B4gETTX1yixPgN,url = "http://GR17.com",voteCount = 100000010},{address: TX3ZceVew6yLC5hWTXnjrUFtiFfUDGKGty,url = "http://GR18.com",voteCount = 100000009},{address: TYednHaV9zXpnPchSywVpnseQxY9Pxw4do,url = "http://GR19.com",voteCount = 100000008},{address: TCf5cqLffPccEY7hcsabiFnMfdipfyryvr,url = "http://GR20.com",voteCount = 100000007},{address: TAa14iLEKPAetX49mzaxZmH6saRxcX7dT5,url = "http://GR21.com",voteCount = 100000006},{address: TBYsHxDmFaRmfCF3jZNmgeJE8sDnTNKHbz,url = "http://GR22.com",voteCount = 100000005},{address: TEVAq8dmSQyTYK7uP1ZnZpa6MBVR83GsV6,url = "http://GR23.com",voteCount = 100000004},{address: TRKJzrZxN34YyB8aBqqPDt7g4fv6sieemz,url = "http://GR24.com",voteCount = 100000003},{address: TRMP6SKeFUt5NtMLzJv8kdpYuHRnEGjGfe,url = "http://GR25.com",voteCount = 100000002},{address: TDbNE1VajxjpgM5p7FyGNDASt3UVoFbiD3,url = "http://GR26.com",voteCount = 100000001},{address: TLTDZBcPoJ8tZ6TTEeEqEvwYFk2wgotSfD,url = "http://GR27.com",voteCount = 100000000}]timestamp = "0" #2017-8-26 12:00:00parentHash = "0xe58f33f9baf9305dc6f82b9f1934ea8f0ade2defb951258d50167028c780351f"
}// Optional.The default is empty.
// It is used when the witness account has set the witnessPermission.
// When it is not empty, the localWitnessAccountAddress represents the address of the witness account,
// and the localwitness is configured with the private key of the witnessPermissionAddress in the witness account.
// When it is empty,the localwitness is configured with the private key of the witness account.//localWitnessAccountAddress =localwitness = [d83523eb4646882ff7a36cff93084d49acbb841df76f84f3b26dcd47df6fae12
]#localwitnesskeystore = [
# "localwitnesskeystore.json"
#]block = {needSyncCheck = truemaintenanceTimeInterval = 21600000proposalExpireTime = 259200000 // 3 day: 259200000(ms)
}# Transaction reference block, default is "head", configure to "solid" can avoid TaPos error
# trx.reference.block = "head" // head;solid;# This property sets the number of milliseconds after the creation of the transaction that is expired, default value is 60000.
# trx.expiration.timeInMilliseconds = 60000vm = {supportConstant = trueminTimeRatio = 0.0maxTimeRatio = 5.0saveInternalTx = false# In rare cases, transactions that will be within the specified maximum execution time (default 10(ms)) are re-executed and packaged# longRunningTime = 10
}committee = {allowCreationOfContracts = 0 //mainnet:0 (reset by committee),test:1allowAdaptiveEnergy = 0 //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 portsendqueuelength = 1000 //max length of send queue}path = "" // absolute path of pluginserver = "" // target server address to receive event triggersdbconfig="" // dbname|username|passwordcontractParse = true,topics = [{triggerName = "block" // block trigger, the value can't be modifiedenable = falsetopic = "block" // plugin topic, the value could be modified},{triggerName = "transaction"enable = falsetopic = "transaction"},{triggerName = "contractevent"enable = falsetopic = "contractevent"},{triggerName = "contractlog"enable = falsetopic = "contractlog"},{triggerName = "solidity" // solidity block event trigger, the value can't be modifiedenable = true // the default value is truetopic = "solidity"},{triggerName = "solidityevent"enable = falsetopic = "solidityevent"},{triggerName = "soliditylog"enable = falsetopic = "soliditylog"}]filter = {fromblock = "" // the value could be "", "earliest" or a specified block number as the beginning of the queried rangetoblock = "" // the value could be "", "latest" or a specified block number as end of the queried rangecontractAddress = ["" // 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.]}
}
3、启动节点
nohup java -Xmx16g -XX:+HeapDumpOnOutOfMemoryError -jar FullNode.jar --witness -c config.conf &> /dev/null &
4、节点验证
~
查日志,检查节点运行情况
~