TRX节点部署

安装说明

安装版本: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、创建配置文件
~# mkdir /data/ && cd /data
~# vim config.json
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、节点验证
~# curl -X GET  http://127.0.0.1:8091/walletsolidity/getnowblock
查日志,检查节点运行情况
~# tail -100f logs/tron.log

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/808422.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数字化采购管理系统有什么作用?

数字化采购管理系统是一种以计算机技术为基础,用于管理和优化采购过程的信息系统,它的作用主要体现在以下几个方面: 1、优化采购流程:数字化采购管理系统可以帮助企业建立和优化采购流程,通过设定采购流程的各个环节和…

6.11物联网RK3399项目开发实录-驱动开发之定时器的使用(wulianjishu666)

嵌入式实战开发例程【珍贵收藏,开发必备】: 链接:https://pan.baidu.com/s/1tkDBNH9R3iAaHOG1Zj9q1Q?pwdt41u 定时器使用 前言 RK3399有 12 个 Timers (timer0-timer11),有 12 个 Secure Timers(stimer0~stimer11) 和 2 个 …

鸿蒙实战开发-如何实现标准化数据定义与描述的功能。

介绍 本示例主要使用ohos.data.uniformTypeDescriptor 展示了标准化数据定义与描述的功能,在新增预置媒体文件后,对媒体文件的utd标准类型获取、utd类型归属类型查询、获取文件对应的utd类型的默认图标、支持自定义数据类型等功能。 实现过程中还使用到…

编译安装nginx

nginx版本 安装组件 yum -y install openssl-devel pcre-devel zlib-devel ./configure --with-http_ssl_module && make && make installln -s /usr/local/nginx/sbin/nginx /usr/bin/nginx

【C++算法模板】背包九讲(上):01背包、完全背包、多重背包

文章目录 1)01背包1:二维数组2:一维数组 2)完全背包1:朴素做法2:公式优化3:再优化一维数组 3)多重背包1:朴素做法2:二进制优化3:单调队列优化 1&a…

AcWing-直方图中最大的矩形

131. 直方图中最大的矩形 - AcWing题库 所需知识:单调栈 思路:要求最大矩形,所以需要使矩形的高与长的乘积最大即可,依次从左到右将每一列当作中心列,向两边扩散,直到两边的高都小于该列的高,…

Vmware虚拟机Centos7固定IP地址

1、点击编辑-虚拟网络编辑器 2、点击更改设置、修改虚拟网络配置器并确认保存(见图) 这个子网IP和子网掩码的前三位需要一样网关的前三位需要和子网ip一致。 3、打开设置“网络和Internet”,点击“更改适配器选项”,点击适配器VM…

PP-LCNet:一种轻量级CPU卷积神经网络

PP-LCNet: A Lightweight CPU Convolutional Neural Network 最近看了一个新的分享,在图像分类的任务上表现良好,具有很高的实践意义。 论文: https://arxiv.org/pdf/2109.15099.pdf项目: https://github.com/PaddlePaddle/Padd…

JUC并发编程2(高并发,AQS)

JUC AQS核心 当有线程想获取锁时,其中一个线程使用CAS的将state变为1,将加锁线程设为自己。当其他线程来竞争锁时会,判断state是不是0,不是自己就把自己放入阻塞队列种(这个阻塞队列是用双向链表实现)&am…

探索ChatGPT-Plus:AI 助手全套开源解决方案

探索ChatGPT-Plus:AI 助手全套开源解决方案 ChatGPT-plus是一种新型的对话生成模型,它是在OpenAI的ChatGPT基础上进行了改进和优化的版本。ChatGPT-plus的出现引起了广泛关注,因为它在对话生成方面展现出了更加出色的表现和能力。在本文中&am…

蒙特卡洛方法【强化学习】

强化学习笔记 主要基于b站西湖大学赵世钰老师的【强化学习的数学原理】课程,个人觉得赵老师的课件深入浅出,很适合入门. 第一章 强化学习基本概念 第二章 贝尔曼方程 第三章 贝尔曼最优方程 第四章 值迭代和策略迭代 第五章 强化学习实践—GridWorld 第…

flutter嵌入原生view

一、iOS端(Swift实现) 1. 新建原生view(NativeView.swift) 🏷️ 需要继承FlutterPlatformView ,实现view()方法 import Foundation import Flutterclass NativeView: NSObject, FlutterPlatformView {private var _view: UIViewinit(frame: CGRect,view…

从文件夹(包含子文件夹)找到的包含特定关键词的 Word 文档复制到一个新的文件夹中

import os import glob import shutildef find_and_copy_docs(root_dir, keyword, target_dir):"""在指定的目录及其子目录下查找包含特定关键词的 Word 文档,并将它们复制到目标文件夹。参数:root_dir: 要搜索的根目录路径。keyword: 需要匹配的关键…

make/makefile学习

文章目录 1、makefile函数1.1、字符串替换函数:subst1.2、模式字符串替换函数:patsubst1.3、去空格函数:strip1.4、查找字符串函数:findstring 2、、:、?区别 1、makefile函数 1.1、字符串替换函数:subst …

TS中,PropType导入报错is a type and must be imported using a type-only import...

报错信息&#xff1a; PropType is a type and must be imported using a type-only import when verbatimModuleSyntax is enabled.ts(1484) (alias) type PropType<T> PropConstructor<T> | PropConstructor<T>[] import PropType问题分析&#xff1a; …

《QT实用小工具·二十》存款/贷款计算器

1、概述 源码放在文章末尾 该项目实现了用于存款和贷款的计算器的功能&#xff0c;如下图所示&#xff1a; 项目部分代码如下&#xff1a; #ifndef WIDGET_H #define WIDGET_H#include <QWidget>namespace Ui { class Widget; }class Widget : public QWidget {Q_OBJ…

构造函数,原型对象,对象实例 以及原型链的关系

当我们使用构造函数new的方式创建实例对象&#xff0c;此时构造函数的.prototype属性就是实例对象的原型对象&#xff0c;实例对象可以通过.__proto__来访问到原型对象&#xff0c;同时实例对象会继承原型对象的属性方法。 构造函数和原型对象的关系其实是被包含的关系&#x…

【电子通识】普通电阻、敏感电阻、可调电阻的种类和特点

电阻的作用 在【分立元件】理解电阻 中我们知道电阻是在电路中对电流产生阻碍作用的元件。电阻是电子产品中最基本、最常用的电子元件之一。 有各产品的电路板中基本都有电阻器&#xff0c;通常起限流、滤波或分压等作用。实际上&#xff0c;电阻器的种类很多&#xff0c;根据其…

中服云数字孪生平台 3.0 版全新升级!不仅更好看,而且更好用!

近日&#xff0c;中服云数字孪生平台迎来版本升级。中服云数字孪生平台 3.0 版&#xff0c;以物联网平台 数据中台为基础&#xff0c;以 2D/3D 为展示形式&#xff0c;旨在打造一个从设备数据到孪生应用的一站式数智化平台。 中服云数字孪生平台架构 新版升级 功能急速迭代 …

vue-router(进阶版)

前言 相信大家也是从我的路由初级篇那边过来的,没看的话也可以先从初级开始看,可以提高后续的理解能力 路由初级篇的链接 别的也就不多说了,直接开始 路由的主体构成 前言 之前的路由写法虽然可以使用但是会导致main.js过于臃肿,所以后续基本不会再这么使用了, 初始化路由 创…