mirror of
https://github.com/fluencelabs/jabci
synced 2025-04-25 06:42:20 +00:00
WIP
This commit is contained in:
parent
5a2b46caad
commit
fe93c3a0d1
@ -23,33 +23,22 @@
|
|||||||
*/
|
*/
|
||||||
package com.github.jtendermint.jabci;
|
package com.github.jtendermint.jabci;
|
||||||
|
|
||||||
|
import com.github.jtendermint.jabci.api.*;
|
||||||
|
import com.github.jtendermint.jabci.socket.ExceptionListener.Event;
|
||||||
|
import com.github.jtendermint.jabci.socket.TSocket;
|
||||||
|
import com.github.jtendermint.jabci.types.*;
|
||||||
|
import com.google.protobuf.ByteString;
|
||||||
|
|
||||||
import java.math.BigInteger;
|
import java.math.BigInteger;
|
||||||
import java.nio.ByteBuffer;
|
import java.nio.ByteBuffer;
|
||||||
import java.nio.charset.Charset;
|
import java.nio.charset.Charset;
|
||||||
|
|
||||||
import com.github.jtendermint.jabci.api.CodeType;
|
|
||||||
import com.github.jtendermint.jabci.api.ICheckTx;
|
|
||||||
import com.github.jtendermint.jabci.api.ICommit;
|
|
||||||
import com.github.jtendermint.jabci.api.IDeliverTx;
|
|
||||||
import com.github.jtendermint.jabci.api.IQuery;
|
|
||||||
import com.github.jtendermint.jabci.socket.ExceptionListener.Event;
|
|
||||||
import com.github.jtendermint.jabci.socket.TSocket;
|
|
||||||
import com.github.jtendermint.jabci.types.RequestCheckTx;
|
|
||||||
import com.github.jtendermint.jabci.types.RequestCommit;
|
|
||||||
import com.github.jtendermint.jabci.types.RequestDeliverTx;
|
|
||||||
import com.github.jtendermint.jabci.types.RequestQuery;
|
|
||||||
import com.github.jtendermint.jabci.types.ResponseCheckTx;
|
|
||||||
import com.github.jtendermint.jabci.types.ResponseCommit;
|
|
||||||
import com.github.jtendermint.jabci.types.ResponseDeliverTx;
|
|
||||||
import com.github.jtendermint.jabci.types.ResponseQuery;
|
|
||||||
import com.google.protobuf.ByteString;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Implements a sample counter app. every tx-data must be bigger than the current amount of tx
|
* Implements a sample counter app. every tx-data must be bigger than the current amount of tx
|
||||||
*
|
*
|
||||||
* @author wolfposd
|
* @author wolfposd
|
||||||
*/
|
*/
|
||||||
public final class JavaCounter implements IDeliverTx, ICheckTx, ICommit, IQuery {
|
public final class JavaCounter implements IDeliverTx, ICheckTx, ICommit, IQuery, IBeginBlock {
|
||||||
|
|
||||||
private int hashCount = 0;
|
private int hashCount = 0;
|
||||||
private int txCount = 0;
|
private int txCount = 0;
|
||||||
@ -154,13 +143,25 @@ public final class JavaCounter implements IDeliverTx, ICheckTx, ICommit, IQuery
|
|||||||
switch (query) {
|
switch (query) {
|
||||||
case "hash":
|
case "hash":
|
||||||
return ResponseQuery.newBuilder().setCode(CodeType.OK)
|
return ResponseQuery.newBuilder().setCode(CodeType.OK)
|
||||||
.setValue(ByteString.copyFrom(("" + hashCount).getBytes(Charset.forName("UTF-8")))).build();
|
.setValue(ByteString.copyFrom(("" + hashCount).getBytes(Charset.forName("UTF-8")))).build();
|
||||||
case "tx":
|
case "tx":
|
||||||
return ResponseQuery.newBuilder().setCode(CodeType.OK)
|
return ResponseQuery.newBuilder().setCode(CodeType.OK)
|
||||||
.setValue(ByteString.copyFrom(("" + txCount).getBytes(Charset.forName("UTF-8")))).build();
|
.setValue(ByteString.copyFrom(("" + txCount).getBytes(Charset.forName("UTF-8")))).build();
|
||||||
default:
|
default:
|
||||||
return ResponseQuery.newBuilder().setCode(CodeType.BadNonce).setLog("Invalid query path. Expected hash or tx, got " + query)
|
return ResponseQuery.newBuilder().setCode(CodeType.BadNonce).setLog("Invalid query path. Expected hash or tx, got " + query)
|
||||||
.build();
|
.build();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ResponseBeginBlock requestBeginBlock(RequestBeginBlock req) {
|
||||||
|
req
|
||||||
|
.getLastCommitInfo()
|
||||||
|
.getVotesList()
|
||||||
|
.stream()
|
||||||
|
.map(v -> v.getFullVote().toString())
|
||||||
|
.forEach(v -> System.out.println("BeginBlock vote:" + v));
|
||||||
|
|
||||||
|
return ResponseBeginBlock.newBuilder().build();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user