Skip to content

Commit 8dcfff0

Browse files
committed
add JunitTest Invoke ChainCode instert and ChainCode quey
1 parent bb6874f commit 8dcfff0

File tree

3 files changed

+125
-3
lines changed

3 files changed

+125
-3
lines changed

src/main/java/ijarvis/intelliq/FabricApp.java

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
import java.util.Collection;
99

1010
/**
11-
* Hello world!
11+
* 实现封装一些超级账本的操作方法,注意此版本为未结合使用Fabric-CA模块的代码示例
1212
*
1313
*/
1414
public class FabricApp{
@@ -28,6 +28,25 @@ public static void init() throws CryptoException, InvalidArgumentException {
2828
client.setUserContext(peer0org1);
2929

3030
}
31+
/*
32+
* 实现根绝给定的数据调用链码写入账本中
33+
* */
34+
public static void instertFabcar(Channel channel, LedgerRecord record) throws Exception {
35+
QueryByChaincodeRequest req = client.newQueryProposalRequest();
36+
ChaincodeID cid = ChaincodeID.newBuilder().setName("epointchaincodezzk").setVersion("0.1").build();
37+
req.setChaincodeID(cid);
38+
req.setFcn("addcard");
39+
req.setArgs(record.toStringArray());
40+
logger.debug("addcard data"+record.toStringArray());
41+
Collection<ProposalResponse> resps = channel.queryByChaincode(req);
42+
for (ProposalResponse resp : resps) {
43+
String payload = new String(resp.getChaincodeActionResponsePayload());
44+
System.out.println("response: " + payload);
45+
}
46+
}
47+
/*
48+
* 实现根绝给定的Key查询数据
49+
* */
3150
public static void queryFabcar(Channel channel, String key) throws Exception {
3251
QueryByChaincodeRequest req = client.newQueryProposalRequest();
3352
ChaincodeID cid = ChaincodeID.newBuilder().setName("epointchaincodezzk").setVersion("0.1").build();
Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
package ijarvis.intelliq;
2+
3+
/**
4+
* 账本数据结构,非常简单的一个数据Bean而已
5+
*/
6+
public class LedgerRecord {
7+
private String Perid;
8+
private String Legalname;
9+
private String Carddate;
10+
private String Cardaddr;
11+
private String Cardmonery;
12+
private String Companyaddr;
13+
14+
public String getPerid() {
15+
return Perid;
16+
}
17+
18+
public void setPerid(String perid) {
19+
Perid = perid;
20+
}
21+
22+
public String getLegalname() {
23+
return Legalname;
24+
}
25+
26+
public void setLegalname(String legalname) {
27+
Legalname = legalname;
28+
}
29+
30+
public String getCarddate() {
31+
return Carddate;
32+
}
33+
34+
public void setCarddate(String carddate) {
35+
Carddate = carddate;
36+
}
37+
38+
public String getCardaddr() {
39+
return Cardaddr;
40+
}
41+
42+
public void setCardaddr(String cardaddr) {
43+
Cardaddr = cardaddr;
44+
}
45+
46+
public String getCardmonery() {
47+
return Cardmonery;
48+
}
49+
50+
public void setCardmonery(String cardmonery) {
51+
Cardmonery = cardmonery;
52+
}
53+
54+
public String getCompanyaddr() {
55+
return Companyaddr;
56+
}
57+
58+
public void setCompanyaddr(String companyaddr) {
59+
Companyaddr = companyaddr;
60+
}
61+
62+
public LedgerRecord(String perid, String legalname, String carddate, String cardaddr, String cardmonery, String companyaddr) {
63+
Perid = perid;
64+
Legalname = legalname;
65+
Carddate = carddate;
66+
Cardaddr = cardaddr;
67+
Cardmonery = cardmonery;
68+
Companyaddr = companyaddr;
69+
}
70+
71+
public String[] toStringArray() {
72+
return new String[] {this.getPerid(),this.getLegalname(),this.getCarddate(),this.getCardaddr(),this.getCardmonery(),this.getCompanyaddr()};
73+
}
74+
75+
@Override
76+
public String toString() {
77+
return "LedgerRecord{" +
78+
"Perid='" + Perid + '\'' +
79+
", Legalname='" + Legalname + '\'' +
80+
", Carddate='" + Carddate + '\'' +
81+
", Cardaddr='" + Cardaddr + '\'' +
82+
", Cardmonery='" + Cardmonery + '\'' +
83+
", Companyaddr='" + Companyaddr + '\'' +
84+
'}';
85+
}
86+
}

src/test/java/ijarvis/intelliq/AppTest.java

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33

44
import org.apache.log4j.Logger;
55
import org.hyperledger.fabric.sdk.Channel;
6+
import org.hyperledger.fabric.sdk.Peer;
67
import org.hyperledger.fabric.sdk.exception.CryptoException;
78
import org.hyperledger.fabric.sdk.exception.InvalidArgumentException;
89
import org.hyperledger.fabric.sdk.exception.TransactionException;
@@ -17,21 +18,37 @@ public class AppTest {
1718

1819
private static String CONNFIG_Orderer="grpc://192.168.188.111:7050";
1920
private static String CONNFIG_Peer0Org1="grpc://192.168.188.112:7051";
21+
private static String CONNFIG_Peer1Org1="grpc://192.168.188.113:7051";
22+
private static String CONNFIG_Peer0Org2="grpc://192.168.188.114:7051";
23+
private static String CONNFIG_Peer1Org2="grpc://192.168.188.115:7051";
2024
private static String CHANNELID="epointchannel";
25+
private static LedgerRecord PERSONINFO=new LedgerRecord("liuwenru","liuwenru1","2017-12-12","江苏省张家港市","10000","江苏省苏州市张家港市国泰新点");
2126
@Before
2227
public void Setup() throws CryptoException, InvalidArgumentException {
2328
logger.debug("Fabric Test Init........");
2429
FabricApp fabricApp=new FabricApp();
2530
FabricApp.init();
26-
2731
}
32+
@Test
33+
public void TestEpointChainCodeInster() throws Exception {
34+
logger.debug("测试Fabric 插入功能");
35+
Channel channel = FabricApp.client.newChannel(CHANNELID);
36+
channel.addPeer(FabricApp.client.newPeer("peer", CONNFIG_Peer0Org1));
37+
channel.addOrderer(FabricApp.client.newOrderer("orderer", CONNFIG_Orderer));
38+
channel.initialize();
39+
FabricApp.instertFabcar(channel,PERSONINFO);
40+
}
41+
42+
2843
@Test
2944
public void TestEpointChainCodeQuery() throws Exception {
45+
logger.debug("测试Fabric 查询功能");
3046
Channel channel = FabricApp.client.newChannel(CHANNELID);
3147
channel.addPeer(FabricApp.client.newPeer("peer", CONNFIG_Peer0Org1));
3248
channel.addOrderer(FabricApp.client.newOrderer("orderer", CONNFIG_Orderer));
3349
channel.initialize();
34-
FabricApp.queryFabcar(channel, "liubo");
50+
FabricApp.queryFabcar(channel, PERSONINFO.getPerid());
3551
}
3652

53+
3754
}

0 commit comments

Comments
 (0)