Skip to content

Commit 3fa8c5c

Browse files
authored
Merge branch 'release_v4.7.2' into rate-limit
2 parents 50082a1 + 6db2db9 commit 3fa8c5c

20 files changed

Lines changed: 191 additions & 76 deletions

File tree

DownloadLinks.sh

Lines changed: 0 additions & 21 deletions
This file was deleted.

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

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -411,6 +411,11 @@ public class CommonParameter {
411411
public GenesisBlock genesisBlock;
412412
@Getter
413413
@Setter
414+
@Parameter(names = {"--p2p-disable"}, description = "Switch for p2p module initialization. "
415+
+ "(defalut: false)", arity = 1)
416+
public boolean p2pDisable = false;
417+
@Getter
418+
@Setter
414419
public List<InetSocketAddress> activeNodes;
415420
@Getter
416421
@Setter

framework/src/main/java/org/tron/common/application/ApplicationImpl.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ public void initServices(CommonParameter parameter) {
5757
* start up the app.
5858
*/
5959
public void startup() {
60-
if (!Args.getInstance().isSolidityNode()) {
60+
if ((!Args.getInstance().isSolidityNode()) && (!Args.getInstance().isP2pDisable())) {
6161
tronNetService.start();
6262
}
6363
consensusService.start();
@@ -67,7 +67,7 @@ public void startup() {
6767
@Override
6868
public void shutdown() {
6969
logger.info("******** start to shutdown ********");
70-
if (!Args.getInstance().isSolidityNode()) {
70+
if (!Args.getInstance().isSolidityNode() && (!Args.getInstance().p2pDisable)) {
7171
tronNetService.close();
7272
}
7373
consensusService.stop();

framework/src/main/java/org/tron/core/Wallet.java

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2639,13 +2639,15 @@ public TransactionInfoList getTransactionInfoByBlockNum(long blockNum) {
26392639

26402640
public NodeList listNodes() {
26412641
NodeList.Builder nodeListBuilder = NodeList.newBuilder();
2642-
TronNetService.getP2pService().getConnectableNodes().forEach(node -> {
2643-
nodeListBuilder.addNodes(Node.newBuilder().setAddress(
2644-
Address.newBuilder()
2645-
.setHost(ByteString
2646-
.copyFrom(ByteArray.fromString(node.getHost())))
2647-
.setPort(node.getPort())));
2648-
});
2642+
if (!Args.getInstance().p2pDisable) {
2643+
TronNetService.getP2pService().getConnectableNodes().forEach(node -> {
2644+
nodeListBuilder.addNodes(Node.newBuilder().setAddress(
2645+
Address.newBuilder()
2646+
.setHost(ByteString
2647+
.copyFrom(ByteArray.fromString(node.getHost())))
2648+
.setPort(node.getPort())));
2649+
});
2650+
}
26492651
return nodeListBuilder.build();
26502652
}
26512653

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -223,6 +223,7 @@ public static void clearParam() {
223223
PARAMETER.memoFee = 0;
224224
PARAMETER.rateLimiterGlobalQps = 3000;
225225
PARAMETER.rateLimiterGlobalIpQps = 30;
226+
PARAMETER.p2pDisable = false;
226227
}
227228

228229
/**

framework/src/main/java/org/tron/core/db/Manager.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -717,7 +717,7 @@ private void initAutoStop() {
717717
exitCount, blockTime));
718718
}
719719

720-
if (exitHeight == headNum) {
720+
if (exitHeight == headNum && (!Args.getInstance().isP2pDisable())) {
721721
logger.info("Auto-stop hit: shutDownBlockHeight: {}, currentHeaderNum: {}, exit now",
722722
exitHeight, headNum);
723723
System.exit(0);

framework/src/main/java/org/tron/core/services/RpcApiService.java

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1736,14 +1736,7 @@ public void getTransactionCountByBlockNum(NumberMessage request,
17361736

17371737
@Override
17381738
public void listNodes(EmptyMessage request, StreamObserver<NodeList> responseObserver) {
1739-
NodeList.Builder nodeListBuilder = NodeList.newBuilder();
1740-
TronNetService.getP2pService().getConnectableNodes().forEach(node -> {
1741-
nodeListBuilder.addNodes(Node.newBuilder().setAddress(
1742-
Address.newBuilder()
1743-
.setHost(ByteString.copyFrom(ByteArray.fromString(node.getHost())))
1744-
.setPort(node.getPort())));
1745-
});
1746-
responseObserver.onNext(nodeListBuilder.build());
1739+
responseObserver.onNext(wallet.listNodes());
17471740
responseObserver.onCompleted();
17481741
}
17491742

framework/src/main/java/org/tron/core/services/filter/HttpApiAccessFilter.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package org.tron.core.services.filter;
22

33
import com.alibaba.fastjson.JSONObject;
4+
import java.net.URI;
45
import java.util.List;
56
import javax.servlet.Filter;
67
import javax.servlet.FilterChain;
@@ -58,6 +59,7 @@ private boolean isDisabled(String endpoint) {
5859
boolean disabled = false;
5960

6061
try {
62+
endpoint = URI.create(endpoint).normalize().toString();
6163
List<String> disabledApiList = CommonParameter.getInstance().getDisabledApiList();
6264
if (!disabledApiList.isEmpty()) {
6365
disabled = disabledApiList.contains(endpoint.split("/")[2].toLowerCase());

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

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@ public class ArgsTest {
1313

1414
@Before
1515
public void init() {
16-
Args.setParam(new String[]{"--output-directory", "output-directory", "--debug"},
17-
Constant.TEST_CONF);
16+
Args.setParam(new String[]{"--output-directory", "output-directory", "--p2p-disable", "true",
17+
"--debug"}, Constant.TEST_CONF);
1818
}
1919

2020
@After
@@ -32,5 +32,6 @@ public void testConfig() {
3232
Assert.assertEquals(Args.getInstance().getBlockCacheTimeout(), 60);
3333
Assert.assertEquals(Args.getInstance().getRateLimiterGlobalQps(), 3000);
3434
Assert.assertEquals(Args.getInstance().getRateLimiterGlobalIpQps(), 30);
35+
Assert.assertEquals(Args.getInstance().p2pDisable, true);
3536
}
3637
}

framework/src/test/java/org/tron/common/utils/PublicMethod.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22

33
import com.google.protobuf.ByteString;
44
import java.math.BigInteger;
5+
import java.util.Random;
6+
57
import org.tron.api.GrpcAPI;
68
import org.tron.api.WalletGrpc;
79
import org.tron.common.crypto.ECKey;
@@ -102,4 +104,12 @@ public static GrpcAPI.Return broadcastTransaction(
102104
}
103105
return response;
104106
}
107+
108+
public static int chooseRandomPort(int min, int max) {
109+
return new Random().nextInt(max - min + 1) + min;
110+
}
111+
112+
public static int chooseRandomPort() {
113+
return new Random().nextInt(65530 - 1024) + 1024;
114+
}
105115
}

0 commit comments

Comments
 (0)