Skip to content

Commit c99dc6d

Browse files
committed
fix blockchain
1 parent f66a2c9 commit c99dc6d

File tree

5 files changed

+57
-56
lines changed

5 files changed

+57
-56
lines changed

README.md

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -47,9 +47,9 @@ TRON is a product of Web 4.0 and the decentralized internet of next generation.
4747
File path: `<your workspace>/java-tron/src/main/resources/tron.conf`
4848

4949
```yml
50-
kafka {
51-
host = "127.0.0.1" # your Kafka's host
52-
port = ":9092" # your Kafka's port
50+
nodeip {
51+
host = "127.0.0.1" # your leader-node host
52+
port = ":500" # your leader-node port
5353
}
5454
```
5555

@@ -97,6 +97,12 @@ IDEA:
9797

9898
![help](https://github.com/tronprotocol/wiki/blob/master/images/commands/send.gif)
9999

100+
**getmessage**
101+
102+
| Description | Example |
103+
| --- | --- |
104+
|get transaction and block| getmessage|
105+
100106
**printblockchain**
101107

102108
| Description | Example |

src/main/java/org/tron/command/Cli.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -46,13 +46,14 @@ public void run(Peer peer) {
4646
new GetBalanceCommand().execute(peer, cmdParameters);
4747
break;
4848
case "send":
49-
new SendCommand().execute(peer, cmdParameters);
49+
new ConsensusCommand().putClient(cmdParameters);
50+
//new SendCommand().execute(peer, cmdParameters);
5051
break;
5152
case "printblockchain":
5253
new PrintBlockchainCommand().execute(peer, cmdParameters);
5354
break;
5455
case "consensus":
55-
new ConsensusCommand().server();
56+
//new ConsensusCommand().server();
5657
break;
5758
case "getmessage":
5859
new ConsensusCommand().getClient(peer,cmdParameters);
@@ -68,7 +69,7 @@ public void run(Peer peer) {
6869
new ConsensusCommand().execute(peer, cmdParameters);
6970
break;
7071
case "loadblock":
71-
new ConsensusCommand().loadBlock(peer);
72+
//new ConsensusCommand().loadBlock(peer);
7273
break;
7374
case "help":
7475
default:

src/main/java/org/tron/command/SendCommand.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,7 @@ public void usage() {
7575
System.out.println("");
7676
}
7777

78+
7879
@Override
7980
public boolean check(String[] parameters) {
8081
if (parameters.length < 2) {

src/main/java/org/tron/consensus/client/Client.java

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -45,12 +45,12 @@ public class Client {
4545
client.serializer().register(PutCommand.class);
4646
client.serializer().register(GetQuery.class);
4747

48-
/*Collection<Address> cluster = Arrays.asList(
49-
new Address("192.168.0.109", 5000)
48+
Collection<Address> cluster = Arrays.asList(
49+
new Address("192.168.0.100", 5000)
5050
);
5151
CompletableFuture<CopycatClient> future = client.connect(cluster);
52-
future.join();*/
53-
InetAddress localhost = null;
52+
future.join();
53+
/*InetAddress localhost = null;
5454
try {
5555
localhost = InetAddress.getLocalHost();
5656
Collection<Address> cluster = Arrays.asList(
@@ -61,7 +61,7 @@ public class Client {
6161
future.join();
6262
} catch (UnknownHostException e) {
6363
e.printStackTrace();
64-
}
64+
}*/
6565
}
6666

6767
public static CopycatClient getClient() {
@@ -107,7 +107,6 @@ public static void putMessage1(Message message) {
107107
Object block = client.submit(new GetQuery(block_key)).join();
108108
try {
109109
if (!(block == null)) {
110-
System.out.println("1234");
111110
f[0] = true;
112111
i = i + 1;
113112
} else {

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

Lines changed: 38 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -63,60 +63,54 @@ public class Blockchain {
6363
*/
6464
public Blockchain(String address, String type) {
6565
if (dbExists()) {
66-
blockDB = new LevelDbDataSourceImpl(BLOCK_DB_NAME);
67-
blockDB.initDB();
68-
69-
this.lastHash = blockDB.getData(LAST_HASH);
70-
this.currentHash = this.lastHash;
71-
72-
logger.info("load blockchain");
73-
} else {
74-
blockDB = new LevelDbDataSourceImpl(BLOCK_DB_NAME);
75-
blockDB.initDB();
76-
77-
InputStream is = getClass().getClassLoader().getResourceAsStream("genesis.json");
78-
String json = null;
79-
try {
80-
json = new String(ByteStreams.toByteArray(is));
81-
} catch (IOException e) {
82-
e.printStackTrace();
83-
}
66+
logger.info("blockchain already exists.");
67+
System.exit(0);
68+
}
8469

85-
GenesisBlockLoader genesisBlockLoader = JSON.parseObject(json, GenesisBlockLoader.class);
70+
blockDB = new LevelDbDataSourceImpl(BLOCK_DB_NAME);
71+
blockDB.initDB();
8672

87-
Iterator iterator = genesisBlockLoader.getTransaction().entrySet().iterator();
73+
InputStream is = getClass().getClassLoader().getResourceAsStream("genesis.json");
74+
String json = null;
75+
try {
76+
json = new String(ByteStreams.toByteArray(is));
77+
} catch (IOException e) {
78+
e.printStackTrace();
79+
}
8880

89-
List<Transaction> transactions = new ArrayList<>();
81+
GenesisBlockLoader genesisBlockLoader = JSON.parseObject(json, GenesisBlockLoader.class);
9082

91-
while (iterator.hasNext()) {
92-
Map.Entry entry = (Map.Entry) iterator.next();
93-
String key = (String) entry.getKey();
94-
Integer value = (Integer) entry.getValue();
83+
Iterator iterator = genesisBlockLoader.getTransaction().entrySet().iterator();
9584

96-
Transaction transaction = TransactionUtils.newCoinbaseTransaction(key, genesisCoinbaseData, value);
97-
transactions.add(transaction);
98-
}
85+
List<Transaction> transactions = new ArrayList<>();
9986

100-
Block genesisBlock = BlockUtils.newGenesisBlock(transactions);
87+
while (iterator.hasNext()) {
88+
Map.Entry entry = (Map.Entry) iterator.next();
89+
String key = (String) entry.getKey();
90+
Integer value = (Integer) entry.getValue();
10191

102-
blockDB.putData(genesisBlock.getBlockHeader().getHash().toByteArray(),
103-
genesisBlock.toByteArray());
104-
byte[] lastHash = genesisBlock.getBlockHeader()
105-
.getHash()
106-
.toByteArray();
107-
blockDB.putData(LAST_HASH, lastHash);
92+
Transaction transaction = TransactionUtils.newCoinbaseTransaction(key, genesisCoinbaseData, value);
93+
transactions.add(transaction);
94+
}
10895

109-
this.lastHash = lastHash;
110-
this.currentHash = lastHash;
96+
Block genesisBlock = BlockUtils.newGenesisBlock(transactions);
11197

112-
// put message to consensus
113-
if (type.equals(Peer.PEER_SERVER)) {
114-
String value = ByteArray.toHexString(genesisBlock.toByteArray());
115-
Message message = new Message(value, Type.BLOCK);
116-
Client.putMessage1(message); // consensus: put message GenesisBlock
117-
}
118-
logger.info("new blockchain");
98+
this.lastHash = genesisBlock.getBlockHeader().getHash().toByteArray();
99+
this.currentHash = this.lastHash;
100+
101+
blockDB.putData(genesisBlock.getBlockHeader().getHash().toByteArray(),
102+
genesisBlock.toByteArray());
103+
byte[] lastHash = genesisBlock.getBlockHeader()
104+
.getHash()
105+
.toByteArray();
106+
blockDB.putData(LAST_HASH, lastHash);
107+
// put message to consensus
108+
if (type.equals(Peer.PEER_SERVER)) {
109+
String value = ByteArray.toHexString(genesisBlock.toByteArray());
110+
Message message = new Message(value, Type.BLOCK);
111+
Client.putMessage1(message); // consensus: put message GenesisBlock
119112
}
113+
logger.info("new blockchain");
120114
}
121115

122116
/**

0 commit comments

Comments
 (0)