Skip to content

Commit 3d292ec

Browse files
authored
Merge pull request #901 from tronprotocol/develop
merge from develop
2 parents ac4f33a + f4282f7 commit 3d292ec

File tree

148 files changed

+10451
-6179
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

148 files changed

+10451
-6179
lines changed

.travis.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ cache:
1414
script:
1515
- sh tron.sh
1616
- "./gradlew build"
17-
- sonar-scanner
17+
1818
skip_build:
1919
- README.md:
2020
- LICENSE

README.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -293,6 +293,20 @@ cd build/libs
293293
java -jar java-tron.jar
294294
```
295295

296+
### Running a Solidity Node
297+
298+
* Use the executable JAR
299+
300+
```bash
301+
cp src/main/resources/config.conf build/libs
302+
cd build/libs
303+
304+
edit the file config.conf
305+
modify the 'trustNode', it should be a pair of ip and rpc port of a full node
306+
307+
java -jar SolidityNode.jar -c config.conf
308+
```
309+
296310
### Running a Super Node
297311

298312
* Use the executable JAR(Recommend the way)

build.gradle

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -153,6 +153,7 @@ task lint(type: Checkstyle) {
153153
source 'src'
154154
include '**/*.java'
155155
exclude 'main/gen/**'
156+
exclude 'test/**'
156157
// empty classpath
157158
classpath = files()
158159
//Failing the build
@@ -271,4 +272,4 @@ def binaryRelease(taskName, jarName, mainClass) {
271272
artifacts {
272273
archives(binaryRelease('buildSolidityNodeJar', 'SolidityNode', 'org.tron.program.SolidityNode'),
273274
binaryRelease('buildFullNodeJar', 'FullNode', 'org.tron.program.FullNode'))
274-
}
275+
}

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ private void closeConnection() {
117117
try {
118118
p2pNode.close();
119119
} catch (Exception e) {
120-
System.err.println("faild to close p2pNode. " + e);
120+
System.err.println("failed to close p2pNode. " + e);
121121
} finally {
122122
System.err.println("******** end to shutdown connection ********");
123123
}

src/main/java/org/tron/common/crypto/ECKey.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1054,7 +1054,8 @@ public boolean equals(Object o) {
10541054
if (this == o) {
10551055
return true;
10561056
}
1057-
if (o == null || !(o instanceof ECKey)) {
1057+
1058+
if (o == null || getClass() != o.getClass()) {
10581059
return false;
10591060
}
10601061

src/main/java/org/tron/common/overlay/discover/DiscoverTask.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ public synchronized void discover(byte[] nodeId, int round, List<Node> prevTried
6262
try {
6363
nodeManager.getNodeHandler(n).sendFindNode(nodeId);
6464
tried.add(n);
65-
Thread.sleep(50);
65+
wait(50);
6666
} catch (InterruptedException e) {
6767
} catch (Exception ex) {
6868
logger.error("Unexpected Exception " + ex, ex);

src/main/java/org/tron/common/overlay/discover/NodeHandler.java

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -80,14 +80,13 @@ public enum State {
8080
}
8181

8282
Node node;
83-
NodeManager nodeManager;
84-
private NodeStatistics nodeStatistics;
85-
8683
State state;
87-
boolean waitForPong = false;
88-
long pingSent;
89-
int pingTrials = 3;
90-
NodeHandler replaceCandidate;
84+
private NodeManager nodeManager;
85+
private NodeStatistics nodeStatistics;
86+
private NodeHandler replaceCandidate;
87+
private volatile boolean waitForPong = false;
88+
private volatile int pingTrials = 3;
89+
private long pingSent;
9190

9291
public NodeHandler(Node node, NodeManager nodeManager) {
9392
this.node = node;
@@ -175,7 +174,9 @@ void handlePing(PingMessage msg) {
175174
if (!nodeManager.table.getNode().equals(node)) {
176175
sendPong();
177176
}
178-
if (state.equals(State.NonActive) || state.equals(State.Dead)) {
177+
if (msg.getVersion() != Args.getInstance().getNodeP2pVersion()){
178+
changeState(State.NonActive);
179+
}else if (state.equals(State.NonActive) || state.equals(State.Dead)) {
179180
changeState(State.Discovered);
180181
}
181182
}
@@ -228,7 +229,7 @@ void handleTimedOut() {
228229
}
229230

230231
void sendPing() {
231-
Message ping = new PingMessage(nodeManager.table.getNode(), getNode());
232+
Message ping = new PingMessage(nodeManager.getPublicHomeNode(), getNode());
232233
waitForPong = true;
233234
pingSent = System.currentTimeMillis();
234235
sendMessage(ping);
@@ -262,7 +263,7 @@ void sendNeighbours(List<Node> neighbours) {
262263
}
263264

264265
void sendFindNode(byte[] target) {
265-
Message findNode = new FindNodeMessage(node, target);
266+
Message findNode = new FindNodeMessage(nodeManager.getPublicHomeNode(), target);
266267
sendMessage(findNode);
267268
getNodeStatistics().discoverOutFind.add();
268269
}

src/main/java/org/tron/common/overlay/discover/NodeManager.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -216,7 +216,7 @@ private void trimTable() {
216216
}
217217
}
218218

219-
boolean hasNodeHandler(Node n) {
219+
public boolean hasNodeHandler(Node n) {
220220
return nodeHandlerMap.containsKey(getKey(n));
221221
}
222222

src/main/java/org/tron/common/overlay/discover/NodeStatistics.java

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -93,11 +93,12 @@ private int getSessionFairReputation() {
9393
int discoverReput = 0;
9494

9595
discoverReput +=
96-
min(discoverInPong.get(), 1) * (discoverOutPing.get() == discoverInPong.get() ? 51 : 1);
97-
discoverReput += min(discoverInNeighbours.get(), 10) * 10;
98-
discoverReput += min(discoverInFind.get(), 50);
96+
min(discoverInPong.get(), 1) * (discoverOutPing.get() == discoverInPong.get() ? 50 : 1);
9997

100-
//discoverReput += 20 / (min((int)discoverMessageLatency.getAvrg(), 1) / 100);
98+
discoverReput +=
99+
min(discoverInNeighbours.get(), 1) * (discoverOutFind.get() == discoverInNeighbours.get() ? 50 : 1);
100+
101+
discoverReput += (int)discoverMessageLatency.getAvrg() == 0 ? 0 : 1000 / discoverMessageLatency.getAvrg();
101102

102103
int reput = 0;
103104
reput += p2pHandShake.get() > 0 ? 20 : 0;
@@ -273,7 +274,7 @@ public double getSum() {
273274
}
274275

275276
public double getAvrg() {
276-
return getSum() / getCount();
277+
return count == 0 ? 0 : sum / count;
277278
}
278279

279280
public String getName() {

src/main/java/org/tron/common/overlay/discover/message/FindNodeMessage.java

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,13 +14,9 @@ public class FindNodeMessage extends Message {
1414

1515
private Discover.FindNeighbours findNeighbours;
1616

17-
public FindNodeMessage(byte[] data) {
17+
public FindNodeMessage(byte[] data) throws Exception{
1818
super(Message.FINE_PEERS, data);
19-
try {
20-
this.findNeighbours = Discover.FindNeighbours.parseFrom(data);
21-
} catch (InvalidProtocolBufferException e) {
22-
logger.debug(e.getMessage(), e);
23-
}
19+
this.findNeighbours = Discover.FindNeighbours.parseFrom(data);
2420
}
2521

2622
public FindNodeMessage(Node from, byte[] targetId) {

0 commit comments

Comments
 (0)