package com.blockchain.fabric.sdk;
import com.alibaba.fastjson.JSONObject;
import org.hyperledger.fabric.protos.common.Ledger;
import org.hyperledger.fabric.sdk.*;
import org.hyperledger.fabric.sdk.exception.*;
import org.hyperledger.fabric_ca.sdk.HFCAClient;
import org.hyperledger.fabric_ca.sdk.exception.EnrollmentException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.io.IOException;
import java.lang.reflect.Array;
import java.lang.reflect.InvocationTargetException;
import java.net.MalformedURLException;
import java.security.NoSuchAlgorithmException;
import java.security.spec.InvalidKeySpecException;
import java.util.*;
//projectInfo:1.0 usageInfo:5.0
public class SdkMain {
private static final Logger log = LoggerFactory.getLogger(SdkMain.class);
private static final String keyFolderPath = "C:\\javaweb\\project\\Blockchain-java\\src\\main\\resources\\crypto-config\\peerOrganizations\\org1.example.com\\users\\Admin@org1.example.com\\msp\\keystore";
private static final String keyFileName="df46a978487527f0614be6ca922859ce44276950afb4d4e4dd854b1e30d75594_sk";
private static final String certFoldePath="C:\\javaweb\\project\\Blockchain-java\\src\\main\\resources\\crypto-config\\peerOrganizations\\org1.example.com\\users\\Admin@org1.example.com\\msp\\admincerts";
private static final String certFileName="Admin@org1.example.com-cert.pem";
private static final String org2keyFolderPath = "C:\\javaweb\\project\\Blockchain-java\\src\\main\\resources\\crypto-config\\peerOrganizations\\org2.example.com\\users\\Admin@org2.example.com\\msp\\keystore";
private static final String org2keyFileName="a976d19d36894512f47f5b01214811f07c3219f64d05129d9ddaf05ad99d6c29_sk";
private static final String org2certFoldePath="C:\\javaweb\\project\\Blockchain-java\\src\\main\\resources\\crypto-config\\peerOrganizations\\org2.example.com\\users\\Admin@org2.example.com\\msp\\admincerts";
private static final String org2certFileName="Admin@org2.example.com-cert.pem";
private static final String tlsOrderFilePath = "C:\\javaweb\\project\\Blockchain-java\\src\\main\\resources\\crypto-config\\ordererOrganizations\\example.com\\tlsca\\tlsca.example.com-cert.pem";
//private static final String txfilePath = "C:\\javaweb\\project\\Blockchain-java\\src\\main\\resources\\test.tx";
private static final String tlsPeerFilePath = "C:\\javaweb\\project\\Blockchain-java\\src\\main\\resources\\crypto-config\\peerOrganizations\\org1.example.com\\peers\\peer0.org1.example.com\\msp\\tlscacerts\\tlsca.org1.example.com-cert.pem";
//另一个组织机构
private static final String tlsPeerFilePathAddtion = "C:\\javaweb\\project\\Blockchain-java\\src\\main\\resources\\crypto-config\\peerOrganizations\\org2.example.com\\peers\\peer0.org2.example.com\\msp\\tlscacerts\\tlsca.org2.example.com-cert.pem";
//创建channel 要重新生成tx文件
// public static void main(String[] args) throws InvalidKeySpecException, NoSuchAlgorithmException, CryptoException, IOException, IllegalAccessException, InvalidArgumentException, InstantiationException, ClassNotFoundException, NoSuchMethodException, InvocationTargetException, org.hyperledger.fabric.sdk.exception.CryptoException, TransactionException, ProposalException, org.bouncycastle.crypto.CryptoException {
//
// UserContext userContext = new UserContext();
// userContext.setAffiliation("Org1");
// userContext.setMspId("Org1MSP");
// userContext.setAccount("李伟");
// userContext.setName("admin");
//
// Enrollment enrollment = UserUtils.getEnrollment(keyFolderPath,keyFileName,certFoldePath,certFileName);
// userContext.setEnrollment(enrollment);
// FabricClient fabricClient = new FabricClient(userContext);
//
// //Channel channel111 = fabricClient.createChannel("test",fabricClient.getOrderer("orderer.example.com","grpcs://orderer.example.com:7050",tlsOrderFilePath),txfilePath);
//
// Channel channel = fabricClient.getChannel("test");
// channel.addOrderer(fabricClient.getOrderer("orderer.example.com","grpcs://orderer.example.com:7050",tlsOrderFilePath));
// channel.joinPeer(fabricClient.getPeer("peer0.org1.example.com","grpcs://peer0.org1.example.com:7051",tlsPeerFilePath));
// channel.initialize();
// }
//安装合约
// public static void main(String[] args) throws InvalidKeySpecException, NoSuchAlgorithmException, CryptoException, IOException, IllegalAccessException, InvalidArgumentException, InstantiationException, ClassNotFoundException, NoSuchMethodException, InvocationTargetException, org.hyperledger.fabric.sdk.exception.CryptoException, TransactionException, ProposalException, org.bouncycastle.crypto.CryptoException {
//
// List list = new ArrayList();
// UserContext userContext = new UserContext();
// //org2
// userContext.setAffiliation("Org2");
// userContext.setMspId("Org2MSP");
// userContext.setAccount("李伟");
// userContext.setName("admin");
// Enrollment enrollment = UserUtils.getEnrollment(org2keyFolderPath,org2keyFileName,org2certFoldePath,org2certFileName);
// userContext.setEnrollment(enrollment);
// FabricClient fabricClient = new FabricClient(userContext);
// Peer peer0 = fabricClient.getPeer("peer0.org2.example.com","grpcs://peer0.org2.example.com:9051",tlsPeerFilePathAddtion);
// Peer peer1 = fabricClient.getPeer("peer1.org2.example.com","grpcs://peer1.org2.example.com:10051",tlsPeerFilePathAddtion);
//
// //org1
//// userContext.setAffiliation("Org1");
//// userContext.setMspId("Org1MSP");
//// userContext.setAccount("李伟");
//// userContext.setName("admin");
//// Enrollment enrollment = UserUtils.getEnrollment(keyFolderPath,keyFileName,certFoldePath,certFileName);
//// userContext.setEnrollment(enrollment);
//// FabricClient fabricClient = new FabricClient(userContext);
//// Peer peer0 = fabricClient.getPeer("peer0.org1.example.com","grpcs://peer0.org1.example.com:7051",tlsPeerFilePath);
//// Peer peer1 = fabricClient.getPeer("peer1.org1.example.com","grpcs://peer1.org1.example.com:8051",tlsPeerFilePath);
//
//
// List<Peer> peers = new ArrayList<Peer>();
// peers.add(peer0);
// peers.add(peer1);
// fabricClient.installChaincode(TransactionRequest.Type.GO_LANG,"projectInfo","1.0","C:\\go\\workspace\\projectInfo","projectInfo",peers);
//
// //测试用的record recordInfo :1.0 projectInfo:1.0 usageInfo:5.0
// // fabricClient.installChaincode(TransactionRequest.Type.GO_LANG,"record","2.0","C:\\go\\workspace\\record","record",peers);
// }
//合约实例化 只需一次
//测试用的record recordInfo :1.0 projectInfo:1.0 usageInfo:5.0
// public static void main(String[] args) throws InvalidKeySpecException, NoSuchAlgorithmException, CryptoException, IOException, IllegalAccessException, InvalidArgumentException, InstantiationException, ClassNotFoundException, NoSuchMethodException, InvocationTargetException, org.hyperledger.fabric.sdk.exception.CryptoException, ProposalException, TransactionException, org.bouncycastle.crypto.CryptoException {
// UserContext userContext = new UserContext();
// userContext.setAffiliation("Org1");
// userContext.setMspId("Org1MSP");
// userContext.setAccount("李伟");
// userContext.setName("admin");
// Enrollment enrollment = UserUtils.getEnrollment(keyFolderPath,keyFileName,certFoldePath,certFileName);
// userContext.setEnrollment(enrollment);
// FabricClient fabricClient = new FabricClient(userContext);
// Peer peer = fabricClient.getPeer("peer0.org1.example.com","grpcs://peer0.org1.example.com:7051",tlsPeerFilePath);
// Orderer order = fabricClient.getOrderer("orderer.example.com","grpcs://orderer.ex
没有合适的资源?快使用搜索试试~ 我知道了~
区块链毕业设计 基于SpringBoot+fabric的信用慈善救助系统的设计与实现+部署文档+项目资料齐全 优秀项目.zip
共174个文件
pem:55个
java:50个
crt:20个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 186 浏览量
2024-05-09
14:00:28
上传
评论
收藏 528KB ZIP 举报
温馨提示
【资源概览】 区块链毕业设计 基于SpringBoot+fabric的信用慈善救助系统的设计与实现+部署文档+项目资料齐全 优秀项目.zip区块链毕业设计 基于SpringBoot+fabric的信用慈善救助系统的设计与实现+部署文档+项目资料齐全 优秀项目.zip 【资源说明】 高分项目源码:此资源是在校高分项目的完整源代码,经过导师的悉心指导与认可,答辩评审得分高达95分,项目的质量与深度有保障。 测试运行成功:所有的项目代码在上传前都经过了严格的测试,确保在功能上完全符合预期,您可以放心下载并使用。 适用人群广泛:该项目不仅适合计算机相关专业(如软件工程、计科、区块链、人工智能、电子信息、物联网、通信工程、自动化等)的在校学生和老师,还可以作为毕业设计、课程设计、作业或项目初期立项的演示材料。对于希望进阶学习的小白来说,同样是一个极佳的学习资源。 代码灵活性高:如果您具备一定的编程基础,可以在此代码基础上进行个性化的修改,以实现更多功能。当然,直接用于毕业设计、课程设计或作业也是完全可行的。 欢迎下载,与我一起交流学习,共同进步!
资源推荐
资源详情
资源评论
收起资源包目录
区块链毕业设计 基于SpringBoot+fabric的信用慈善救助系统的设计与实现+部署文档+项目资料齐全 优秀项目.zip (174个子文件)
13be0a7189864a0368c07f7f66651b3d337908b335b1bf3a6c83732988e1c623_sk 241B
1f73ce55c08a7f3ba84ab6adf90dc190d1b0e174770ab2f7f852a5e067fdeebf_sk 241B
232932ac0a4cbe612faf92acfc2cfba270667203ba23dbfb8a6660a1fabec298_sk 241B
2cc9e77372a0682310535586ba1ddfdac542e80dccf6adac5119c8a4e4352814_sk 241B
31be7864fe2418844dfc6eb0677db4b12d3be0480d7110ec858a1e597664e9b2_sk 241B
490ed6cf15cba7b23b92637fb451ba302a05a0aa0276ea2c8e6ab2fb063acdbc_sk 241B
513afc6a5d63e96f9472796f3d0758898c96fb22572429cd2ff02575e88924cf_sk 241B
57cec3f94e409d2254f3b5c1ae1a99c8a8df1be6bccebb83918595f9c96809b7_sk 241B
5f6eb24371d067f7778345c8c3b3ee9deda39009c3f5d5e1e05d836c7a89d1dc_sk 241B
939119fd74e0bdd431c9bb29859f0f431ac757195428f25a3516be79f74c43ae_sk 241B
9aaf88844dfad79b6e19d70745a50c136cebc11724df65a392fe9e5b4b494939_sk 241B
a09961f1d329dc8a588272d0c3173e2ed9e9e13784f8e63da2a28045e09ac8ba_sk 241B
a976d19d36894512f47f5b01214811f07c3219f64d05129d9ddaf05ad99d6c29_sk 241B
c5666363d36133d48e6770310a244db5268839bf6e8487e572ee10d6a9eadc01_sk 241B
mvnw.cmd 7KB
server.crt 895B
server.crt 895B
server.crt 891B
server.crt 891B
server.crt 875B
ca.crt 871B
ca.crt 871B
ca.crt 871B
ca.crt 871B
ca.crt 871B
ca.crt 871B
ca.crt 871B
ca.crt 871B
ca.crt 843B
ca.crt 843B
client.crt 834B
client.crt 834B
client.crt 834B
client.crt 834B
client.crt 814B
dd05ac6c5cc4ac7ef0c7198308d120b9dc93380ce6720956ccbf6d3167732547_sk 241B
df46a978487527f0614be6ca922859ce44276950afb4d4e4dd854b1e30d75594_sk 241B
.gitignore 395B
basicInfo.go 1KB
maven-wrapper.jar 59KB
SdkMain.java 20KB
RedisUtil.java 15KB
FabricClient.java 12KB
AuthController.java 11KB
blockchainUtil.java 8KB
BlockrecordinfoServiceImpl.java 7KB
BlockrecordinfoController.java 6KB
BlockusageinfoServiceImpl.java 6KB
CodeGenerator.java 5KB
Const.java 5KB
BlockprojectinfoServiceImpl.java 5KB
BlockusageinfoController.java 4KB
BlockprojectinfoController.java 4KB
UserUtils.java 3KB
FabricCAClient.java 2KB
BlockrecordinfoService.java 2KB
GlobalExceptionHandler.java 2KB
BlockusageinfoService.java 2KB
CorsConfig.java 2KB
UserContext.java 2KB
ProjectinfoController.java 2KB
MybatisPlusConfig.java 1KB
RedisConfig.java 1KB
BlockprojectinfoService.java 1KB
Blockprojectinfo.java 1KB
changeUtil.java 1KB
BaseController.java 960B
ImageResult.java 952B
Result.java 930B
KaptchaConfig.java 881B
Blockrecordinfo.java 820B
CorsInterceptor.java 817B
Blockusageinfo.java 779B
User.java 779B
Projectinfo.java 681B
RandomStringUtil.java 634B
ProjectinfoServiceImpl.java 547B
TestController.java 506B
UserServiceImpl.java 498B
UserController.java 384B
BlockrecordinfoMapper.java 378B
BlockchainApplication.java 363B
BlockprojectinfoMapper.java 337B
BlockusageinfoMapper.java 331B
ProjectinfoMapper.java 322B
ProjectinfoService.java 322B
UserMapper.java 301B
UserService.java 301B
BlockchainApplicationTests.java 219B
BaseEntity.java 60B
client.key 241B
server.key 241B
client.key 241B
client.key 241B
server.key 241B
server.key 241B
client.key 241B
client.key 241B
server.key 241B
server.key 241B
共 174 条
- 1
- 2
资源评论
IT狂飙
- 粉丝: 4776
- 资源: 2641
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功