Skip to content

Commit 2cb8799

Browse files
committed
feat(db): enrich fullNode command-line-options
1. support the --solidity for SolidityNode
1 parent 07dec0d commit 2cb8799

6 files changed

Lines changed: 13 additions & 29 deletions

File tree

common/src/main/java/org/tron/common/parameter/CommonParameter.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -205,6 +205,7 @@ public class CommonParameter {
205205
//If you are running a solidity node for java tron, this flag is set to true
206206
@Getter
207207
@Setter
208+
@Parameter(names = {"--solidity"}, description = "running a solidity node for java tron")
208209
public boolean solidityNode = false;
209210
@Getter
210211
@Setter

framework/build.gradle

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -219,13 +219,11 @@ startScripts.enabled = false
219219
run.enabled = false
220220
tasks.distTar.enabled = false
221221

222-
createScript(project, 'org.tron.program.SolidityNode', 'SolidityNode')
223222
createScript(project, 'org.tron.program.FullNode', 'FullNode')
224223
createScript(project, 'org.tron.program.KeystoreFactory', 'KeystoreFactory')
225224
createScript(project, 'org.tron.program.DBConvert', 'DBConvert')
226225

227226
def releaseBinary = hasProperty('binaryRelease') ? getProperty('binaryRelease') : 'true'
228-
def skipSolidity = hasProperty('skipSolidity') ? true : false
229227
def skipKeystore = hasProperty('skipKeystore') ? true : false
230228
def skipConvert = hasProperty('skipConvert') ? true : false
231229
def skipAll = hasProperty('skipAll') ? true : false
@@ -234,10 +232,6 @@ if (releaseBinary == 'true') {
234232
archives(binaryRelease('buildFullNodeJar', 'FullNode', 'org.tron.program.FullNode'))
235233
}
236234
if (!skipAll) {
237-
if (!skipSolidity) {
238-
artifacts {
239-
archives(binaryRelease('buildSolidityNodeJar', 'SolidityNode', 'org.tron.program.SolidityNode'))}
240-
}
241235
if (!skipKeystore) {
242236
artifacts {
243237
archives(binaryRelease('buildKeystoreFactoryJar', 'KeystoreFactory', 'org.tron.program.KeystoreFactory'))}

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -342,7 +342,7 @@ private static String getCommitIdAbbrev() {
342342

343343
private static Map<String, String[]> getOptionGroup() {
344344
String[] tronOption = new String[] {"version", "help", "shellConfFileName", "logbackPath",
345-
"eventSubscribe"};
345+
"eventSubscribe", "solidityNode"};
346346
String[] dbOption = new String[] {"outputDirectory"};
347347
String[] witnessOption = new String[] {"witness", "privateKey"};
348348
String[] vmOption = new String[] {"debug"};

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

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,12 +21,16 @@ public class FullNode {
2121
*/
2222
public static void main(String[] args) {
2323
ExitManager.initExceptionHandler();
24-
logger.info("Full node running.");
2524
Args.setParam(args, Constant.TESTNET_CONF);
2625
CommonParameter parameter = Args.getInstance();
2726

2827
LogService.load(parameter.getLogbackPath());
2928

29+
if (parameter.isSolidityNode()) {
30+
SolidityNode.run();
31+
return;
32+
}
33+
logger.info("Full node running.");
3034
if (Args.getInstance().isDebug()) {
3135
logger.info("in debug mode, it won't check energy time");
3236
} else {

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

Lines changed: 3 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -5,21 +5,17 @@
55
import java.util.concurrent.LinkedBlockingDeque;
66
import java.util.concurrent.atomic.AtomicLong;
77
import lombok.extern.slf4j.Slf4j;
8-
import org.apache.commons.lang3.BooleanUtils;
98
import org.springframework.beans.factory.support.DefaultListableBeanFactory;
109
import org.springframework.util.ObjectUtils;
1110
import org.tron.common.application.Application;
1211
import org.tron.common.application.ApplicationFactory;
1312
import org.tron.common.application.TronApplicationContext;
1413
import org.tron.common.client.DatabaseGrpcClient;
15-
import org.tron.common.exit.ExitManager;
1614
import org.tron.common.parameter.CommonParameter;
1715
import org.tron.common.prometheus.Metrics;
1816
import org.tron.core.ChainBaseManager;
19-
import org.tron.core.Constant;
2017
import org.tron.core.capsule.BlockCapsule;
2118
import org.tron.core.config.DefaultConfig;
22-
import org.tron.core.config.args.Args;
2319
import org.tron.core.db.Manager;
2420
import org.tron.core.exception.TronError;
2521
import org.tron.protos.Protocol.Block;
@@ -55,25 +51,12 @@ public SolidityNode(Manager dbManager) {
5551
/**
5652
* Start the SolidityNode.
5753
*/
58-
public static void main(String[] args) {
59-
ExitManager.initExceptionHandler();
54+
public static void run() {
6055
logger.info("Solidity node is running.");
61-
Args.setParam(args, Constant.TESTNET_CONF);
6256
CommonParameter parameter = CommonParameter.getInstance();
63-
64-
logger.info("index switch is {}",
65-
BooleanUtils.toStringOnOff(BooleanUtils
66-
.toBoolean(parameter.getStorage().getIndexSwitch())));
67-
6857
if (ObjectUtils.isEmpty(parameter.getTrustNodeAddr())) {
69-
logger.error("Trust node is not set.");
70-
return;
71-
}
72-
parameter.setSolidityNode(true);
73-
74-
if (parameter.isHelp()) {
75-
logger.info("Here is the help message.");
76-
return;
58+
throw new TronError(new IllegalArgumentException("Trust node is not set."),
59+
TronError.ErrCode.SOLID_NODE_INIT);
7760
}
7861
// init metrics first
7962
Metrics.init();

framework/src/test/java/org/tron/core/config/args/ArgsTest.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ public void destroy() {
5757

5858
@Test
5959
public void get() {
60-
Args.setParam(new String[] {"-c", Constant.TEST_CONF}, Constant.TESTNET_CONF);
60+
Args.setParam(new String[] {"-c", Constant.TEST_CONF, "--solidity"}, Constant.TESTNET_CONF);
6161

6262
CommonParameter parameter = Args.getInstance();
6363

@@ -127,6 +127,8 @@ public void get() {
127127
Assert.assertEquals(address,
128128
ByteArray.toHexString(Args.getLocalWitnesses()
129129
.getWitnessAccountAddress(CommonParameter.getInstance().isECKeyCryptoEngine())));
130+
131+
Assert.assertTrue(parameter.isSolidityNode());
130132
}
131133

132134
@Test

0 commit comments

Comments
 (0)