Skip to content

Commit 64b316a

Browse files
authored
Merge branch 'develop' into fix_unittest_fork
2 parents 49a4e66 + 827869f commit 64b316a

10 files changed

Lines changed: 180 additions & 209 deletions

File tree

src/main/java/org/tron/core/Constant.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,11 +27,12 @@ public class Constant {
2727
public static final String BLOCK_DB_NAME = "block_data";
2828
public static final String TRANSACTION_DB_NAME = "transaction_data";
2929

30-
//config
31-
public static final String NORMAL = "normal";
32-
public static final String TEST = "test";
33-
public static final String NORMAL_CONF = "config.conf";
30+
//config for testnet, mainnet, beta
31+
public static final String TESTNET_CONF = "config.conf";
32+
33+
//config for junit test
3434
public static final String TEST_CONF = "config-test.conf";
35+
3536
public static final String DATABASE_DIR = "storage.directory";
3637

3738
public static final byte ADD_PRE_FIX_BYTE_MAINNET = (byte) 0xa1; //a1 + address ,a1 is version

src/main/java/org/tron/core/config/Configuration.java

Lines changed: 26 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,15 @@
1919
package org.tron.core.config;
2020

2121
import static org.apache.commons.lang3.StringUtils.isBlank;
22+
import static org.apache.commons.lang3.StringUtils.isNoneBlank;
2223

2324
import com.typesafe.config.ConfigFactory;
25+
2426
import java.io.File;
27+
import java.io.FileNotFoundException;
28+
2529
import lombok.extern.slf4j.Slf4j;
30+
import org.springframework.util.ResourceUtils;
2631

2732
@Slf4j
2833
public class Configuration {
@@ -32,29 +37,36 @@ public class Configuration {
3237
/**
3338
* Get configuration by a given path.
3439
*
35-
* @param configurationPath path to configuration file
40+
* @param confFileName path to configuration file
3641
* @return loaded configuration
3742
*/
38-
public static com.typesafe.config.Config getByPath(final String configurationPath) {
39-
if (isBlank(configurationPath)) {
40-
throw new IllegalArgumentException("Configuration path is required!");
43+
public static com.typesafe.config.Config getByFileName(final String shellConfFileName, final String confFileName) {
44+
if (isNoneBlank(shellConfFileName)) {
45+
File shellConfFile = new File(shellConfFileName);
46+
resolveConfigFile(shellConfFileName, shellConfFile);
47+
return config;
4148
}
4249

43-
File confFile = new File(configurationPath);
44-
if (confFile.exists()) {
45-
config = ConfigFactory.parseFile(new File(configurationPath));
50+
if (isBlank(confFileName)) {
51+
throw new IllegalArgumentException("Configuration path is required!");
4652
} else {
47-
config = ConfigFactory.load(configurationPath);
53+
File confFile = new File(confFileName);
54+
resolveConfigFile(confFileName, confFile);
55+
return config;
4856
}
49-
return config;
5057
}
5158

52-
public static com.typesafe.config.Config getByFile(final File confFile) {
53-
if (!confFile.exists()) {
54-
throw new IllegalArgumentException("Configuration path is required!");
59+
private static void resolveConfigFile(String fileName, File confFile) {
60+
if (confFile.exists()) {
61+
config = ConfigFactory.parseFile(confFile);
62+
} else {
63+
try {
64+
ResourceUtils.getFile("classpath:" + fileName);
65+
} catch (FileNotFoundException e) {
66+
throw new IllegalArgumentException("Configuration path is required! No Such file " + fileName);
67+
}
68+
config = ConfigFactory.load(fileName);
5569
}
56-
config = ConfigFactory.parseFile(confFile);
57-
return config;
5870
}
5971
}
6072

src/main/java/org/tron/core/config/args/Args.java

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ public class Args {
4949
private static final Args INSTANCE = new Args();
5050

5151
@Parameter(names = {"-c", "--config"}, description = "Config File")
52-
private String confFile = "";
52+
private String shellConfFileName = "";
5353

5454
@Parameter(names = {"-d", "--output-directory"}, description = "Directory")
5555
private String outputDirectory = "output-directory";
@@ -198,15 +198,9 @@ public static void clearParam() {
198198
/**
199199
* set parameters.
200200
*/
201-
public static void setParam(final String[] args, final String configFilePath) {
202-
Config config;
201+
public static void setParam(final String[] args, final String confFileName) {
203202
JCommander.newBuilder().addObject(INSTANCE).build().parse(args);
204-
File confFile = new File(INSTANCE.confFile);
205-
if (confFile.exists()) {
206-
config = Configuration.getByFile(confFile);
207-
} else {
208-
config = Configuration.getByPath(configFilePath);
209-
}
203+
Config config = Configuration.getByFileName(INSTANCE.shellConfFileName, confFileName);
210204
if (StringUtils.isNoneBlank(INSTANCE.privateKey)) {
211205
INSTANCE.setLocalWitnesses(new LocalWitnesses(INSTANCE.privateKey));
212206
logger.debug("Got privateKey from cmd");

src/main/java/org/tron/program/FullNode.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ public class FullNode {
1919
*/
2020
public static void main(String[] args) throws InterruptedException {
2121
logger.info("Full node running.");
22-
Args.setParam(args, Constant.NORMAL_CONF);
22+
Args.setParam(args, Constant.TESTNET_CONF);
2323
Args cfgArgs = Args.getInstance();
2424

2525
ApplicationContext context = new AnnotationConfigApplicationContext(DefaultConfig.class);

src/main/java/org/tron/program/SolidityNode.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ private void start(Args cfgArgs) {
9090
*/
9191
public static void main(String[] args) throws InterruptedException {
9292
logger.info("Solidity node running.");
93-
Args.setParam(args, Constant.NORMAL_CONF);
93+
Args.setParam(args, Constant.TESTNET_CONF);
9494
Args cfgArgs = Args.getInstance();
9595

9696
if (StringUtils.isEmpty(cfgArgs.getTrustNodeAddr())) {
Lines changed: 137 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,137 @@
1+
net {
2+
# type = mainnet
3+
type = testnet
4+
}
5+
6+
storage {
7+
# Directory for storing persistent data
8+
directory = "database"
9+
}
10+
11+
node.discovery = {
12+
enable = true
13+
persist = true
14+
bind.ip = ""
15+
external.ip = null
16+
}
17+
18+
node {
19+
# trust node for solidity node
20+
trustNode = "47.93.9.236:50051"
21+
22+
listen.port = 18888
23+
24+
connection.timeout = 2
25+
26+
active = [
27+
# Sample entries:
28+
# { url = "enode://<hex nodeID>@hostname.com:30303" }
29+
# {
30+
# ip = hostname.com
31+
# port = 30303
32+
# nodeId = e437a4836b77ad9d9ffe73ee782ef2614e6d8370fcf62191a6e488276e23717147073a7ce0b444d485fff5a0c34c4577251a7a990cf80d8542e21b95aa8c5e6c
33+
# }
34+
"47.93.9.236:18888",
35+
"47.93.33.201:18888",
36+
"123.56.10.6:18888",
37+
"39.107.80.135:18888",
38+
"47.93.184.2:18888"
39+
]
40+
41+
maxActiveNodes = 30
42+
43+
p2p {
44+
version = 102 # 47: testnet; 101: debug
45+
}
46+
47+
}
48+
49+
sync {
50+
node.count = 30
51+
}
52+
53+
seed.node = {
54+
# List of the seed nodes
55+
# Seed nodes are stable full nodes
56+
# example:
57+
# ip.list = [
58+
# "ip:port",
59+
# "ip:port"
60+
# ]
61+
ip.list = [
62+
"47.93.9.236:18888",
63+
"47.93.33.201:18888",
64+
"123.56.10.6:18888",
65+
"39.107.80.135:18888",
66+
"47.93.184.2:18888"
67+
]
68+
}
69+
70+
genesis.block = {
71+
# Reserve balance
72+
assets = [
73+
# the account of foundation.
74+
{
75+
accountName = "Zion"
76+
accountType = "AssetIssue"
77+
address = "a055ddae14564f82d5b94c7a131b5fcfd31ad6515a"
78+
balance = "25000000000000000"
79+
},
80+
81+
# the account of payment
82+
{
83+
accountName = "Sun"
84+
accountType = "AssetIssue"
85+
address = "a04948c2e8a756d9437037dcd8c7e0c73d560ca38d"
86+
balance = "10000000000000000"
87+
},
88+
89+
# the account of coin burn
90+
{
91+
accountName = "Blackhole"
92+
accountType = "AssetIssue"
93+
address = "a0548794500882809695a8a687866e76d4271a146a"
94+
balance = "-9223372036854775808"
95+
}
96+
]
97+
98+
witnesses = [
99+
{
100+
address: A00BE88A918D74D0DFD71DC84BD4ABF036D0562991
101+
url = "http://Mercury.org",
102+
voteCount = 105
103+
},
104+
{
105+
address: A0BAFB56091591790E00AA05EADDCC7DC1474B5D4B
106+
url = "http://Venus.org",
107+
voteCount = 104
108+
},
109+
{
110+
address: A03ED7D77D2EB807375A34E1A0043C5BA7E8926265
111+
url = "http://Earth.org",
112+
voteCount = 103
113+
},
114+
{
115+
address: A0F2FB1E7E5DB5C29D6E25E1AA00F54760BD58BBAB
116+
url = "http://Mars.org",
117+
voteCount = 102
118+
},
119+
{
120+
address: A0E4A9010332BF2BCDF5155841B24348D1E292CF5B
121+
url = "http://Jupiter.org",
122+
voteCount = 101
123+
}
124+
]
125+
126+
timestamp = "0" #2017-8-26 12:00:00
127+
128+
parentHash = "0x0000000000000000000000000000000000000000000000000000000000000000"
129+
}
130+
131+
localwitness = [
132+
133+
]
134+
135+
block = {
136+
needSyncCheck = true # first node : false, other : true
137+
}

0 commit comments

Comments
 (0)