├── .gitignore ├── .idea ├── .gitignore ├── artifacts │ └── Fabric_TraceabilitySys_war_exploded.xml ├── compiler.xml ├── dataSources.xml ├── deployment.xml ├── encodings.xml ├── free-mybatis-generator-config.xml ├── inspectionProfiles │ └── Project_Default.xml ├── jarRepositories.xml ├── jsLibraryMappings.xml ├── misc.xml ├── sshConfigs.xml ├── uiDesigner.xml ├── vcs.xml └── webContexts.xml ├── Fabric_TraceabilitySys.iml ├── README.md ├── pom.xml ├── src ├── main │ ├── java │ │ └── com │ │ │ ├── cn │ │ │ └── wjp │ │ │ │ └── springboot │ │ │ │ ├── dao │ │ │ │ └── TeaPackMapper.java │ │ │ │ └── entity │ │ │ │ └── TeaPack.java │ │ │ └── gvssimux │ │ │ ├── controller │ │ │ ├── CreateUserCode.java │ │ │ ├── DataController.java │ │ │ ├── DataOverview.java │ │ │ ├── FormsController.java │ │ │ ├── LoginController.java │ │ │ ├── LoginInterceptor.java │ │ │ ├── OneDataController.java │ │ │ ├── PageJumpController.java │ │ │ ├── RegisterController.java │ │ │ ├── Test.java │ │ │ ├── Test01.java │ │ │ ├── Test02.java │ │ │ ├── TestController.java │ │ │ └── allpojo.java │ │ │ ├── dao │ │ │ ├── TeaAreaDao.java │ │ │ ├── TeaGardenDao.java │ │ │ ├── TeaLeafDao.java │ │ │ ├── TeaMakeDao.java │ │ │ ├── TeaPackDao.java │ │ │ ├── TeaPickDao.java │ │ │ ├── TeaRankDao.java │ │ │ ├── TeaTestingDao.java │ │ │ ├── TeaTreeDao.java │ │ │ ├── TeaWarehouseDao.java │ │ │ ├── UserLoginDao.java │ │ │ └── UserRegisterDao.java │ │ │ ├── fabric │ │ │ ├── AssetTransferBasic.java │ │ │ ├── ChaincodeEventListener.java │ │ │ ├── ClientApp.java │ │ │ ├── FabricGateway.java │ │ │ ├── RegisterUser.java │ │ │ └── gateway.java │ │ │ ├── pojo │ │ │ ├── AllPojo.java │ │ │ ├── Employee.java │ │ │ ├── TeaArea.java │ │ │ ├── TeaGarden.java │ │ │ ├── TeaKind.java │ │ │ ├── TeaLeaf.java │ │ │ ├── TeaMake.java │ │ │ ├── TeaPack.java │ │ │ ├── TeaPick.java │ │ │ ├── TeaRank.java │ │ │ ├── TeaTesting.java │ │ │ ├── TeaTree.java │ │ │ ├── TeaWarehouse.java │ │ │ ├── UserBasic.java │ │ │ └── fabquery │ │ │ │ ├── QueryResult.java │ │ │ │ └── QueryResultList.java │ │ │ ├── service │ │ │ ├── CreateUserCode.java │ │ │ ├── EmployeeService.java │ │ │ ├── EmployeeServiceImpl.java │ │ │ ├── TeaAreaService.java │ │ │ ├── TeaAreaServiceImpl.java │ │ │ ├── TeaGardenService.java │ │ │ ├── TeaGardenServiceImpl.java │ │ │ ├── TeaKindService.java │ │ │ ├── TeaKindServiceImpl.java │ │ │ ├── TeaLeafService.java │ │ │ ├── TeaLeafServiceImpl.java │ │ │ ├── TeaMakeService.java │ │ │ ├── TeaMakeServiceImpl.java │ │ │ ├── TeaPackService.java │ │ │ ├── TeaPackServiceImpl.java │ │ │ ├── TeaPickService.java │ │ │ ├── TeaPickServiceImpl.java │ │ │ ├── TeaRankService.java │ │ │ ├── TeaRankServiceImpl.java │ │ │ ├── TeaTestingService.java │ │ │ ├── TeaTestingServiceImpl.java │ │ │ ├── TeaTreeService.java │ │ │ ├── TeaTreeServiceImpl.java │ │ │ ├── TeaWarehouseService.java │ │ │ ├── TeaWarehouseServiceImpl.java │ │ │ ├── UserLoginService.java │ │ │ ├── UserLoginServiceImpl.java │ │ │ ├── UserRegisterService.java │ │ │ └── UserRegisterServiceImpl.java │ │ │ └── util │ │ │ ├── DataUtil.java │ │ │ ├── FabricGatewayUtil.java │ │ │ ├── FabricUtil.java │ │ │ ├── GetUUID.java │ │ │ ├── JsonUtil.java │ │ │ ├── MybatisUtils.java │ │ │ └── UserVerify.java │ └── resources │ │ ├── applicationContext.xml │ │ ├── com │ │ └── gvssimux │ │ │ └── dao │ │ │ ├── UserLoginDao.xml │ │ │ └── UserRegisterDao.xml │ │ ├── database.properties │ │ ├── generatorConfig.xml │ │ ├── log4j.properties │ │ ├── mybatis-config.xml │ │ ├── ordererOrganizations │ │ └── example.com │ │ │ ├── ca │ │ │ ├── ca.example.com-cert.pem │ │ │ └── priv_sk │ │ │ ├── msp │ │ │ ├── cacerts │ │ │ │ └── ca.example.com-cert.pem │ │ │ ├── config.yaml │ │ │ └── tlscacerts │ │ │ │ └── tlsca.example.com-cert.pem │ │ │ ├── orderers │ │ │ └── orderer.example.com │ │ │ │ ├── msp │ │ │ │ ├── cacerts │ │ │ │ │ └── ca.example.com-cert.pem │ │ │ │ ├── config.yaml │ │ │ │ ├── keystore │ │ │ │ │ └── priv_sk │ │ │ │ ├── signcerts │ │ │ │ │ └── orderer.example.com-cert.pem │ │ │ │ └── tlscacerts │ │ │ │ │ └── tlsca.example.com-cert.pem │ │ │ │ └── tls │ │ │ │ ├── ca.crt │ │ │ │ ├── server.crt │ │ │ │ └── server.key │ │ │ ├── tlsca │ │ │ ├── priv_sk │ │ │ └── tlsca.example.com-cert.pem │ │ │ └── users │ │ │ └── Admin@example.com │ │ │ ├── msp │ │ │ ├── cacerts │ │ │ │ └── ca.example.com-cert.pem │ │ │ ├── config.yaml │ │ │ ├── keystore │ │ │ │ └── priv_sk │ │ │ ├── signcerts │ │ │ │ └── Admin@example.com-cert.pem │ │ │ └── tlscacerts │ │ │ │ └── tlsca.example.com-cert.pem │ │ │ └── tls │ │ │ ├── ca.crt │ │ │ ├── client.crt │ │ │ └── client.key │ │ ├── peerOrganizations │ │ ├── org1.example.com │ │ │ ├── ca │ │ │ │ ├── ca.org1.example.com-cert.pem │ │ │ │ └── priv_sk │ │ │ ├── connection-org1.json │ │ │ ├── connection-org1.yaml │ │ │ ├── msp │ │ │ │ ├── cacerts │ │ │ │ │ └── ca.org1.example.com-cert.pem │ │ │ │ ├── config.yaml │ │ │ │ └── tlscacerts │ │ │ │ │ └── tlsca.org1.example.com-cert.pem │ │ │ ├── peers │ │ │ │ └── peer0.org1.example.com │ │ │ │ │ ├── msp │ │ │ │ │ ├── cacerts │ │ │ │ │ │ └── ca.org1.example.com-cert.pem │ │ │ │ │ ├── config.yaml │ │ │ │ │ ├── keystore │ │ │ │ │ │ └── priv_sk │ │ │ │ │ ├── signcerts │ │ │ │ │ │ └── peer0.org1.example.com-cert.pem │ │ │ │ │ └── tlscacerts │ │ │ │ │ │ └── tlsca.org1.example.com-cert.pem │ │ │ │ │ └── tls │ │ │ │ │ ├── ca.crt │ │ │ │ │ ├── server.crt │ │ │ │ │ └── server.key │ │ │ ├── tlsca │ │ │ │ ├── priv_sk │ │ │ │ └── tlsca.org1.example.com-cert.pem │ │ │ └── users │ │ │ │ ├── Admin@org1.example.com │ │ │ │ ├── msp │ │ │ │ │ ├── cacerts │ │ │ │ │ │ └── ca.org1.example.com-cert.pem │ │ │ │ │ ├── config.yaml │ │ │ │ │ ├── keystore │ │ │ │ │ │ └── priv_sk │ │ │ │ │ ├── signcerts │ │ │ │ │ │ └── Admin@org1.example.com-cert.pem │ │ │ │ │ └── tlscacerts │ │ │ │ │ │ └── tlsca.org1.example.com-cert.pem │ │ │ │ └── tls │ │ │ │ │ ├── ca.crt │ │ │ │ │ ├── client.crt │ │ │ │ │ └── client.key │ │ │ │ └── User1@org1.example.com │ │ │ │ ├── msp │ │ │ │ ├── cacerts │ │ │ │ │ └── ca.org1.example.com-cert.pem │ │ │ │ ├── config.yaml │ │ │ │ ├── keystore │ │ │ │ │ └── priv_sk │ │ │ │ ├── signcerts │ │ │ │ │ └── User1@org1.example.com-cert.pem │ │ │ │ └── tlscacerts │ │ │ │ │ └── tlsca.org1.example.com-cert.pem │ │ │ │ └── tls │ │ │ │ ├── ca.crt │ │ │ │ ├── client.crt │ │ │ │ └── client.key │ │ └── org2.example.com │ │ │ ├── ca │ │ │ ├── ca.org2.example.com-cert.pem │ │ │ └── priv_sk │ │ │ ├── connection-org2.json │ │ │ ├── connection-org2.yaml │ │ │ ├── msp │ │ │ ├── cacerts │ │ │ │ └── ca.org2.example.com-cert.pem │ │ │ ├── config.yaml │ │ │ └── tlscacerts │ │ │ │ └── tlsca.org2.example.com-cert.pem │ │ │ ├── peers │ │ │ └── peer0.org2.example.com │ │ │ │ ├── msp │ │ │ │ ├── cacerts │ │ │ │ │ └── ca.org2.example.com-cert.pem │ │ │ │ ├── config.yaml │ │ │ │ ├── keystore │ │ │ │ │ └── priv_sk │ │ │ │ ├── signcerts │ │ │ │ │ └── peer0.org2.example.com-cert.pem │ │ │ │ └── tlscacerts │ │ │ │ │ └── tlsca.org2.example.com-cert.pem │ │ │ │ └── tls │ │ │ │ ├── ca.crt │ │ │ │ ├── server.crt │ │ │ │ └── server.key │ │ │ ├── tlsca │ │ │ ├── priv_sk │ │ │ └── tlsca.org2.example.com-cert.pem │ │ │ └── users │ │ │ ├── Admin@org2.example.com │ │ │ ├── msp │ │ │ │ ├── cacerts │ │ │ │ │ └── ca.org2.example.com-cert.pem │ │ │ │ ├── config.yaml │ │ │ │ ├── keystore │ │ │ │ │ └── priv_sk │ │ │ │ ├── signcerts │ │ │ │ │ └── Admin@org2.example.com-cert.pem │ │ │ │ └── tlscacerts │ │ │ │ │ └── tlsca.org2.example.com-cert.pem │ │ │ └── tls │ │ │ │ ├── ca.crt │ │ │ │ ├── client.crt │ │ │ │ └── client.key │ │ │ └── User1@org2.example.com │ │ │ ├── msp │ │ │ ├── cacerts │ │ │ │ └── ca.org2.example.com-cert.pem │ │ │ ├── config.yaml │ │ │ ├── keystore │ │ │ │ └── priv_sk │ │ │ ├── signcerts │ │ │ │ └── User1@org2.example.com-cert.pem │ │ │ └── tlscacerts │ │ │ │ └── tlsca.org2.example.com-cert.pem │ │ │ └── tls │ │ │ ├── ca.crt │ │ │ ├── client.crt │ │ │ └── client.key │ │ ├── spring-dao.xml │ │ ├── spring-mvc.xml │ │ └── spring-service.xml └── test │ └── java │ ├── Test01.java │ ├── Test02.java │ ├── Test03.java │ ├── Test04.java │ ├── Test05.java │ ├── Test06.java │ ├── Test07.java │ ├── Test08.java │ ├── Test09.java │ ├── UserLogintest.java │ ├── datatest.java │ ├── mybatistest.java │ ├── poj.java │ ├── teatesting.java │ └── testLeft.java ├── wallet ├── admin.id └── appUser.id └── web ├── WEB-INF ├── tea │ ├── auth-forgot-password.html │ ├── auth-login.html │ ├── datas.html │ ├── form-wizard.html │ ├── form-wizards.html │ ├── home.html │ ├── people.html │ ├── search.html │ └── test03.html └── web.xml ├── assets ├── bootstrap │ ├── css │ │ └── bootstrap.min.css │ └── js │ │ └── bootstrap.min.js ├── css │ ├── Pretty-Registration-Form.css │ ├── element │ │ ├── fonts │ │ │ ├── element-icons.eot │ │ │ ├── element-icons.svg │ │ │ ├── element-icons.ttf │ │ │ └── element-icons.woff │ │ └── index.css │ ├── style.css │ └── styles.css ├── fonts │ ├── FontAwesome.otf │ ├── fa-brands-400.eot │ ├── fa-brands-400.svg │ ├── fa-brands-400.ttf │ ├── fa-brands-400.woff │ ├── fa-brands-400.woff2 │ ├── fa-regular-400.eot │ ├── fa-regular-400.svg │ ├── fa-regular-400.ttf │ ├── fa-regular-400.woff │ ├── fa-regular-400.woff2 │ ├── fa-solid-900.eot │ ├── fa-solid-900.svg │ ├── fa-solid-900.ttf │ ├── fa-solid-900.woff │ ├── fa-solid-900.woff2 │ ├── font-awesome.min.css │ ├── fontawesome-all.min.css │ ├── fontawesome-webfont.eot │ ├── fontawesome-webfont.svg │ ├── fontawesome-webfont.ttf │ ├── fontawesome-webfont.woff │ ├── fontawesome-webfont.woff2 │ ├── fontawesome5-overrides.min.css │ ├── la-brands-400.eot │ ├── la-brands-400.svg │ ├── la-brands-400.ttf │ ├── la-brands-400.woff │ ├── la-brands-400.woff2 │ ├── la-regular-400.eot │ ├── la-regular-400.svg │ ├── la-regular-400.ttf │ ├── la-regular-400.woff │ ├── la-regular-400.woff2 │ ├── la-solid-900.eot │ ├── la-solid-900.svg │ ├── la-solid-900.ttf │ ├── la-solid-900.woff │ └── la-solid-900.woff2 ├── images │ ├── breakfast.jpg │ ├── check-partial.svg │ ├── check.svg │ ├── ingredients.jpg │ ├── onion.jpg │ ├── pepper.jpg │ ├── potato.jpg │ └── tomato.jpg ├── img │ └── avatars │ │ ├── avatar1.jpeg │ │ ├── avatar2.jpeg │ │ ├── avatar3.jpeg │ │ ├── avatar4.jpeg │ │ ├── avatar5.jpeg │ │ ├── img-8950fe813f67bd95f918e80b881a312c.jpg │ │ └── touxiang.png └── js │ ├── Chart.min.js │ ├── Sortable.min.js │ ├── ckeditor.js │ ├── datas_shanzj.js │ ├── element │ └── index.js │ ├── glide.min.js │ ├── home_shanzj.js │ ├── jquery.min.js │ ├── menu_shanzj.js │ ├── script.js │ ├── shanzj │ ├── forms.js │ ├── people.js │ └── search.js │ ├── topbar_shanzj.js │ ├── vendor.js │ └── vue.js └── index.jsp /.gitignore: -------------------------------------------------------------------------------- 1 | *.properties 2 | # Compiled class file 3 | *.class 4 | 5 | # Log file 6 | *.log 7 | 8 | # BlueJ files 9 | *.ctxt 10 | 11 | # Mobile Tools for Java (J2ME) 12 | .mtj.tmp/ 13 | 14 | # Package Files # 15 | *.jar 16 | *.war 17 | *.nar 18 | *.ear 19 | *.zip 20 | *.tar.gz 21 | *.rar 22 | 23 | /target/ 24 | /src/main/resources/database.properties 25 | *.log 26 | 27 | 28 | 29 | 30 | # virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml 31 | hs_err_pid* 32 | 33 | 34 | -------------------------------------------------------------------------------- /.idea/.gitignore: -------------------------------------------------------------------------------- 1 | # 默认忽略的文件 2 | /shelf/ 3 | /workspace.xml 4 | # 基于编辑器的 HTTP 客户端请求 5 | /httpRequests/ 6 | # Datasource local storage ignored files 7 | /dataSources/ 8 | /dataSources.local.xml 9 | -------------------------------------------------------------------------------- /.idea/compiler.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /.idea/dataSources.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | mysql.8 6 | true 7 | com.mysql.cj.jdbc.Driver 8 | jdbc:mysql://gvssimux.com:3306 9 | $ProjectFileDir$ 10 | 11 | 12 | -------------------------------------------------------------------------------- /.idea/deployment.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /.idea/encodings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /.idea/inspectionProfiles/Project_Default.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | -------------------------------------------------------------------------------- /.idea/jarRepositories.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /.idea/jsLibraryMappings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /.idea/sshConfigs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /.idea/webContexts.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Fabric_TraceabilitySys.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # 项目介绍 2 | 《基于区块链技术和JavaWeb的茶叶溯源系统设计与实现》 3 | 4 | 本项目的底层使用的是Hyperledger Fabric,后端用SSM,前端Vue+Element-UI,有一点ChartJS;区块链SDK用的是fabric-gateway(个人不建议用fabric-gateway-java) 5 | 6 | 项目精髓请移步https://github.com/ShanZJ-gvs/FabricGeneralChainCode 在你有JDBC的基础情况下,能够帮助你在不深入了解Fabric的搭建的情况下,快速上手开发系统! 7 | -------------------------------------------------------------------------------- /src/main/java/com/cn/wjp/springboot/dao/TeaPackMapper.java: -------------------------------------------------------------------------------- 1 | package com.cn.wjp.springboot.dao; 2 | 3 | import com.cn.wjp.springboot.entity.TeaPack; 4 | 5 | public interface TeaPackMapper { 6 | int insert(TeaPack record); 7 | 8 | int insertSelective(TeaPack record); 9 | } -------------------------------------------------------------------------------- /src/main/java/com/cn/wjp/springboot/entity/TeaPack.java: -------------------------------------------------------------------------------- 1 | package com.cn.wjp.springboot.entity; 2 | 3 | import java.util.Date; 4 | 5 | public class TeaPack { 6 | private String teaPackId; 7 | 8 | private String teaPackPerid; 9 | 10 | private Date teaPackTime; 11 | 12 | private String teaPackBigboxid; 13 | 14 | private String teaPackSmllboxid; 15 | 16 | private String teaPackSsl; 17 | 18 | public String getTeaPackId() { 19 | return teaPackId; 20 | } 21 | 22 | public void setTeaPackId(String teaPackId) { 23 | this.teaPackId = teaPackId == null ? null : teaPackId.trim(); 24 | } 25 | 26 | public String getTeaPackPerid() { 27 | return teaPackPerid; 28 | } 29 | 30 | public void setTeaPackPerid(String teaPackPerid) { 31 | this.teaPackPerid = teaPackPerid == null ? null : teaPackPerid.trim(); 32 | } 33 | 34 | public Date getTeaPackTime() { 35 | return teaPackTime; 36 | } 37 | 38 | public void setTeaPackTime(Date teaPackTime) { 39 | this.teaPackTime = teaPackTime; 40 | } 41 | 42 | public String getTeaPackBigboxid() { 43 | return teaPackBigboxid; 44 | } 45 | 46 | public void setTeaPackBigboxid(String teaPackBigboxid) { 47 | this.teaPackBigboxid = teaPackBigboxid == null ? null : teaPackBigboxid.trim(); 48 | } 49 | 50 | public String getTeaPackSmllboxid() { 51 | return teaPackSmllboxid; 52 | } 53 | 54 | public void setTeaPackSmllboxid(String teaPackSmllboxid) { 55 | this.teaPackSmllboxid = teaPackSmllboxid == null ? null : teaPackSmllboxid.trim(); 56 | } 57 | 58 | public String getTeaPackSsl() { 59 | return teaPackSsl; 60 | } 61 | 62 | public void setTeaPackSsl(String teaPackSsl) { 63 | this.teaPackSsl = teaPackSsl == null ? null : teaPackSsl.trim(); 64 | } 65 | } -------------------------------------------------------------------------------- /src/main/java/com/gvssimux/controller/LoginController.java: -------------------------------------------------------------------------------- 1 | package com.gvssimux.controller; 2 | 3 | 4 | import com.gvssimux.pojo.UserBasic; 5 | import com.gvssimux.service.UserLoginServiceImpl; 6 | 7 | import org.springframework.context.ApplicationContext; 8 | import org.springframework.context.support.ClassPathXmlApplicationContext; 9 | import org.springframework.stereotype.Controller; 10 | import org.springframework.ui.Model; 11 | 12 | 13 | import org.springframework.web.bind.annotation.RequestMapping; 14 | import org.springframework.web.bind.annotation.ResponseBody; 15 | 16 | import javax.servlet.http.HttpServletRequest; 17 | import javax.servlet.http.HttpServletResponse; 18 | import javax.servlet.http.HttpSession; 19 | 20 | 21 | @Controller 22 | public class LoginController { 23 | 24 | 25 | 26 | @RequestMapping("/login") 27 | public String loginUser01(HttpSession session, Model model, HttpServletRequest request, HttpServletResponse response) { 28 | ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml"); 29 | UserLoginServiceImpl mapper = context.getBean("UserLoginServiceImpl", UserLoginServiceImpl.class); 30 | 31 | String username = request.getParameter("loginUser"); 32 | String pwd = request.getParameter("loginPwd"); 33 | 34 | UserBasic user = mapper.getUserIdByUserNamePwd(username, pwd); 35 | System.out.println("执行成功=====》:"+user); 36 | 37 | if (user!=null) { 38 | //把用户的信息存在session中,用于验证 39 | session.setAttribute("company",user.getUserUname()); 40 | System.out.println("LoginController===>"); 41 | model.addAttribute("company",user.getUserUname()); 42 | return "home"; 43 | } 44 | return "UserPwdError"; 45 | } 46 | 47 | @ResponseBody 48 | @RequestMapping("/checkUserPwd") 49 | public String loginUser02(HttpSession session, String username, String pwd) { 50 | ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml"); 51 | UserLoginServiceImpl mapper = context.getBean("UserLoginServiceImpl", UserLoginServiceImpl.class); 52 | 53 | UserBasic user = mapper.getUserIdByUserNamePwd(username, pwd); 54 | System.out.println("执行成功=====》:"+user); 55 | 56 | if (user!=null) { 57 | //把用户的信息存在session中,用于验证 58 | session.setAttribute("uuid",user); 59 | System.out.println("LoginController===>"+user); 60 | return "UserPwdOK"; 61 | } 62 | return "UserPwdError"; 63 | 64 | } 65 | 66 | 67 | 68 | 69 | 70 | 71 | } 72 | -------------------------------------------------------------------------------- /src/main/java/com/gvssimux/controller/LoginInterceptor.java: -------------------------------------------------------------------------------- 1 | package com.gvssimux.controller; 2 | 3 | import org.springframework.web.servlet.HandlerInterceptor; 4 | import org.springframework.web.servlet.ModelAndView; 5 | 6 | import javax.servlet.http.HttpServletRequest; 7 | import javax.servlet.http.HttpServletResponse; 8 | import javax.servlet.http.HttpSession; 9 | 10 | public class LoginInterceptor implements HandlerInterceptor { 11 | 12 | //return true; 执行下一个拦截器,放行 13 | //return false; 不执行执行下一个拦截器 14 | 15 | public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { 16 | System.out.println("=========处理前========="); 17 | HttpSession session = request.getSession(); 18 | //放行:判断什么情况下登录 19 | if (request.getRequestURI().contains("checkUserPwd")){ 20 | System.out.println("Loginintercepter===>url contian checkUserPwd"); 21 | 22 | if(session.getAttribute("uuid")==null){ 23 | System.out.println("LoginInterceptor===>session true"); 24 | return true; 25 | } 26 | return true; 27 | } 28 | 29 | if (request.getRequestURI().contains("register")){ 30 | System.out.println("Loginintercepter===>url contian register"); 31 | return true; 32 | } 33 | 34 | if (request.getRequestURI().contains("setuser")){ 35 | System.out.println("Loginintercepter===>url contian setuser"); 36 | return true; 37 | } 38 | if (request.getRequestURI().contains("tohome")){ 39 | System.out.println("Loginintercepter===>url contian tohome"); 40 | return true; 41 | } 42 | if (request.getRequestURI().contains("login")){ 43 | System.out.println("Loginintercepter===>url contian login"); 44 | return true; 45 | } 46 | if (request.getRequestURI().contains("toauthlogin")){ 47 | System.out.println("Loginintercepter===>url contian toauthlogin"); 48 | return true; 49 | } 50 | 51 | 52 | //有session时放行 53 | if(session.getAttribute("uuid")!=null){ 54 | System.out.println("LoginInterceptor===>session true"); 55 | return true; 56 | } 57 | // request.getRequestDispatcher("/WEB-INF/jsp/home.jsp").forward(request,response); 58 | System.out.println("无验证信息"); 59 | 60 | return false; 61 | } 62 | 63 | 64 | //无返回值 可以用于日志 65 | public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception { 66 | System.out.println("=========处理后========="); 67 | 68 | 69 | 70 | 71 | } 72 | 73 | public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception { 74 | System.out.println("=========清 理========="); 75 | } 76 | } -------------------------------------------------------------------------------- /src/main/java/com/gvssimux/controller/Test02.java: -------------------------------------------------------------------------------- 1 | package com.gvssimux.controller; 2 | 3 | import com.alibaba.fastjson.JSONObject; 4 | import com.gvssimux.util.FabricUtil; 5 | import org.springframework.stereotype.Controller; 6 | import org.springframework.ui.Model; 7 | import org.springframework.web.bind.annotation.GetMapping; 8 | import org.springframework.web.bind.annotation.RequestParam; 9 | import org.springframework.web.bind.annotation.ResponseBody; 10 | 11 | import javax.servlet.http.HttpServletRequest; 12 | import javax.servlet.http.HttpServletResponse; 13 | 14 | @Controller 15 | public class Test02 { 16 | @GetMapping("/test03") 17 | public String fz3(Model model) throws Exception { 18 | model.addAttribute("msg","www123"); 19 | return "test03"; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/main/java/com/gvssimux/controller/allpojo.java: -------------------------------------------------------------------------------- 1 | package com.gvssimux.controller; 2 | 3 | 4 | import com.gvssimux.util.FabricUtil; 5 | import org.hyperledger.fabric.client.Contract; 6 | import org.springframework.stereotype.Controller; 7 | import org.springframework.web.bind.annotation.GetMapping; 8 | import org.springframework.web.bind.annotation.RequestParam; 9 | import org.springframework.web.bind.annotation.ResponseBody; 10 | 11 | import javax.servlet.http.HttpServletRequest; 12 | import javax.servlet.http.HttpServletResponse; 13 | 14 | @Controller 15 | public class allpojo { 16 | 17 | 18 | 19 | @ResponseBody 20 | @GetMapping("/al") 21 | public String userCode1(@RequestParam("userCode") String key, HttpServletRequest request, HttpServletResponse response) throws Exception { 22 | Contract contract = FabricUtil.getContract(); 23 | byte[] bytes = contract.submitTransaction("getAllPojo", "tt2"); 24 | String s = new String(bytes); 25 | return s; 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /src/main/java/com/gvssimux/dao/TeaAreaDao.java: -------------------------------------------------------------------------------- 1 | package com.gvssimux.dao; 2 | 3 | import com.gvssimux.pojo.TeaArea; 4 | import org.apache.ibatis.annotations.Select; 5 | 6 | import java.util.List; 7 | 8 | public interface TeaAreaDao { 9 | 10 | /*查询全部*/ 11 | @Select("select * from tea.tea_area") 12 | List selectAll(); 13 | 14 | // /*全部插入*/ 15 | // int insert(TeaArea record); 16 | // 17 | // /*部分插入*/ 18 | // int insertSelective(TeaArea record); 19 | } 20 | -------------------------------------------------------------------------------- /src/main/java/com/gvssimux/dao/TeaGardenDao.java: -------------------------------------------------------------------------------- 1 | package com.gvssimux.dao; 2 | 3 | import com.gvssimux.pojo.TeaGarden; 4 | import org.apache.ibatis.annotations.Select; 5 | 6 | import java.util.List; 7 | 8 | public interface TeaGardenDao { 9 | /*全部插入*/ 10 | int insert(TeaGarden record); 11 | 12 | /*部分插入*/ 13 | int insertSelective(TeaGarden record); 14 | 15 | //查询全部 16 | @Select("select * from tea.tea_garden") 17 | List selectAll(); 18 | } -------------------------------------------------------------------------------- /src/main/java/com/gvssimux/dao/TeaLeafDao.java: -------------------------------------------------------------------------------- 1 | package com.gvssimux.dao; 2 | 3 | import com.gvssimux.pojo.TeaLeaf; 4 | import org.apache.ibatis.annotations.Select; 5 | 6 | import java.util.List; 7 | 8 | public interface TeaLeafDao { 9 | 10 | /*全部插入*/ 11 | int insert(TeaLeaf record); 12 | 13 | /*部分插入*/ 14 | int insertSelective(TeaLeaf record); 15 | 16 | /*全部查询*/ 17 | @Select("select * from tea.tea_leaf") 18 | List selectAll(); 19 | } -------------------------------------------------------------------------------- /src/main/java/com/gvssimux/dao/TeaMakeDao.java: -------------------------------------------------------------------------------- 1 | package com.gvssimux.dao; 2 | 3 | 4 | import com.gvssimux.pojo.TeaMake; 5 | import org.apache.ibatis.annotations.Select; 6 | 7 | import java.util.List; 8 | 9 | public interface TeaMakeDao { 10 | /*全部插入*/ 11 | int insert(TeaMake record); 12 | 13 | /*部分插入*/ 14 | int insertSelective(TeaMake record); 15 | 16 | /*全部查询*/ 17 | @Select("select * from tea.tea_make") 18 | List selectAll(); 19 | } -------------------------------------------------------------------------------- /src/main/java/com/gvssimux/dao/TeaPackDao.java: -------------------------------------------------------------------------------- 1 | package com.gvssimux.dao; 2 | 3 | 4 | import com.gvssimux.pojo.TeaPack; 5 | import org.apache.ibatis.annotations.Select; 6 | 7 | import java.util.List; 8 | 9 | public interface TeaPackDao { 10 | /*全部插入*/ 11 | int insert(TeaPack record); 12 | 13 | /*部分插入*/ 14 | int insertSelective(TeaPack record); 15 | 16 | /*全部查询*/ 17 | @Select("select * from tea.tea_pack") 18 | List selectAll(); 19 | } 20 | -------------------------------------------------------------------------------- /src/main/java/com/gvssimux/dao/TeaPickDao.java: -------------------------------------------------------------------------------- 1 | package com.gvssimux.dao; 2 | 3 | 4 | import com.gvssimux.pojo.TeaPick; 5 | import org.apache.ibatis.annotations.Select; 6 | 7 | import java.util.List; 8 | 9 | public interface TeaPickDao { 10 | /*全部插入*/ 11 | int insert(TeaPick record); 12 | 13 | /*部分插入*/ 14 | int insertSelective(TeaPick record); 15 | 16 | /*全部查询*/ 17 | @Select("select * from tea.tea_pick") 18 | List selectAll(); 19 | } -------------------------------------------------------------------------------- /src/main/java/com/gvssimux/dao/TeaRankDao.java: -------------------------------------------------------------------------------- 1 | package com.gvssimux.dao; 2 | 3 | import com.gvssimux.pojo.TeaRank; 4 | import org.apache.ibatis.annotations.Select; 5 | 6 | import java.util.List; 7 | 8 | public interface TeaRankDao { 9 | /*全部插入*/ 10 | int insert(TeaRank record); 11 | 12 | /*部分插入*/ 13 | int insertSelective(TeaRank record); 14 | 15 | /*全部插询*/ 16 | @Select("select * from tea.tea_rank") 17 | List selectAll(); 18 | } -------------------------------------------------------------------------------- /src/main/java/com/gvssimux/dao/TeaTestingDao.java: -------------------------------------------------------------------------------- 1 | package com.gvssimux.dao; 2 | 3 | import com.gvssimux.pojo.TeaTesting; 4 | import org.apache.ibatis.annotations.Select; 5 | 6 | import java.util.List; 7 | 8 | public interface TeaTestingDao { 9 | /*全部插入*/ 10 | int insert(TeaTesting record); 11 | 12 | /*部分插入*/ 13 | int insertSelective(TeaTesting record); 14 | 15 | /*全部查询*/ 16 | @Select("select * from tea.tea_testing") 17 | List selectAll(); 18 | } -------------------------------------------------------------------------------- /src/main/java/com/gvssimux/dao/TeaTreeDao.java: -------------------------------------------------------------------------------- 1 | package com.gvssimux.dao; 2 | 3 | import com.gvssimux.pojo.TeaArea; 4 | import com.gvssimux.pojo.TeaTree; 5 | import org.apache.ibatis.annotations.Select; 6 | 7 | import java.util.List; 8 | 9 | public interface TeaTreeDao { 10 | /*全部插入*/ 11 | int insert(TeaTree record); 12 | 13 | /*部分插入*/ 14 | int insertSelective(TeaTree record); 15 | 16 | //查询全部 17 | @Select("select * from tea.tea_tree") 18 | List selectAll(); 19 | } -------------------------------------------------------------------------------- /src/main/java/com/gvssimux/dao/TeaWarehouseDao.java: -------------------------------------------------------------------------------- 1 | package com.gvssimux.dao; 2 | 3 | 4 | import com.gvssimux.pojo.TeaWarehouse; 5 | import org.apache.ibatis.annotations.Select; 6 | 7 | import java.util.List; 8 | 9 | public interface TeaWarehouseDao { 10 | /*全部插入*/ 11 | int insert(TeaWarehouse record); 12 | 13 | /*部分插入*/ 14 | int insertSelective(TeaWarehouse record); 15 | 16 | /*全部查询*/ 17 | @Select("select * from tea.tea_warehouse") 18 | List selectAll(); 19 | } -------------------------------------------------------------------------------- /src/main/java/com/gvssimux/dao/UserLoginDao.java: -------------------------------------------------------------------------------- 1 | package com.gvssimux.dao; 2 | 3 | import com.gvssimux.pojo.UserBasic; 4 | import org.apache.ibatis.annotations.Param; 5 | import org.apache.ibatis.annotations.Select; 6 | 7 | import java.util.List; 8 | 9 | public interface UserLoginDao { 10 | 11 | 12 | //查询全部user,不带密码 13 | @Select("select userid,uname,`user`,sign,time from bms.user") 14 | List selectAll(); 15 | 16 | //根据Id查询 17 | @Select("select * from bms.user where userid = #{userid}") 18 | UserBasic selectByUserId(@Param("userid") String userid); 19 | 20 | //查询用户数量 21 | @Select("SELECT COUNT(*) FROM bms.user") 22 | int getUserNum(); 23 | 24 | //登陆查询,使用用户名和密码登陆 25 | @Select("select * from user_module.user_basic where user_loginid = #{user_loginid} && user_pwd = #{user_pwd} && user_sign = 'admin'") 26 | UserBasic getUserIdByUserNamePwd(@Param("user_loginid")String user_loginid, @Param("user_pwd")String user_pwd); 27 | 28 | 29 | //2021-写 30 | //注册---验证用户名是否在数据中 31 | @Select("SELECT user from user_module.user_basic where user=#{user}") 32 | String getUserByUser(@Param("user")String user); 33 | 34 | } -------------------------------------------------------------------------------- /src/main/java/com/gvssimux/dao/UserRegisterDao.java: -------------------------------------------------------------------------------- 1 | package com.gvssimux.dao; 2 | 3 | import com.gvssimux.pojo.UserBasic; 4 | import org.apache.ibatis.annotations.Param; 5 | import org.apache.ibatis.annotations.Select; 6 | 7 | import java.util.Map; 8 | 9 | public interface UserRegisterDao { 10 | /*添加一条信息到user_basic表中*/ 11 | int addUserBasic(Map map); 12 | 13 | 14 | @Select("select * from user_module.user_basic where user_id = #{user_id}") 15 | UserBasic getUserBasicByUserUname(@Param("user_id")int user_id); 16 | 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/com/gvssimux/fabric/ChaincodeEventListener.java: -------------------------------------------------------------------------------- 1 | package com.gvssimux.fabric; 2 | 3 | import lombok.extern.slf4j.Slf4j; 4 | import org.apache.commons.codec.binary.StringUtils; 5 | import org.hyperledger.fabric.client.ChaincodeEvent; 6 | import org.hyperledger.fabric.client.CloseableIterator; 7 | import org.hyperledger.fabric.client.Network; 8 | 9 | import java.util.concurrent.ScheduledThreadPoolExecutor; 10 | import java.util.concurrent.ThreadFactory; 11 | 12 | /** 13 | * @author he peng 14 | * @date 2022/3/4 15 | */ 16 | 17 | @Slf4j 18 | public class ChaincodeEventListener implements Runnable { 19 | 20 | final Network network; 21 | 22 | public ChaincodeEventListener(Network network) { 23 | this.network = network; 24 | 25 | ScheduledThreadPoolExecutor executor = new ScheduledThreadPoolExecutor(1, new ThreadFactory() { 26 | @Override 27 | public Thread newThread(Runnable r) { 28 | Thread thread = new Thread(r); 29 | thread.setDaemon(true); 30 | thread.setName(this.getClass() + "chaincode_event_listener"); 31 | return thread; 32 | } 33 | }); 34 | 35 | executor.execute(this); 36 | } 37 | 38 | @Override 39 | public void run() { 40 | CloseableIterator events = network.getChaincodeEvents("hyperledger-fabric-contract-java-demo"); 41 | log.info("chaincodeEvents {} " , events); 42 | 43 | 44 | // events.hasNext() 会阻塞等待 45 | while (events.hasNext()) { 46 | ChaincodeEvent event = events.next(); 47 | 48 | log.info("receive chaincode event {} , transaction id {} , block number {} , payload {} " 49 | , event.getEventName() , event.getTransactionId() , event.getBlockNumber() , StringUtils.newStringUtf8(event.getPayload())); 50 | 51 | } 52 | } 53 | } 54 | -------------------------------------------------------------------------------- /src/main/java/com/gvssimux/fabric/ClientApp.java: -------------------------------------------------------------------------------- 1 | package com.gvssimux.fabric; 2 | 3 | import lombok.extern.java.Log; 4 | 5 | 6 | import java.nio.file.Path; 7 | import java.nio.file.Paths; 8 | 9 | @Log 10 | public class ClientApp { 11 | static { 12 | System.setProperty("org.hyperledger.fabric.sdk.service_discovery.as_localhost", "true"); 13 | } 14 | 15 | /* 16 | public static void main(String[] args) throws Exception { 17 | // Load a file system based wallet for managing identities. 18 | Path walletPath = Paths.get("wallet"); 19 | walletPath = Paths.get("D:\\JavaProject\\Fabric_TraceabilitySys\\src\\main\\java\\com\\gvssimux\\wallet"); 20 | Wallet wallet = Wallets.newFileSystemWallet(walletPath); 21 | // load a CCP 22 | String CCP = "D:/JavaProject/fabric-tea-app-java-demo/src/main/resources/com/shanzj/fabric/app/java/" + 23 | "peerOrganizations/org1.example.com/connection-org1.yaml"; 24 | CCP = "D:/JavaProject/Fabric_TraceabilitySys/src/main/resources/com/shanzj/fabric/app/java/" + 25 | "peerOrganizations/org1.example.com/connection-org1.yaml"; 26 | //Path networkConfigPath = Paths.get("..", "..", "test-network", "organizations", "peerOrganizations", "org1.example.com", "connection-org1.yaml"); 27 | Path networkConfigPath = Paths.get(CCP); 28 | 29 | Gateway.Builder builder = Gateway.createBuilder(); 30 | builder.identity(wallet, "appUser").networkConfig(networkConfigPath).discovery(true); 31 | 32 | // create a gateway connection 33 | try (Gateway gateway = builder.connect()) { 34 | 35 | // get the network and contract 36 | Network network = gateway.getNetwork("mychannel"); 37 | 38 | // Contract contract = network.getContract("fabcar"); 39 | Contract contract = network.getContract("teaArea-java-demo"); 40 | 41 | byte[] result; 42 | 43 | System.out.println("--------------------"); 44 | // result = contract.evaluateTransaction("getTeaArea","茶区"); 45 | String s1 = "getTeaArea"; 46 | String s2 = "茶区"; 47 | result = contract.evaluateTransaction(s1,s2); 48 | System.out.println(new String(result)); 49 | 50 | */ 51 | /* System.out.println("--------------------"); 52 | result = contract.evaluateTransaction("queryAllCars"); 53 | System.out.println(new String(result)); 54 | 55 | //contract.submitTransaction("createCar", "CAR10", "VW", "Polo", "Grey", "Mary"); 56 | 57 | System.out.println("--------------------"); 58 | result = contract.evaluateTransaction("queryCar", "CAR9"); 59 | System.out.println(new String(result)); 60 | 61 | 62 | System.out.println("--------------------"); 63 | result = contract.evaluateTransaction("queryAllCars"); 64 | System.out.println(new String(result));*//* 65 | 66 | 67 | //contract.submitTransaction("changeCarOwner", "CAR10", "Archie"); 68 | 69 | //result = contract.evaluateTransaction("queryCar", "CAR10"); 70 | //System.out.println(new String(result)); 71 | } 72 | } 73 | 74 | */ 75 | 76 | 77 | 78 | } 79 | -------------------------------------------------------------------------------- /src/main/java/com/gvssimux/fabric/gateway.java: -------------------------------------------------------------------------------- 1 | package com.gvssimux.fabric; 2 | 3 | 4 | import org.hyperledger.fabric.sdk.Enrollment; 5 | import org.hyperledger.fabric.sdk.security.CryptoSuite; 6 | import org.hyperledger.fabric.sdk.security.CryptoSuiteFactory; 7 | import org.hyperledger.fabric_ca.sdk.EnrollmentRequest; 8 | import org.hyperledger.fabric_ca.sdk.HFCAClient; 9 | import org.hyperledger.fabric_ca.sdk.exception.EnrollmentException; 10 | import org.hyperledger.fabric_ca.sdk.exception.InvalidArgumentException; 11 | 12 | import java.io.IOException; 13 | import java.nio.file.Paths; 14 | import java.security.cert.CertificateException; 15 | import java.util.Properties; 16 | 17 | public class gateway { 18 | 19 | static { 20 | System.setProperty("org.hyperledger.fabric.sdk.service_discovery.as_localhost", "true"); 21 | } 22 | 23 | /* 24 | public static void main(String[] args) throws Exception { 25 | 26 | // Create a CA client for interacting with the CA. 27 | Properties props = new Properties(); 28 | 29 | String certificatePath = "/usr/software/fabric-samples/test-network/organizations/peerOrganizations/org1.example.com/ca/ca.org1.example.com-cert.pem"; 30 | 31 | props.put("pemFile", 32 | certificatePath); 33 | props.put("allowAllHostNames", "true"); 34 | HFCAClient caClient = HFCAClient.createNewInstance("https://localhost:7054", props); 35 | CryptoSuite cryptoSuite = CryptoSuiteFactory.getDefault().getCryptoSuite(); 36 | caClient.setCryptoSuite(cryptoSuite); 37 | // Create a wallet for managing identities 38 | // 创建一个用于管理身份的钱包 39 | Wallet wallet = Wallets.newFileSystemWallet(Paths.get("wallet")); 40 | 41 | // Check to see if we've already enrolled the admin user. 42 | // 查看我们是否已经注册了admin用户。 43 | if (wallet.get("admin") != null) { 44 | System.out.println("An identity for the admin user \"admin\" already exists in the wallet"); 45 | return; 46 | } 47 | 48 | // Enroll the admin user, and import the new identity into the wallet. 49 | // 注册管理用户,并将新身份导入钱包。 50 | final EnrollmentRequest enrollmentRequestTLS = new EnrollmentRequest(); 51 | enrollmentRequestTLS.addHost("localhost"); 52 | enrollmentRequestTLS.setProfile("tls"); 53 | Enrollment enrollment = caClient.enroll("admin", "adminpw", enrollmentRequestTLS); 54 | Identity user = Identities.newX509Identity("Org1MSP", enrollment); 55 | wallet.put("admin", user); 56 | System.out.println("Successfully enrolled user \"admin\" and imported it into the wallet"); 57 | }*/ 58 | 59 | } 60 | -------------------------------------------------------------------------------- /src/main/java/com/gvssimux/pojo/AllPojo.java: -------------------------------------------------------------------------------- 1 | package com.gvssimux.pojo; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Data; 5 | import lombok.NoArgsConstructor; 6 | import lombok.experimental.Accessors; 7 | 8 | 9 | 10 | 11 | @Data 12 | @Accessors(chain = true) 13 | @AllArgsConstructor 14 | @NoArgsConstructor 15 | public class AllPojo { 16 | 17 | TeaArea teaArea; 18 | 19 | 20 | TeaGarden teaGarden; 21 | 22 | 23 | TeaTree teaTree; 24 | 25 | 26 | TeaPick teaPick; 27 | 28 | 29 | TeaMake teaMake; 30 | 31 | 32 | TeaRank teaRank; 33 | 34 | 35 | TeaPack teaPack; 36 | 37 | 38 | TeaTesting teaTesting; 39 | 40 | } 41 | -------------------------------------------------------------------------------- /src/main/java/com/gvssimux/pojo/Employee.java: -------------------------------------------------------------------------------- 1 | package com.gvssimux.pojo; 2 | 3 | import lombok.Data; 4 | import lombok.experimental.Accessors; 5 | 6 | 7 | 8 | @Data 9 | @Accessors(chain = true) 10 | public class Employee { 11 | 12 | // 员工唯一编号 13 | private String eid; 14 | 15 | // 员工姓名 16 | private String ename; 17 | 18 | // 员工性别 19 | private String esex; 20 | 21 | // 员工类别 如:制茶师 22 | private String status; 23 | 24 | // 所属公司 25 | private String company; 26 | 27 | /** 28 | * 用于在富查询时标识查询类型的实体对象 29 | * */ 30 | private final String type = "Employee"; 31 | 32 | } 33 | -------------------------------------------------------------------------------- /src/main/java/com/gvssimux/pojo/TeaArea.java: -------------------------------------------------------------------------------- 1 | package com.gvssimux.pojo; 2 | 3 | 4 | import com.fasterxml.jackson.annotation.JsonProperty; 5 | import lombok.Data; 6 | import lombok.experimental.Accessors; 7 | 8 | 9 | import java.util.List; 10 | 11 | 12 | @Data 13 | @Accessors(chain = true) 14 | public class TeaArea { 15 | /** 16 | * 茶区--唯一编号 17 | * */ 18 | 19 | private String teaAreaId1; 20 | 21 | /** 22 | * 茶区--名字 23 | * */ 24 | 25 | private String teaAreaName; 26 | 27 | /** 28 | * 茶区--地址 29 | * */ 30 | 31 | private String teaAreaAddress; 32 | 33 | /** 34 | * 茶区--经纬度 35 | * */ 36 | 37 | private String teaAreaLongitude; 38 | 39 | /** 40 | * 茶区--面积 41 | * */ 42 | 43 | private String teaAreaArea; 44 | 45 | /** 46 | * 茶区--晴天数 47 | * */ 48 | 49 | private String teaAreaDay; 50 | 51 | /** 52 | * 所属于的--茶区编号 53 | * */ 54 | 55 | private String teaAreaId2; 56 | 57 | /** 58 | * 所属于的--茶园编号 59 | * */ 60 | 61 | private String teaGardenId2; 62 | 63 | 64 | 65 | /** 66 | * 所属公司 67 | * */ 68 | private String company; 69 | 70 | 71 | /** 72 | * 用于在富查询时标识查询类型的实体对象 73 | * */ 74 | private final String type = "TeaArea"; 75 | 76 | 77 | 78 | 79 | private List teaKinds; 80 | 81 | 82 | private List teaGardenIds; 83 | 84 | 85 | private List teaAreaSonids; 86 | 87 | 88 | public TeaArea(@JsonProperty("teaAreaId1") String teaAreaId1,@JsonProperty("teaAreaAddress") String teaAreaAddress,@JsonProperty("teaAreaLongitude") String teaAreaLongitude,@JsonProperty("teaAreaArea") String teaAreaArea,@JsonProperty("teaAreaDay") String teaAreaDay,@JsonProperty("teaAreaId2") String teaAreaId2,@JsonProperty("teaGardenId2") String teaGardenId2, List teaKinds, List teaGardenIds, List teaAreaSonids) { 89 | this.teaAreaId1 = teaAreaId1; 90 | this.teaAreaAddress = teaAreaAddress; 91 | this.teaAreaLongitude = teaAreaLongitude; 92 | this.teaAreaArea = teaAreaArea; 93 | this.teaAreaDay = teaAreaDay; 94 | this.teaAreaId2 = teaAreaId2; 95 | this.teaGardenId2 = teaGardenId2; 96 | this.teaKinds = teaKinds; 97 | this.teaGardenIds = teaGardenIds; 98 | this.teaAreaSonids = teaAreaSonids; 99 | } 100 | 101 | public TeaArea() { 102 | } 103 | } -------------------------------------------------------------------------------- /src/main/java/com/gvssimux/pojo/TeaGarden.java: -------------------------------------------------------------------------------- 1 | package com.gvssimux.pojo; 2 | 3 | import lombok.Data; 4 | import lombok.experimental.Accessors; 5 | 6 | 7 | 8 | @Data 9 | @Accessors(chain = true) 10 | public class TeaGarden { 11 | 12 | // 茶园编号 13 | 14 | private String teaGardenId1; 15 | 16 | // 茶园名字 17 | 18 | private String teaGardenName; 19 | 20 | // 茶园地址 21 | 22 | private String teaGardenAddress; 23 | 24 | // 茶园面积 25 | 26 | private String teaGardenArea; 27 | 28 | // 茶园经纬度 29 | 30 | private String teaGardenLongitude; 31 | 32 | // 所属茶区编号 33 | 34 | private String teaAreaId2; 35 | 36 | // 所属茶园编号 37 | 38 | private String teaGardenId2; 39 | 40 | 41 | /** 42 | * 所属公司 43 | * */ 44 | private String company; 45 | 46 | 47 | /** 48 | * 用于在富查询时标识查询类型的实体对象 49 | * */ 50 | private final String type = "TeaGarden"; 51 | 52 | 53 | private String teaGardenAreaid; 54 | 55 | 56 | private String teaGardenTreekind; 57 | 58 | 59 | private String teaGardenTeaid; 60 | 61 | 62 | 63 | } -------------------------------------------------------------------------------- /src/main/java/com/gvssimux/pojo/TeaKind.java: -------------------------------------------------------------------------------- 1 | package com.gvssimux.pojo; 2 | 3 | import lombok.Data; 4 | 5 | import java.util.List; 6 | 7 | @Data 8 | public class TeaKind { 9 | private List kind; 10 | } 11 | -------------------------------------------------------------------------------- /src/main/java/com/gvssimux/pojo/TeaLeaf.java: -------------------------------------------------------------------------------- 1 | package com.gvssimux.pojo; 2 | 3 | import lombok.Data; 4 | 5 | @Data 6 | public class TeaLeaf { 7 | 8 | private TeaPick teaPick; 9 | 10 | private TeaMake teaMake; 11 | 12 | private TeaRank teaRank; 13 | 14 | } -------------------------------------------------------------------------------- /src/main/java/com/gvssimux/pojo/TeaMake.java: -------------------------------------------------------------------------------- 1 | package com.gvssimux.pojo; 2 | 3 | import lombok.Data; 4 | import lombok.experimental.Accessors; 5 | 6 | 7 | 8 | @Data 9 | @Accessors(chain = true) 10 | public class TeaMake { 11 | // 制茶师 12 | private Employee teaMakePer; 13 | 14 | // 制茶时间 15 | private String teaMakeTime; 16 | 17 | // 采摘月份 18 | private String month; 19 | 20 | // 制茶工艺 21 | private String teaMakeWay; 22 | 23 | // 茶叶批编号 与teaPickId是对应的 24 | private String teaMakeId; 25 | 26 | // 数量 27 | private Integer output; 28 | 29 | // 公司 30 | private String company; 31 | 32 | 33 | /** 34 | * 用于在富查询时标识查询类型的实体对象 35 | * */ 36 | private final String type = "TeaMake"; 37 | 38 | /** 39 | * 用于在富查询时标识查询类型的实体对象 40 | * */ 41 | private final String type2 = "TeaLeft"; 42 | 43 | 44 | } -------------------------------------------------------------------------------- /src/main/java/com/gvssimux/pojo/TeaPack.java: -------------------------------------------------------------------------------- 1 | package com.gvssimux.pojo; 2 | 3 | import lombok.Data; 4 | import lombok.experimental.Accessors; 5 | 6 | 7 | 8 | @Data 9 | @Accessors(chain = true) 10 | public class TeaPack { 11 | // 包装人 12 | private Employee teaPackPer; 13 | 14 | // 包装时间 15 | private String teaPackTime; 16 | 17 | // 月份 18 | private String month; 19 | 20 | // 小盒编号 21 | private String teaPackSmllBoxId; 22 | 23 | // 大盒编号 24 | private String teaPackBigBoxId; 25 | 26 | // 茶叶批编号 27 | private String teaPackID; 28 | 29 | // 公司 30 | private String company; 31 | 32 | 33 | } -------------------------------------------------------------------------------- /src/main/java/com/gvssimux/pojo/TeaPick.java: -------------------------------------------------------------------------------- 1 | package com.gvssimux.pojo; 2 | 3 | import lombok.Data; 4 | import lombok.experimental.Accessors; 5 | 6 | 7 | 8 | @Data 9 | @Accessors(chain = true) 10 | public class TeaPick { 11 | // 采茶师 12 | private Employee teaPickPer; 13 | 14 | // 采摘时间 15 | private String teaPickTime; 16 | 17 | // 采摘月份 18 | private String month; 19 | 20 | // 茶叶批编号 21 | private String teaPickId; 22 | 23 | // 所属茶树编号 24 | private String teaTreeId2; 25 | 26 | // 鲜叶质量 27 | private String teaPickQuality; 28 | 29 | // 数量 30 | private Integer output; 31 | 32 | // 公司 33 | private String company; 34 | 35 | 36 | 37 | /** 38 | * 用于在富查询时标识查询类型的实体对象 39 | * */ 40 | private final String type = "TeaPick"; 41 | 42 | /** 43 | * 用于在富查询时标识查询类型的实体对象 44 | * */ 45 | private final String type2 = "TeaLeft"; 46 | 47 | } -------------------------------------------------------------------------------- /src/main/java/com/gvssimux/pojo/TeaRank.java: -------------------------------------------------------------------------------- 1 | package com.gvssimux.pojo; 2 | 3 | import lombok.Data; 4 | import lombok.experimental.Accessors; 5 | 6 | 7 | 8 | @Data 9 | @Accessors(chain = true) 10 | public class TeaRank { 11 | // 定级人 12 | private Employee teaRankPer; 13 | 14 | // 定级时间 15 | private String teaRankTime; 16 | 17 | // 定级月份 18 | private String mouth; 19 | 20 | // 茶叶批编号 21 | private String teaRankId; 22 | 23 | // 茶叶等级 24 | private String teaRankRank; 25 | 26 | // 公司 27 | private String company; 28 | 29 | /** 30 | * 用于在富查询时标识查询类型的实体对象 31 | * */ 32 | private final String type = "TeaRank"; 33 | 34 | /** 35 | * 用于在富查询时标识查询类型的实体对象 36 | * */ 37 | private final String type2 = "TeaLeft"; 38 | 39 | 40 | } -------------------------------------------------------------------------------- /src/main/java/com/gvssimux/pojo/TeaTesting.java: -------------------------------------------------------------------------------- 1 | package com.gvssimux.pojo; 2 | 3 | import lombok.Data; 4 | import lombok.experimental.Accessors; 5 | 6 | 7 | 8 | @Data 9 | @Accessors(chain = true) 10 | public class TeaTesting { 11 | // 质检人 12 | private Employee teaTestingPer; 13 | 14 | // 质检批次Id 15 | private String teaTestingId; 16 | 17 | // 质检结果 18 | private String teaTestingResult; 19 | 20 | // 质检时间 21 | private String teaTestingTime; 22 | 23 | // 小盒编号 24 | private String teaTestingSmllBoxId; 25 | 26 | // 大盒编号 27 | private String teaTestingBigBoxId; 28 | 29 | // 公司 30 | private String company; 31 | 32 | 33 | 34 | } -------------------------------------------------------------------------------- /src/main/java/com/gvssimux/pojo/TeaTree.java: -------------------------------------------------------------------------------- 1 | package com.gvssimux.pojo; 2 | 3 | import lombok.Data; 4 | import lombok.experimental.Accessors; 5 | 6 | 7 | 8 | 9 | @Data 10 | @Accessors(chain = true) 11 | public class TeaTree { 12 | // 茶树编号 13 | 14 | private String teaTreeId; 15 | 16 | // 茶树地址 17 | 18 | private String teaTreeAddress; 19 | 20 | // 茶树经纬度 21 | 22 | private String teaTreeLongitude; 23 | 24 | // 茶树高度 25 | 26 | private String teaTreeHeight; 27 | 28 | // 茶树种类 29 | 30 | private String teaTreeKind; 31 | 32 | // 茶树状态 33 | 34 | private String teaTreeState; 35 | 36 | // 茶树护养情况 37 | 38 | private String teaTreeCultivate; 39 | 40 | // 茶树生长环境 41 | 42 | private String teaTreeGrowingEnv; 43 | 44 | // 茶树所属茶区 45 | 46 | private String teaAreaId2; 47 | 48 | // 茶树所属茶园 49 | 50 | private String teaGardenId2; 51 | 52 | 53 | /** 54 | * 所属公司 55 | * */ 56 | private String company; 57 | 58 | 59 | /** 60 | * 用于在富查询时标识查询类型的实体对象 61 | * */ 62 | private final String type = "TeaTree"; 63 | 64 | 65 | 66 | } -------------------------------------------------------------------------------- /src/main/java/com/gvssimux/pojo/TeaWarehouse.java: -------------------------------------------------------------------------------- 1 | package com.gvssimux.pojo; 2 | 3 | import lombok.Data; 4 | 5 | import java.util.Date; 6 | 7 | @Data 8 | public class TeaWarehouse { 9 | private String teaWarehouseId; 10 | 11 | private String teaWarehousePerid; 12 | 13 | private Date teaWarehouseIntime; 14 | 15 | private Date teaWarehouseOuttime; 16 | 17 | } -------------------------------------------------------------------------------- /src/main/java/com/gvssimux/pojo/UserBasic.java: -------------------------------------------------------------------------------- 1 | package com.gvssimux.pojo; 2 | 3 | 4 | import lombok.Data; 5 | 6 | @Data 7 | public class UserBasic { 8 | 9 | private Integer userId; 10 | 11 | private String userUuid; 12 | 13 | private String userLoginid; 14 | 15 | private String userPwd; 16 | 17 | private String userUname; 18 | 19 | private String userSign; 20 | 21 | private String user_tel; 22 | 23 | private String userEmail; 24 | 25 | private String userSex; 26 | 27 | private String userAge; 28 | 29 | 30 | public UserBasic(String s, String user_uname, String user_loginid, String user_pwd2, String admin, int i) { 31 | } 32 | 33 | public UserBasic(Integer userId, String userUuid, String userLoginid, String userPwd, String userUname, String userSign, String user_tel, String userEmail, String userSex, String userAge) { 34 | this.userId = userId; 35 | this.userUuid = userUuid; 36 | this.userLoginid = userLoginid; 37 | this.userPwd = userPwd; 38 | this.userUname = userUname; 39 | this.userSign = userSign; 40 | this.user_tel = user_tel; 41 | this.userEmail = userEmail; 42 | this.userSex = userSex; 43 | this.userAge = userAge; 44 | } 45 | 46 | public UserBasic() { 47 | } 48 | } -------------------------------------------------------------------------------- /src/main/java/com/gvssimux/pojo/fabquery/QueryResult.java: -------------------------------------------------------------------------------- 1 | package com.gvssimux.pojo.fabquery; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Data; 5 | import lombok.NoArgsConstructor; 6 | import lombok.experimental.Accessors; 7 | 8 | 9 | 10 | @Data 11 | @Accessors(chain = true) 12 | @AllArgsConstructor 13 | @NoArgsConstructor 14 | public class QueryResult { 15 | private String key; 16 | 17 | private String json; 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/com/gvssimux/pojo/fabquery/QueryResultList.java: -------------------------------------------------------------------------------- 1 | package com.gvssimux.pojo.fabquery; 2 | 3 | import lombok.Data; 4 | 5 | import java.util.List; 6 | 7 | 8 | @Data 9 | public class QueryResultList { 10 | 11 | List resultList; 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/com/gvssimux/service/EmployeeService.java: -------------------------------------------------------------------------------- 1 | package com.gvssimux.service; 2 | 3 | import com.fasterxml.jackson.core.JsonProcessingException; 4 | import com.gvssimux.pojo.Employee; 5 | import org.hyperledger.fabric.client.Contract; 6 | 7 | 8 | public interface EmployeeService { 9 | /*限制插入,区块链中的key会根据总数自增,但是同一公司下不能出现相同编号的人*/ 10 | String insertOne(Contract contract, Employee record); 11 | } 12 | -------------------------------------------------------------------------------- /src/main/java/com/gvssimux/service/TeaAreaService.java: -------------------------------------------------------------------------------- 1 | package com.gvssimux.service; 2 | 3 | import com.gvssimux.pojo.TeaArea; 4 | import com.gvssimux.pojo.fabquery.QueryResultList; 5 | import org.hyperledger.fabric.client.Contract; 6 | 7 | 8 | public interface TeaAreaService { 9 | 10 | 11 | 12 | /*全部插入*/ 13 | String insertOne(Contract contract, TeaArea record); 14 | 15 | /*查询全部*/ 16 | QueryResultList selectOffsetLimit(Contract contract,String companyName,int offset,int limit) throws Exception; 17 | 18 | int getSum(Contract contract); 19 | 20 | 21 | 22 | 23 | 24 | 25 | // 26 | 27 | // 28 | // /*部分插入*/ 29 | // int insertSelective(TeaArea record); 30 | } 31 | -------------------------------------------------------------------------------- /src/main/java/com/gvssimux/service/TeaGardenService.java: -------------------------------------------------------------------------------- 1 | package com.gvssimux.service; 2 | 3 | 4 | import com.gvssimux.pojo.TeaGarden; 5 | import com.gvssimux.pojo.fabquery.QueryResultList; 6 | import org.hyperledger.fabric.client.Contract; 7 | 8 | 9 | public interface TeaGardenService { 10 | 11 | 12 | /*插入*/ 13 | String insertOne(Contract contract, TeaGarden record); 14 | 15 | /*查询*/ 16 | QueryResultList selectOffsetLimit(Contract contract,String companyName,int offset,int limit) throws Exception; 17 | 18 | 19 | int getSum(Contract contract); 20 | 21 | 22 | } 23 | -------------------------------------------------------------------------------- /src/main/java/com/gvssimux/service/TeaKindService.java: -------------------------------------------------------------------------------- 1 | package com.gvssimux.service; 2 | 3 | 4 | 5 | 6 | import org.hyperledger.fabric.client.Contract; 7 | 8 | import java.util.List; 9 | import java.util.concurrent.TimeoutException; 10 | 11 | public interface TeaKindService { 12 | /*全部插入*/ 13 | String insertOne(List record); 14 | 15 | 16 | int getSum(Contract contract); 17 | 18 | 19 | 20 | 21 | 22 | 23 | } 24 | -------------------------------------------------------------------------------- /src/main/java/com/gvssimux/service/TeaLeafService.java: -------------------------------------------------------------------------------- 1 | package com.gvssimux.service; 2 | 3 | import com.gvssimux.pojo.TeaLeaf; 4 | import org.apache.ibatis.annotations.Select; 5 | 6 | import java.util.List; 7 | 8 | public interface TeaLeafService { 9 | 10 | 11 | } 12 | -------------------------------------------------------------------------------- /src/main/java/com/gvssimux/service/TeaMakeService.java: -------------------------------------------------------------------------------- 1 | package com.gvssimux.service; 2 | 3 | import com.gvssimux.pojo.TeaMake; 4 | import org.hyperledger.fabric.client.Contract; 5 | 6 | 7 | import java.util.List; 8 | 9 | public interface TeaMakeService { 10 | /*插入*/ 11 | String insertOne(Contract contract, TeaMake record); 12 | 13 | 14 | } 15 | -------------------------------------------------------------------------------- /src/main/java/com/gvssimux/service/TeaPackService.java: -------------------------------------------------------------------------------- 1 | package com.gvssimux.service; 2 | 3 | import com.gvssimux.pojo.TeaPack; 4 | import org.hyperledger.fabric.client.Contract; 5 | 6 | 7 | public interface TeaPackService{ 8 | /*插入*/ 9 | String insertOne(Contract contract, TeaPack record); 10 | } 11 | -------------------------------------------------------------------------------- /src/main/java/com/gvssimux/service/TeaPackServiceImpl.java: -------------------------------------------------------------------------------- 1 | package com.gvssimux.service; 2 | 3 | import com.alibaba.fastjson.JSON; 4 | import com.alibaba.fastjson.JSONObject; 5 | import com.gvssimux.dao.TeaPackDao; 6 | import com.gvssimux.pojo.TeaPack; 7 | import com.gvssimux.pojo.TeaRank; 8 | import com.gvssimux.pojo.fabquery.QueryResult; 9 | import com.gvssimux.pojo.fabquery.QueryResultList; 10 | import org.hyperledger.fabric.client.Contract; 11 | 12 | 13 | import java.util.List; 14 | 15 | public class TeaPackServiceImpl implements TeaPackService{ 16 | private String k; 17 | 18 | /*插入*/ 19 | public String insertOne(Contract contract, TeaPack record){ 20 | byte[] bytes = new byte[0]; 21 | byte[] bytes2 = new byte[0]; 22 | int size = 0; 23 | try { 24 | bytes2 = contract.submitTransaction("queryAllByKey", k); 25 | String s = new String(bytes2); 26 | //System.out.println("提交交易" + s); 27 | JSONObject jsonObject = JSONObject.parseObject(s); 28 | QueryResultList resultList = JSON.toJavaObject(jsonObject, QueryResultList.class); 29 | List list = resultList.getResultList(); 30 | size = list.size(); 31 | } catch (Exception e) { 32 | e.printStackTrace(); 33 | } 34 | try { 35 | bytes = contract.submitTransaction("createData", k+(size+1),JSON.toJSONString(record)); 36 | 37 | } catch (Exception e) { 38 | String errorMessage = "交易提交失败~"; 39 | System.out.println(errorMessage); 40 | e.printStackTrace(); 41 | } 42 | String s = new String(bytes); 43 | if (bytes!=null){ 44 | System.out.println("===>交易提交成功===>"); 45 | } 46 | return s; 47 | 48 | } 49 | 50 | /*spring 注入k */ 51 | public void setK(String k) { 52 | this.k = k; 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /src/main/java/com/gvssimux/service/TeaPickService.java: -------------------------------------------------------------------------------- 1 | package com.gvssimux.service; 2 | 3 | import com.gvssimux.pojo.TeaArea; 4 | import com.gvssimux.pojo.TeaPick; 5 | import com.gvssimux.pojo.fabquery.QueryResultList; 6 | import org.hyperledger.fabric.client.Contract; 7 | 8 | 9 | public interface TeaPickService { 10 | 11 | 12 | /*插入*/ 13 | String insertOne(Contract contract, TeaPick record); 14 | 15 | /*限制查询*/ 16 | QueryResultList selectOffsetLimit(Contract contract,String companyName, int offset, int limit) throws Exception; 17 | 18 | 19 | 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/com/gvssimux/service/TeaRankService.java: -------------------------------------------------------------------------------- 1 | package com.gvssimux.service; 2 | 3 | import com.gvssimux.pojo.TeaRank; 4 | import org.hyperledger.fabric.client.Contract; 5 | 6 | ; 7 | 8 | public interface TeaRankService { 9 | /*插入*/ 10 | String insertOne(Contract contract, TeaRank record); 11 | 12 | 13 | } 14 | -------------------------------------------------------------------------------- /src/main/java/com/gvssimux/service/TeaTestingService.java: -------------------------------------------------------------------------------- 1 | package com.gvssimux.service; 2 | 3 | 4 | import com.gvssimux.pojo.TeaTesting; 5 | import org.hyperledger.fabric.client.Contract; 6 | 7 | 8 | public interface TeaTestingService { 9 | /*插入*/ 10 | String insertOne(Contract contract, TeaTesting record); 11 | } 12 | -------------------------------------------------------------------------------- /src/main/java/com/gvssimux/service/TeaTestingServiceImpl.java: -------------------------------------------------------------------------------- 1 | package com.gvssimux.service; 2 | 3 | import com.alibaba.fastjson.JSON; 4 | import com.alibaba.fastjson.JSONObject; 5 | 6 | import com.gvssimux.pojo.TeaTesting; 7 | import com.gvssimux.pojo.fabquery.QueryResult; 8 | import com.gvssimux.pojo.fabquery.QueryResultList; 9 | import org.hyperledger.fabric.client.Contract; 10 | 11 | import java.util.List; 12 | 13 | public class TeaTestingServiceImpl implements TeaTestingService{ 14 | private String k; 15 | 16 | 17 | /*插入*/ 18 | public String insertOne(Contract contract, TeaTesting record){ 19 | 20 | byte[] bytes = new byte[0]; 21 | byte[] bytes2 = new byte[0]; 22 | int size = 0; 23 | try { 24 | bytes2 = contract.submitTransaction("queryAllByKey", k); 25 | String s = new String(bytes2); 26 | //System.out.println("提交交易" + s); 27 | JSONObject jsonObject = JSONObject.parseObject(s); 28 | QueryResultList resultList = JSON.toJavaObject(jsonObject, QueryResultList.class); 29 | List list = resultList.getResultList(); 30 | size = list.size(); 31 | } catch (Exception e) { 32 | e.printStackTrace(); 33 | } 34 | 35 | 36 | try { 37 | bytes = contract.submitTransaction("createData", k+(size+1),JSON.toJSONString(record)); 38 | 39 | } catch (Exception e) { 40 | String errorMessage = "交易提交失败~"; 41 | System.out.println(errorMessage); 42 | e.printStackTrace(); 43 | } 44 | String s = new String(bytes); 45 | if (bytes!=null){ 46 | System.out.println("===>交易提交成功===>"); 47 | } 48 | return s; 49 | 50 | } 51 | 52 | /*spring 注入k */ 53 | public void setK(String k) { 54 | this.k = k; 55 | } 56 | } 57 | -------------------------------------------------------------------------------- /src/main/java/com/gvssimux/service/TeaTreeService.java: -------------------------------------------------------------------------------- 1 | package com.gvssimux.service; 2 | 3 | import com.gvssimux.pojo.TeaTree; 4 | import com.gvssimux.pojo.fabquery.QueryResultList; 5 | import org.hyperledger.fabric.client.Contract; 6 | 7 | 8 | public interface TeaTreeService { 9 | 10 | /*全部插入*/ 11 | String insertOne(Contract contract, TeaTree record); 12 | 13 | /*查询全部*/ 14 | QueryResultList selectOffsetLimit(Contract contract, int offset,int limit) throws Exception; 15 | 16 | 17 | 18 | 19 | } 20 | -------------------------------------------------------------------------------- /src/main/java/com/gvssimux/service/TeaWarehouseService.java: -------------------------------------------------------------------------------- 1 | package com.gvssimux.service; 2 | 3 | import com.gvssimux.pojo.TeaWarehouse; 4 | import org.apache.ibatis.annotations.Select; 5 | 6 | import java.util.List; 7 | 8 | public interface TeaWarehouseService { 9 | 10 | /*全部插入*/ 11 | int insert(TeaWarehouse record); 12 | 13 | /*部分插入*/ 14 | int insertSelective(TeaWarehouse record); 15 | 16 | /*全部查询*/ 17 | List selectAll(); 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/com/gvssimux/service/TeaWarehouseServiceImpl.java: -------------------------------------------------------------------------------- 1 | package com.gvssimux.service; 2 | 3 | import com.gvssimux.dao.TeaWarehouseDao; 4 | import com.gvssimux.pojo.TeaWarehouse; 5 | 6 | import java.util.List; 7 | 8 | public class TeaWarehouseServiceImpl implements TeaWarehouseService{ 9 | private TeaWarehouseDao mapper; 10 | 11 | /*全部插入*/ 12 | @Override 13 | public int insert(TeaWarehouse record) { 14 | return mapper.insert(record); 15 | } 16 | 17 | /*部分插入*/ 18 | @Override 19 | public int insertSelective(TeaWarehouse record) { 20 | return mapper.insertSelective(record); 21 | } 22 | 23 | /*全部查询*/ 24 | @Override 25 | public List selectAll() { 26 | return mapper.selectAll(); 27 | } 28 | 29 | /*spring自动装配*/ 30 | public void setMapper(TeaWarehouseDao mapper) { 31 | this.mapper = mapper; 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /src/main/java/com/gvssimux/service/UserLoginService.java: -------------------------------------------------------------------------------- 1 | package com.gvssimux.service; 2 | 3 | import com.gvssimux.pojo.UserBasic; 4 | 5 | import java.util.List; 6 | 7 | public interface UserLoginService { 8 | 9 | //查询全部user,不带密码 10 | List selectAll(); 11 | 12 | //根据Id查询 13 | UserBasic selectByUserId(String userid); 14 | 15 | //查询用户数量 16 | int getUserNum(); 17 | 18 | //登陆查询,使用用户名和密码登陆 19 | UserBasic getUserIdByUserNamePwd(String user_loginid, String user_pwd); 20 | 21 | //2021-写 22 | //注册---验证用户名是否在数据中 23 | int getUserByUser(String user); 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/java/com/gvssimux/service/UserLoginServiceImpl.java: -------------------------------------------------------------------------------- 1 | package com.gvssimux.service; 2 | 3 | import com.gvssimux.dao.UserLoginDao; 4 | import com.gvssimux.pojo.UserBasic; 5 | 6 | import java.util.List; 7 | 8 | 9 | public class UserLoginServiceImpl { 10 | private UserLoginDao mapper; 11 | 12 | 13 | public List selectAll(){ 14 | return mapper.selectAll(); 15 | } 16 | 17 | 18 | public UserBasic selectByUserId(String userid) { 19 | return mapper.selectByUserId(userid); 20 | } 21 | 22 | 23 | public int getUserNum() { 24 | return mapper.getUserNum(); 25 | } 26 | 27 | 28 | public UserBasic getUserIdByUserNamePwd(String user_loginid, String user_pwd) { 29 | return mapper.getUserIdByUserNamePwd(user_loginid, user_pwd); 30 | } 31 | 32 | //2021-写 33 | //注册---验证用户名是否在数据中 34 | public int getUserByUser(String user){ 35 | if (mapper.getUserByUser(user)==null){ 36 | return 0; 37 | } 38 | if(mapper.getUserByUser(user).equals(user)) 39 | return 1; 40 | return 0; 41 | } 42 | 43 | 44 | public void setMapper(UserLoginDao mapper) { 45 | this.mapper = mapper; 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /src/main/java/com/gvssimux/service/UserRegisterService.java: -------------------------------------------------------------------------------- 1 | package com.gvssimux.service; 2 | 3 | import com.gvssimux.pojo.UserBasic; 4 | import org.apache.ibatis.annotations.Param; 5 | import org.apache.ibatis.annotations.Select; 6 | 7 | import java.util.Map; 8 | 9 | public interface UserRegisterService { 10 | /*添加一条信息到user_basic表中*/ 11 | int addUserBasic(Map map); 12 | 13 | 14 | UserBasic getUserBasicByUserUname(int user_id); 15 | 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/com/gvssimux/service/UserRegisterServiceImpl.java: -------------------------------------------------------------------------------- 1 | package com.gvssimux.service; 2 | 3 | import com.gvssimux.dao.UserRegisterDao; 4 | import com.gvssimux.pojo.UserBasic; 5 | import com.gvssimux.service.UserRegisterService; 6 | 7 | import java.util.Map; 8 | 9 | public class UserRegisterServiceImpl implements UserRegisterService { 10 | private UserRegisterDao mapper; 11 | 12 | @Override 13 | public int addUserBasic(Map map) { 14 | return mapper.addUserBasic(map); 15 | } 16 | 17 | @Override 18 | public UserBasic getUserBasicByUserUname(int user_id) { 19 | return mapper.getUserBasicByUserUname(user_id); 20 | } 21 | 22 | 23 | 24 | public void setMapper(UserRegisterDao mapper) { 25 | this.mapper = mapper; 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /src/main/java/com/gvssimux/util/DataUtil.java: -------------------------------------------------------------------------------- 1 | package com.gvssimux.util; 2 | 3 | import org.junit.Test; 4 | 5 | import java.util.ArrayList; 6 | 7 | public class DataUtil { 8 | 9 | static String[] reList = {"","一月", "二月", "三月", "四月", "五月", "六月","七月","八月","九月","十月","十一月","十二月"}; 10 | /*"2022-04-14-20-24-19"*/ 11 | public static String getMouth(String datatime){ 12 | char c = datatime.charAt(5); 13 | char b = datatime.charAt(6); 14 | String s = String.valueOf(c).concat(String.valueOf(b)); 15 | System.out.println("获取月份===》"+s); 16 | String s1 = reList[Integer.parseInt(s)]; 17 | System.out.println("解析月份===》"+s1); 18 | return s1; 19 | } 20 | 21 | @Test 22 | public void test01(){ 23 | String[] reList = {"","一月", "二月", "三月", "四月", "五月", "六月","七月","八月","九月","十月","十一月","十二月"}; 24 | String mouth = getMouth("2022-12-14-20-24-19"); 25 | System.out.println(mouth); 26 | } 27 | 28 | } 29 | -------------------------------------------------------------------------------- /src/main/java/com/gvssimux/util/FabricGatewayUtil.java: -------------------------------------------------------------------------------- 1 | package com.gvssimux.util; 2 | 3 | 4 | import com.gvssimux.fabric.FabricGateway; 5 | import org.hyperledger.fabric.client.Contract; 6 | 7 | public class FabricGatewayUtil { 8 | public static Contract getContract() throws Exception { 9 | FabricGateway fabricGateway = new FabricGateway(); 10 | Contract contract = fabricGateway.getContract(); 11 | return contract; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/main/java/com/gvssimux/util/GetUUID.java: -------------------------------------------------------------------------------- 1 | package com.gvssimux.util; 2 | 3 | public final class GetUUID { 4 | 5 | 6 | public static String get(){ 7 | 8 | String UUID; 9 | UUID = java.util.UUID.randomUUID().toString().replace("-", "" ); 10 | 11 | return UUID; 12 | } 13 | 14 | public static void main(String[] args) { 15 | System.out.println(get()); 16 | } 17 | 18 | 19 | 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/com/gvssimux/util/JsonUtil.java: -------------------------------------------------------------------------------- 1 | package com.gvssimux.util; 2 | 3 | import com.alibaba.fastjson.JSON; 4 | import com.alibaba.fastjson.JSONObject; 5 | import com.fasterxml.jackson.core.JsonProcessingException; 6 | import com.fasterxml.jackson.databind.ObjectMapper; 7 | import com.fasterxml.jackson.databind.SerializationFeature; 8 | import com.gvssimux.pojo.fabquery.QueryResult; 9 | import com.gvssimux.pojo.fabquery.QueryResultList; 10 | 11 | import java.text.SimpleDateFormat; 12 | import java.util.List; 13 | 14 | public class JsonUtil { 15 | //简单的getJson 16 | public static String getJson(Object obj) throws JsonProcessingException { 17 | ObjectMapper mapper = new ObjectMapper(); 18 | return mapper.writeValueAsString(obj); 19 | } 20 | 21 | public static String getJson(Object obj,String dataFormat) throws JsonProcessingException { 22 | ObjectMapper mapper = new ObjectMapper(); 23 | mapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS,false); 24 | //自定义日期格式 25 | SimpleDateFormat simpleDateFormat = new SimpleDateFormat(dataFormat); 26 | mapper.setDateFormat(simpleDateFormat); 27 | return mapper.writeValueAsString(obj); 28 | } 29 | 30 | 31 | /** 32 | * 对集合进行转json 33 | * */ 34 | public static String getJson(List objList) throws JsonProcessingException { 35 | ObjectMapper mapper = new ObjectMapper(); 36 | String json = mapper.writeValueAsString(objList); 37 | return json; 38 | } 39 | 40 | 41 | /** 42 | * 将fabric查询出来的字符串转为 QueryResultList 43 | * */ 44 | public static QueryResultList jsonStrToQueryResultList(String jsonStr) { 45 | JSONObject jsonObject = JSONObject.parseObject(jsonStr); 46 | QueryResultList resultList = JSON.toJavaObject(jsonObject, QueryResultList.class); 47 | System.out.println("JsonUtil工具 把jsonStr转为QueryResultList对象==》 "+resultList); 48 | return resultList; 49 | } 50 | 51 | /** 52 | * 将fabric查询出来的字符串转为 List 53 | * 54 | * */ 55 | public static List jsonStrToList(String jsonStr) { 56 | 57 | QueryResultList queryResultList = jsonStrToQueryResultList(jsonStr); 58 | List resultList = queryResultList.getResultList(); 59 | System.out.println("JsonUtil工具 把jsonStr转为List数组==》 "+resultList); 60 | 61 | return resultList; 62 | } 63 | 64 | 65 | 66 | 67 | 68 | } 69 | -------------------------------------------------------------------------------- /src/main/java/com/gvssimux/util/MybatisUtils.java: -------------------------------------------------------------------------------- 1 | package com.gvssimux.util; 2 | 3 | import org.apache.ibatis.io.Resources; 4 | import org.apache.ibatis.session.SqlSession; 5 | import org.apache.ibatis.session.SqlSessionFactory; 6 | import org.apache.ibatis.session.SqlSessionFactoryBuilder; 7 | 8 | import java.io.IOException; 9 | import java.io.InputStream; 10 | 11 | public class MybatisUtils { 12 | private static SqlSessionFactory sqlSessionFactory; 13 | 14 | static{ 15 | try { 16 | //使用Mybatis第一步:获取sqlSessionFactory对象 17 | String resource = "mybatis-config.xml"; 18 | InputStream inputStream = Resources.getResourceAsStream(resource); 19 | sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); 20 | } catch (IOException e) { 21 | e.printStackTrace(); 22 | } 23 | 24 | } 25 | 26 | //既然有了 SqlSessionFactory,顾名思义,我们就可以从中获得 SqlSession 的实例了。 27 | // SqlSession 完全包含了面向数据库执行 SQL 命令所需的所有方法。 28 | public static SqlSession getSqlSession(){ 29 | return sqlSessionFactory.openSession(); 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /src/main/java/com/gvssimux/util/UserVerify.java: -------------------------------------------------------------------------------- 1 | package com.gvssimux.util; 2 | 3 | import java.util.regex.Matcher; 4 | import java.util.regex.Pattern; 5 | 6 | public final class UserVerify { 7 | 8 | /*****************↓↓↓封装的方法↓↓↓********************/ 9 | 10 | /** 11 | * 判断字符串是否以字母或_开头 12 | * @param str 待检验的字符串 13 | * @return 返回是否包含 14 | * true 以字母或_开头 ; false 不以字母或_开头 15 | */ 16 | public static boolean judgeContainsStr(String str) { 17 | String regex="[a-zA-Z]+.*"; 18 | Matcher m= Pattern.compile(regex).matcher(str); 19 | if(m.matches()==false){ 20 | return str.startsWith("_"); 21 | } 22 | return m.matches(); 23 | } 24 | 25 | /** 26 | * 判断字符串是否包含字母 27 | * @param str 待检验的字符串 28 | * @return 返回是否包含 29 | * true: 是 ;false 否 30 | */ 31 | public static boolean judgeContainsStr2(String str) { 32 | String regex=".+[a-zA-Z]+.*"; 33 | Matcher m= Pattern.compile(regex).matcher(str); 34 | 35 | return m.matches(); 36 | } 37 | 38 | 39 | /** 40 | * 判断一个字符串是否都为数字 41 | * @param str 待检验的字符串 42 | * @return 43 | * true: 是 ;false 否 44 | */ 45 | public static boolean isDigit(String str) { 46 | Pattern pattern = Pattern.compile("[0-9]{1,}"); 47 | Matcher matcher = pattern.matcher((CharSequence) str); 48 | return matcher.matches(); 49 | } 50 | 51 | 52 | 53 | /** 54 | * 判断一个字符串是否含有数字 55 | * @param str 待检验的字符串 56 | * @return 57 | * true: 是 ;false 否 58 | */ 59 | public static boolean HasDigit(String str) { 60 | Pattern p = Pattern.compile(".*\\d+.*"); 61 | Matcher m = p.matcher(str); 62 | 63 | return m.matches(); 64 | } 65 | 66 | 67 | 68 | /** 69 | * 字符串的长度是否 a<=str<=b 70 | * @param str 待检验的字符串 71 | * @return 返回是否 72 | * true: 是 ;false 否 73 | */ 74 | public static boolean isStrLength(String str,int a,int b) { 75 | if (a<=str.length()&&str.length()<=b){ 76 | return true; 77 | } 78 | return false; 79 | } 80 | 81 | /***************↑↑↑封装的方法↑↑↑*************************/ 82 | 83 | 84 | 85 | } 86 | -------------------------------------------------------------------------------- /src/main/resources/applicationContext.xml: -------------------------------------------------------------------------------- 1 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /src/main/resources/com/gvssimux/dao/UserLoginDao.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /src/main/resources/com/gvssimux/dao/UserRegisterDao.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | insert into user_module.user_basic (user_loginid, user_pwd) values (#{loginid},#{pwd}); 8 | 9 | -------------------------------------------------------------------------------- /src/main/resources/database.properties: -------------------------------------------------------------------------------- 1 | jdbc.driver=com.mysql.cj.jdbc.Driver 2 | jdbc.url=jdbc:mysql://gvssimux.com:3306/?useSSL=false&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8 3 | jdbc.username=root 4 | jdbc.password=12345 5 | -------------------------------------------------------------------------------- /src/main/resources/generatorConfig.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | -------------------------------------------------------------------------------- /src/main/resources/log4j.properties: -------------------------------------------------------------------------------- 1 | 2 | log4j.rootLogger=DEBUG,console,file 3 | 4 | 5 | log4j.appender.console = org.apache.log4j.ConsoleAppender 6 | log4j.appender.console.Target = System.out 7 | log4j.appender.console.Threshold=DEBUG 8 | log4j.appender.console.layout = org.apache.log4j.PatternLayout 9 | log4j.appender.console.layout.ConversionPattern=[%c]-%m%n 10 | 11 | 12 | log4j.appender.file = org.apache.log4j.RollingFileAppender 13 | log4j.appender.file.File=./log/shanzj.log 14 | log4j.appender.file.MaxFileSize=10mb 15 | log4j.appender.file.Threshold=DEBUG 16 | log4j.appender.file.layout=org.apache.log4j.PatternLayout 17 | log4j.appender.file.layout.ConversionPattern=[%p][%d{yy-MM-dd}][%c]%m%n 18 | 19 | 20 | log4j.logger.org.mybatis=DEBUG 21 | log4j.logger.java.sql=DEBUG 22 | log4j.logger.java.sql.Statement=DEBUG 23 | log4j.logger.java.sql.ResultSet=DEBUG 24 | log4j.logger.java.sql.PreparedStatement=DEBUG -------------------------------------------------------------------------------- /src/main/resources/mybatis-config.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /src/main/resources/ordererOrganizations/example.com/ca/ca.example.com-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICPjCCAeSgAwIBAgIRALDavYXTliCT6F+wsUe3nAUwCgYIKoZIzj0EAwIwaTEL 3 | MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG 4 | cmFuY2lzY28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRcwFQYDVQQDEw5jYS5leGFt 5 | cGxlLmNvbTAeFw0yMjA0MTkwMzEyMDBaFw0zMjA0MTYwMzEyMDBaMGkxCzAJBgNV 6 | BAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJhbmNp 7 | c2NvMRQwEgYDVQQKEwtleGFtcGxlLmNvbTEXMBUGA1UEAxMOY2EuZXhhbXBsZS5j 8 | b20wWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAATxb/58JjUxRLtYg4MSup4+9TFF 9 | Bz6McSwt1hLeyAbUNp3Tqlx4jDvW5HBaZK7rvJWqS7CuwqoM+ilVQ1gCQMVLo20w 10 | azAOBgNVHQ8BAf8EBAMCAaYwHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsGAQUFBwMB 11 | MA8GA1UdEwEB/wQFMAMBAf8wKQYDVR0OBCIEINIJ9oWoBeWIRwsPmkXwz/ngqGvL 12 | hDikVqytDgqUgkOUMAoGCCqGSM49BAMCA0gAMEUCIC/5ZmUqmieBi4CmKMq3TKt8 13 | IE5Tx9KtpYpUav6dX/kWAiEAqcuQlcLgJDLkoRIUtLavhOvlIGlDWizuZYKdYIcy 14 | eRY= 15 | -----END CERTIFICATE----- 16 | -------------------------------------------------------------------------------- /src/main/resources/ordererOrganizations/example.com/ca/priv_sk: -------------------------------------------------------------------------------- 1 | -----BEGIN PRIVATE KEY----- 2 | MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgWmymCkznOBFojkmJ 3 | zQlE7cbWKGv9pGZ+HA6FJlOGFdGhRANCAATxb/58JjUxRLtYg4MSup4+9TFFBz6M 4 | cSwt1hLeyAbUNp3Tqlx4jDvW5HBaZK7rvJWqS7CuwqoM+ilVQ1gCQMVL 5 | -----END PRIVATE KEY----- 6 | -------------------------------------------------------------------------------- /src/main/resources/ordererOrganizations/example.com/msp/cacerts/ca.example.com-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICPjCCAeSgAwIBAgIRALDavYXTliCT6F+wsUe3nAUwCgYIKoZIzj0EAwIwaTEL 3 | MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG 4 | cmFuY2lzY28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRcwFQYDVQQDEw5jYS5leGFt 5 | cGxlLmNvbTAeFw0yMjA0MTkwMzEyMDBaFw0zMjA0MTYwMzEyMDBaMGkxCzAJBgNV 6 | BAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJhbmNp 7 | c2NvMRQwEgYDVQQKEwtleGFtcGxlLmNvbTEXMBUGA1UEAxMOY2EuZXhhbXBsZS5j 8 | b20wWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAATxb/58JjUxRLtYg4MSup4+9TFF 9 | Bz6McSwt1hLeyAbUNp3Tqlx4jDvW5HBaZK7rvJWqS7CuwqoM+ilVQ1gCQMVLo20w 10 | azAOBgNVHQ8BAf8EBAMCAaYwHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsGAQUFBwMB 11 | MA8GA1UdEwEB/wQFMAMBAf8wKQYDVR0OBCIEINIJ9oWoBeWIRwsPmkXwz/ngqGvL 12 | hDikVqytDgqUgkOUMAoGCCqGSM49BAMCA0gAMEUCIC/5ZmUqmieBi4CmKMq3TKt8 13 | IE5Tx9KtpYpUav6dX/kWAiEAqcuQlcLgJDLkoRIUtLavhOvlIGlDWizuZYKdYIcy 14 | eRY= 15 | -----END CERTIFICATE----- 16 | -------------------------------------------------------------------------------- /src/main/resources/ordererOrganizations/example.com/msp/config.yaml: -------------------------------------------------------------------------------- 1 | NodeOUs: 2 | Enable: true 3 | ClientOUIdentifier: 4 | Certificate: cacerts/ca.example.com-cert.pem 5 | OrganizationalUnitIdentifier: client 6 | PeerOUIdentifier: 7 | Certificate: cacerts/ca.example.com-cert.pem 8 | OrganizationalUnitIdentifier: peer 9 | AdminOUIdentifier: 10 | Certificate: cacerts/ca.example.com-cert.pem 11 | OrganizationalUnitIdentifier: admin 12 | OrdererOUIdentifier: 13 | Certificate: cacerts/ca.example.com-cert.pem 14 | OrganizationalUnitIdentifier: orderer 15 | -------------------------------------------------------------------------------- /src/main/resources/ordererOrganizations/example.com/msp/tlscacerts/tlsca.example.com-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICQzCCAemgAwIBAgIQK8+TJ7hyg3AUr4tKDnKK+zAKBggqhkjOPQQDAjBsMQsw 3 | CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy 4 | YW5jaXNjbzEUMBIGA1UEChMLZXhhbXBsZS5jb20xGjAYBgNVBAMTEXRsc2NhLmV4 5 | YW1wbGUuY29tMB4XDTIyMDQxOTAzMTIwMFoXDTMyMDQxNjAzMTIwMFowbDELMAkG 6 | A1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBGcmFu 7 | Y2lzY28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRowGAYDVQQDExF0bHNjYS5leGFt 8 | cGxlLmNvbTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABKyycNBRuxiJE8aAsvZJ 9 | iqsnq75y2IHg9ncfZfWTScF57PNfbyZtlNJLhPfU6OQu6nMZ4jlY2FKnuAXCK4HB 10 | C3qjbTBrMA4GA1UdDwEB/wQEAwIBpjAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYB 11 | BQUHAwEwDwYDVR0TAQH/BAUwAwEB/zApBgNVHQ4EIgQgP0Zubtb4dOL9FM5EzloW 12 | Ut45ywzk7ljn41FudaPSWwIwCgYIKoZIzj0EAwIDSAAwRQIgDqGcteEncftYuPpK 13 | OxnirzhRReSyFQSL1m8MjYf4UFwCIQCvKCQTKp6GvKW3qvJE6q2BwVdtgpQRbRAN 14 | B6PEs28XRw== 15 | -----END CERTIFICATE----- 16 | -------------------------------------------------------------------------------- /src/main/resources/ordererOrganizations/example.com/orderers/orderer.example.com/msp/cacerts/ca.example.com-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICPjCCAeSgAwIBAgIRALDavYXTliCT6F+wsUe3nAUwCgYIKoZIzj0EAwIwaTEL 3 | MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG 4 | cmFuY2lzY28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRcwFQYDVQQDEw5jYS5leGFt 5 | cGxlLmNvbTAeFw0yMjA0MTkwMzEyMDBaFw0zMjA0MTYwMzEyMDBaMGkxCzAJBgNV 6 | BAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJhbmNp 7 | c2NvMRQwEgYDVQQKEwtleGFtcGxlLmNvbTEXMBUGA1UEAxMOY2EuZXhhbXBsZS5j 8 | b20wWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAATxb/58JjUxRLtYg4MSup4+9TFF 9 | Bz6McSwt1hLeyAbUNp3Tqlx4jDvW5HBaZK7rvJWqS7CuwqoM+ilVQ1gCQMVLo20w 10 | azAOBgNVHQ8BAf8EBAMCAaYwHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsGAQUFBwMB 11 | MA8GA1UdEwEB/wQFMAMBAf8wKQYDVR0OBCIEINIJ9oWoBeWIRwsPmkXwz/ngqGvL 12 | hDikVqytDgqUgkOUMAoGCCqGSM49BAMCA0gAMEUCIC/5ZmUqmieBi4CmKMq3TKt8 13 | IE5Tx9KtpYpUav6dX/kWAiEAqcuQlcLgJDLkoRIUtLavhOvlIGlDWizuZYKdYIcy 14 | eRY= 15 | -----END CERTIFICATE----- 16 | -------------------------------------------------------------------------------- /src/main/resources/ordererOrganizations/example.com/orderers/orderer.example.com/msp/config.yaml: -------------------------------------------------------------------------------- 1 | NodeOUs: 2 | Enable: true 3 | ClientOUIdentifier: 4 | Certificate: cacerts/ca.example.com-cert.pem 5 | OrganizationalUnitIdentifier: client 6 | PeerOUIdentifier: 7 | Certificate: cacerts/ca.example.com-cert.pem 8 | OrganizationalUnitIdentifier: peer 9 | AdminOUIdentifier: 10 | Certificate: cacerts/ca.example.com-cert.pem 11 | OrganizationalUnitIdentifier: admin 12 | OrdererOUIdentifier: 13 | Certificate: cacerts/ca.example.com-cert.pem 14 | OrganizationalUnitIdentifier: orderer 15 | -------------------------------------------------------------------------------- /src/main/resources/ordererOrganizations/example.com/orderers/orderer.example.com/msp/keystore/priv_sk: -------------------------------------------------------------------------------- 1 | -----BEGIN PRIVATE KEY----- 2 | MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQg/5D1QMEGVPYCXkc7 3 | wz9TFgWuxfejejrFzG0NQutBcv6hRANCAATvgENE2IHUOnJIKERfEmp9Z9uRl8YL 4 | aN+gJbeCf8ZAZS1z/v5terY6Qosat/xbuL7ohQPTgU/zGd+YxfTPNT2Q 5 | -----END PRIVATE KEY----- 6 | -------------------------------------------------------------------------------- /src/main/resources/ordererOrganizations/example.com/orderers/orderer.example.com/msp/signcerts/orderer.example.com-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICHzCCAcWgAwIBAgIRAMYAuVZaJlv5cAavy7xMMKMwCgYIKoZIzj0EAwIwaTEL 3 | MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG 4 | cmFuY2lzY28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRcwFQYDVQQDEw5jYS5leGFt 5 | cGxlLmNvbTAeFw0yMjA0MTkwMzEyMDBaFw0zMjA0MTYwMzEyMDBaMGoxCzAJBgNV 6 | BAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJhbmNp 7 | c2NvMRAwDgYDVQQLEwdvcmRlcmVyMRwwGgYDVQQDExNvcmRlcmVyLmV4YW1wbGUu 8 | Y29tMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE74BDRNiB1DpySChEXxJqfWfb 9 | kZfGC2jfoCW3gn/GQGUtc/7+bXq2OkKLGrf8W7i+6IUD04FP8xnfmMX0zzU9kKNN 10 | MEswDgYDVR0PAQH/BAQDAgeAMAwGA1UdEwEB/wQCMAAwKwYDVR0jBCQwIoAg0gn2 11 | hagF5YhHCw+aRfDP+eCoa8uEOKRWrK0OCpSCQ5QwCgYIKoZIzj0EAwIDSAAwRQIh 12 | APuVx9ZeV+wOHe/M/NOf0pdLbzL2uyDVxjBj5JLzIORqAiB1/ZE4VNwipFCxTR9v 13 | 2fxlLD7gMnB02Djbam0/z1/VEw== 14 | -----END CERTIFICATE----- 15 | -------------------------------------------------------------------------------- /src/main/resources/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICQzCCAemgAwIBAgIQK8+TJ7hyg3AUr4tKDnKK+zAKBggqhkjOPQQDAjBsMQsw 3 | CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy 4 | YW5jaXNjbzEUMBIGA1UEChMLZXhhbXBsZS5jb20xGjAYBgNVBAMTEXRsc2NhLmV4 5 | YW1wbGUuY29tMB4XDTIyMDQxOTAzMTIwMFoXDTMyMDQxNjAzMTIwMFowbDELMAkG 6 | A1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBGcmFu 7 | Y2lzY28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRowGAYDVQQDExF0bHNjYS5leGFt 8 | cGxlLmNvbTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABKyycNBRuxiJE8aAsvZJ 9 | iqsnq75y2IHg9ncfZfWTScF57PNfbyZtlNJLhPfU6OQu6nMZ4jlY2FKnuAXCK4HB 10 | C3qjbTBrMA4GA1UdDwEB/wQEAwIBpjAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYB 11 | BQUHAwEwDwYDVR0TAQH/BAUwAwEB/zApBgNVHQ4EIgQgP0Zubtb4dOL9FM5EzloW 12 | Ut45ywzk7ljn41FudaPSWwIwCgYIKoZIzj0EAwIDSAAwRQIgDqGcteEncftYuPpK 13 | OxnirzhRReSyFQSL1m8MjYf4UFwCIQCvKCQTKp6GvKW3qvJE6q2BwVdtgpQRbRAN 14 | B6PEs28XRw== 15 | -----END CERTIFICATE----- 16 | -------------------------------------------------------------------------------- /src/main/resources/ordererOrganizations/example.com/orderers/orderer.example.com/tls/ca.crt: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICQzCCAemgAwIBAgIQK8+TJ7hyg3AUr4tKDnKK+zAKBggqhkjOPQQDAjBsMQsw 3 | CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy 4 | YW5jaXNjbzEUMBIGA1UEChMLZXhhbXBsZS5jb20xGjAYBgNVBAMTEXRsc2NhLmV4 5 | YW1wbGUuY29tMB4XDTIyMDQxOTAzMTIwMFoXDTMyMDQxNjAzMTIwMFowbDELMAkG 6 | A1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBGcmFu 7 | Y2lzY28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRowGAYDVQQDExF0bHNjYS5leGFt 8 | cGxlLmNvbTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABKyycNBRuxiJE8aAsvZJ 9 | iqsnq75y2IHg9ncfZfWTScF57PNfbyZtlNJLhPfU6OQu6nMZ4jlY2FKnuAXCK4HB 10 | C3qjbTBrMA4GA1UdDwEB/wQEAwIBpjAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYB 11 | BQUHAwEwDwYDVR0TAQH/BAUwAwEB/zApBgNVHQ4EIgQgP0Zubtb4dOL9FM5EzloW 12 | Ut45ywzk7ljn41FudaPSWwIwCgYIKoZIzj0EAwIDSAAwRQIgDqGcteEncftYuPpK 13 | OxnirzhRReSyFQSL1m8MjYf4UFwCIQCvKCQTKp6GvKW3qvJE6q2BwVdtgpQRbRAN 14 | B6PEs28XRw== 15 | -----END CERTIFICATE----- 16 | -------------------------------------------------------------------------------- /src/main/resources/ordererOrganizations/example.com/orderers/orderer.example.com/tls/server.crt: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICZDCCAgugAwIBAgIRAImZ/zO49XU9lNIQ1fDuK2YwCgYIKoZIzj0EAwIwbDEL 3 | MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG 4 | cmFuY2lzY28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRowGAYDVQQDExF0bHNjYS5l 5 | eGFtcGxlLmNvbTAeFw0yMjA0MTkwMzEyMDBaFw0zMjA0MTYwMzEyMDBaMFgxCzAJ 6 | BgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJh 7 | bmNpc2NvMRwwGgYDVQQDExNvcmRlcmVyLmV4YW1wbGUuY29tMFkwEwYHKoZIzj0C 8 | AQYIKoZIzj0DAQcDQgAEGRM9AvGuXdc5+PJZV4jldlTtG+ZO0yJrH3hlSV0v/qBr 9 | WyQsw6ykRlvLC0z7Zkfx5sgaJRYSypRZd6O8wEANGaOBoTCBnjAOBgNVHQ8BAf8E 10 | BAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQC 11 | MAAwKwYDVR0jBCQwIoAgP0Zubtb4dOL9FM5EzloWUt45ywzk7ljn41FudaPSWwIw 12 | MgYDVR0RBCswKYITb3JkZXJlci5leGFtcGxlLmNvbYIHb3JkZXJlcoIJbG9jYWxo 13 | b3N0MAoGCCqGSM49BAMCA0cAMEQCIBctrYjyZCNDHVwKpUhqObEr+ry7c5GbkoMY 14 | 5r/oDolxAiA5MWteE6F4/5WAp32w2Lmdrv63L0o3L4xC/Qeb9SB5Ag== 15 | -----END CERTIFICATE----- 16 | -------------------------------------------------------------------------------- /src/main/resources/ordererOrganizations/example.com/orderers/orderer.example.com/tls/server.key: -------------------------------------------------------------------------------- 1 | -----BEGIN PRIVATE KEY----- 2 | MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgems/uG8dJetwkAna 3 | LjF5Inl48RKSlD4rehlX0cmYrCOhRANCAAQZEz0C8a5d1zn48llXiOV2VO0b5k7T 4 | ImsfeGVJXS/+oGtbJCzDrKRGW8sLTPtmR/HmyBolFhLKlFl3o7zAQA0Z 5 | -----END PRIVATE KEY----- 6 | -------------------------------------------------------------------------------- /src/main/resources/ordererOrganizations/example.com/tlsca/priv_sk: -------------------------------------------------------------------------------- 1 | -----BEGIN PRIVATE KEY----- 2 | MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgf4RW+aSALqCD/wQE 3 | PjUgTYpvf7tpBCvU11IA1YRvxjihRANCAASssnDQUbsYiRPGgLL2SYqrJ6u+ctiB 4 | 4PZ3H2X1k0nBeezzX28mbZTSS4T31OjkLupzGeI5WNhSp7gFwiuBwQt6 5 | -----END PRIVATE KEY----- 6 | -------------------------------------------------------------------------------- /src/main/resources/ordererOrganizations/example.com/tlsca/tlsca.example.com-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICQzCCAemgAwIBAgIQK8+TJ7hyg3AUr4tKDnKK+zAKBggqhkjOPQQDAjBsMQsw 3 | CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy 4 | YW5jaXNjbzEUMBIGA1UEChMLZXhhbXBsZS5jb20xGjAYBgNVBAMTEXRsc2NhLmV4 5 | YW1wbGUuY29tMB4XDTIyMDQxOTAzMTIwMFoXDTMyMDQxNjAzMTIwMFowbDELMAkG 6 | A1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBGcmFu 7 | Y2lzY28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRowGAYDVQQDExF0bHNjYS5leGFt 8 | cGxlLmNvbTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABKyycNBRuxiJE8aAsvZJ 9 | iqsnq75y2IHg9ncfZfWTScF57PNfbyZtlNJLhPfU6OQu6nMZ4jlY2FKnuAXCK4HB 10 | C3qjbTBrMA4GA1UdDwEB/wQEAwIBpjAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYB 11 | BQUHAwEwDwYDVR0TAQH/BAUwAwEB/zApBgNVHQ4EIgQgP0Zubtb4dOL9FM5EzloW 12 | Ut45ywzk7ljn41FudaPSWwIwCgYIKoZIzj0EAwIDSAAwRQIgDqGcteEncftYuPpK 13 | OxnirzhRReSyFQSL1m8MjYf4UFwCIQCvKCQTKp6GvKW3qvJE6q2BwVdtgpQRbRAN 14 | B6PEs28XRw== 15 | -----END CERTIFICATE----- 16 | -------------------------------------------------------------------------------- /src/main/resources/ordererOrganizations/example.com/users/Admin@example.com/msp/cacerts/ca.example.com-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICPjCCAeSgAwIBAgIRALDavYXTliCT6F+wsUe3nAUwCgYIKoZIzj0EAwIwaTEL 3 | MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG 4 | cmFuY2lzY28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRcwFQYDVQQDEw5jYS5leGFt 5 | cGxlLmNvbTAeFw0yMjA0MTkwMzEyMDBaFw0zMjA0MTYwMzEyMDBaMGkxCzAJBgNV 6 | BAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJhbmNp 7 | c2NvMRQwEgYDVQQKEwtleGFtcGxlLmNvbTEXMBUGA1UEAxMOY2EuZXhhbXBsZS5j 8 | b20wWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAATxb/58JjUxRLtYg4MSup4+9TFF 9 | Bz6McSwt1hLeyAbUNp3Tqlx4jDvW5HBaZK7rvJWqS7CuwqoM+ilVQ1gCQMVLo20w 10 | azAOBgNVHQ8BAf8EBAMCAaYwHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsGAQUFBwMB 11 | MA8GA1UdEwEB/wQFMAMBAf8wKQYDVR0OBCIEINIJ9oWoBeWIRwsPmkXwz/ngqGvL 12 | hDikVqytDgqUgkOUMAoGCCqGSM49BAMCA0gAMEUCIC/5ZmUqmieBi4CmKMq3TKt8 13 | IE5Tx9KtpYpUav6dX/kWAiEAqcuQlcLgJDLkoRIUtLavhOvlIGlDWizuZYKdYIcy 14 | eRY= 15 | -----END CERTIFICATE----- 16 | -------------------------------------------------------------------------------- /src/main/resources/ordererOrganizations/example.com/users/Admin@example.com/msp/config.yaml: -------------------------------------------------------------------------------- 1 | NodeOUs: 2 | Enable: true 3 | ClientOUIdentifier: 4 | Certificate: cacerts/ca.example.com-cert.pem 5 | OrganizationalUnitIdentifier: client 6 | PeerOUIdentifier: 7 | Certificate: cacerts/ca.example.com-cert.pem 8 | OrganizationalUnitIdentifier: peer 9 | AdminOUIdentifier: 10 | Certificate: cacerts/ca.example.com-cert.pem 11 | OrganizationalUnitIdentifier: admin 12 | OrdererOUIdentifier: 13 | Certificate: cacerts/ca.example.com-cert.pem 14 | OrganizationalUnitIdentifier: orderer 15 | -------------------------------------------------------------------------------- /src/main/resources/ordererOrganizations/example.com/users/Admin@example.com/msp/keystore/priv_sk: -------------------------------------------------------------------------------- 1 | -----BEGIN PRIVATE KEY----- 2 | MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgZJO0X4KVE1YiGsnV 3 | 6mPV2ZlN/jJ6UNlOepKlX5Ght0uhRANCAASvAJPTE21bo8qpYm/uFVs+BA/PKC6N 4 | hp0U07ZGx7ut1QY8jnyUDLJYVamI9ivCsbO3+VkSe3jkVlkD9fdrwJYh 5 | -----END PRIVATE KEY----- 6 | -------------------------------------------------------------------------------- /src/main/resources/ordererOrganizations/example.com/users/Admin@example.com/msp/signcerts/Admin@example.com-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICGjCCAcCgAwIBAgIQV4J+BjtyycRNNNN+FdbZxzAKBggqhkjOPQQDAjBpMQsw 3 | CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy 4 | YW5jaXNjbzEUMBIGA1UEChMLZXhhbXBsZS5jb20xFzAVBgNVBAMTDmNhLmV4YW1w 5 | bGUuY29tMB4XDTIyMDQxOTAzMTIwMFoXDTMyMDQxNjAzMTIwMFowZjELMAkGA1UE 6 | BhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBGcmFuY2lz 7 | Y28xDjAMBgNVBAsTBWFkbWluMRowGAYDVQQDDBFBZG1pbkBleGFtcGxlLmNvbTBZ 8 | MBMGByqGSM49AgEGCCqGSM49AwEHA0IABK8Ak9MTbVujyqlib+4VWz4ED88oLo2G 9 | nRTTtkbHu63VBjyOfJQMslhVqYj2K8Kxs7f5WRJ7eORWWQP192vAliGjTTBLMA4G 10 | A1UdDwEB/wQEAwIHgDAMBgNVHRMBAf8EAjAAMCsGA1UdIwQkMCKAINIJ9oWoBeWI 11 | RwsPmkXwz/ngqGvLhDikVqytDgqUgkOUMAoGCCqGSM49BAMCA0gAMEUCIQDux8XV 12 | OyLz4sNbhRJb9M1WUIpsfox3eEGMHVSwDmuKhgIgCSHmnB2IMbyhOWJeBqXF3T7k 13 | /dIugshEfFdrYWrx3aU= 14 | -----END CERTIFICATE----- 15 | -------------------------------------------------------------------------------- /src/main/resources/ordererOrganizations/example.com/users/Admin@example.com/msp/tlscacerts/tlsca.example.com-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICQzCCAemgAwIBAgIQK8+TJ7hyg3AUr4tKDnKK+zAKBggqhkjOPQQDAjBsMQsw 3 | CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy 4 | YW5jaXNjbzEUMBIGA1UEChMLZXhhbXBsZS5jb20xGjAYBgNVBAMTEXRsc2NhLmV4 5 | YW1wbGUuY29tMB4XDTIyMDQxOTAzMTIwMFoXDTMyMDQxNjAzMTIwMFowbDELMAkG 6 | A1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBGcmFu 7 | Y2lzY28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRowGAYDVQQDExF0bHNjYS5leGFt 8 | cGxlLmNvbTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABKyycNBRuxiJE8aAsvZJ 9 | iqsnq75y2IHg9ncfZfWTScF57PNfbyZtlNJLhPfU6OQu6nMZ4jlY2FKnuAXCK4HB 10 | C3qjbTBrMA4GA1UdDwEB/wQEAwIBpjAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYB 11 | BQUHAwEwDwYDVR0TAQH/BAUwAwEB/zApBgNVHQ4EIgQgP0Zubtb4dOL9FM5EzloW 12 | Ut45ywzk7ljn41FudaPSWwIwCgYIKoZIzj0EAwIDSAAwRQIgDqGcteEncftYuPpK 13 | OxnirzhRReSyFQSL1m8MjYf4UFwCIQCvKCQTKp6GvKW3qvJE6q2BwVdtgpQRbRAN 14 | B6PEs28XRw== 15 | -----END CERTIFICATE----- 16 | -------------------------------------------------------------------------------- /src/main/resources/ordererOrganizations/example.com/users/Admin@example.com/tls/ca.crt: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICQzCCAemgAwIBAgIQK8+TJ7hyg3AUr4tKDnKK+zAKBggqhkjOPQQDAjBsMQsw 3 | CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy 4 | YW5jaXNjbzEUMBIGA1UEChMLZXhhbXBsZS5jb20xGjAYBgNVBAMTEXRsc2NhLmV4 5 | YW1wbGUuY29tMB4XDTIyMDQxOTAzMTIwMFoXDTMyMDQxNjAzMTIwMFowbDELMAkG 6 | A1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBGcmFu 7 | Y2lzY28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRowGAYDVQQDExF0bHNjYS5leGFt 8 | cGxlLmNvbTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABKyycNBRuxiJE8aAsvZJ 9 | iqsnq75y2IHg9ncfZfWTScF57PNfbyZtlNJLhPfU6OQu6nMZ4jlY2FKnuAXCK4HB 10 | C3qjbTBrMA4GA1UdDwEB/wQEAwIBpjAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYB 11 | BQUHAwEwDwYDVR0TAQH/BAUwAwEB/zApBgNVHQ4EIgQgP0Zubtb4dOL9FM5EzloW 12 | Ut45ywzk7ljn41FudaPSWwIwCgYIKoZIzj0EAwIDSAAwRQIgDqGcteEncftYuPpK 13 | OxnirzhRReSyFQSL1m8MjYf4UFwCIQCvKCQTKp6GvKW3qvJE6q2BwVdtgpQRbRAN 14 | B6PEs28XRw== 15 | -----END CERTIFICATE----- 16 | -------------------------------------------------------------------------------- /src/main/resources/ordererOrganizations/example.com/users/Admin@example.com/tls/client.crt: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICLDCCAdKgAwIBAgIQPuicJMLKEpJK0IyPUpw3PTAKBggqhkjOPQQDAjBsMQsw 3 | CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy 4 | YW5jaXNjbzEUMBIGA1UEChMLZXhhbXBsZS5jb20xGjAYBgNVBAMTEXRsc2NhLmV4 5 | YW1wbGUuY29tMB4XDTIyMDQxOTAzMTIwMFoXDTMyMDQxNjAzMTIwMFowVjELMAkG 6 | A1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBGcmFu 7 | Y2lzY28xGjAYBgNVBAMMEUFkbWluQGV4YW1wbGUuY29tMFkwEwYHKoZIzj0CAQYI 8 | KoZIzj0DAQcDQgAEWYlSXmdh+n9c/k1+zKW9O/loliuvmLKeWvQ2+cxbGNSV0Dv5 9 | dGtloiOxGuyd13oTyGHYEWkQuWasH0Duz5ZqL6NsMGowDgYDVR0PAQH/BAQDAgWg 10 | MB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAMBgNVHRMBAf8EAjAAMCsG 11 | A1UdIwQkMCKAID9Gbm7W+HTi/RTORM5aFlLeOcsM5O5Y5+NRbnWj0lsCMAoGCCqG 12 | SM49BAMCA0gAMEUCIQCtQmyUeTmVbGnrDmfqRHT2PZUMLWRDKrP5bVsRIx6J8gIg 13 | LxZriWqD8kgZIykifwMp+/G1cXL4cOi1BbVhy+8FZQI= 14 | -----END CERTIFICATE----- 15 | -------------------------------------------------------------------------------- /src/main/resources/ordererOrganizations/example.com/users/Admin@example.com/tls/client.key: -------------------------------------------------------------------------------- 1 | -----BEGIN PRIVATE KEY----- 2 | MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgc2bc5ZLOi5icUa9f 3 | dV1qhKV5oQ4gQbkZgxSOYyWZjumhRANCAARZiVJeZ2H6f1z+TX7Mpb07+WiWK6+Y 4 | sp5a9Db5zFsY1JXQO/l0a2WiI7Ea7J3XehPIYdgRaRC5ZqwfQO7Plmov 5 | -----END PRIVATE KEY----- 6 | -------------------------------------------------------------------------------- /src/main/resources/peerOrganizations/org1.example.com/ca/ca.org1.example.com-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICUjCCAfigAwIBAgIRAOza15zKbr+3RDREaI/C26YwCgYIKoZIzj0EAwIwczEL 3 | MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG 4 | cmFuY2lzY28xGTAXBgNVBAoTEG9yZzEuZXhhbXBsZS5jb20xHDAaBgNVBAMTE2Nh 5 | Lm9yZzEuZXhhbXBsZS5jb20wHhcNMjIwNDE5MDMxMjAwWhcNMzIwNDE2MDMxMjAw 6 | WjBzMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMN 7 | U2FuIEZyYW5jaXNjbzEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEcMBoGA1UE 8 | AxMTY2Eub3JnMS5leGFtcGxlLmNvbTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IA 9 | BKJfsmOXOuP92xMbknKSdMKtT4DCB4DJO/KSAUZG573vfGT8vY+ODubJAeYNP5c1 10 | 6l414OzdWUC7R5tuk7GvSaSjbTBrMA4GA1UdDwEB/wQEAwIBpjAdBgNVHSUEFjAU 11 | BggrBgEFBQcDAgYIKwYBBQUHAwEwDwYDVR0TAQH/BAUwAwEB/zApBgNVHQ4EIgQg 12 | PEPRB1pOsw1725jJ6DoSedYcMI+s5OrSi/HbOTsTewMwCgYIKoZIzj0EAwIDSAAw 13 | RQIgQYQRgfjKsPYM1ezixtsGiO8kAWXbTNokkpw9rO5qLfoCIQC1zpROQIhWSawE 14 | F+vQRk9JTnqOgqHul4DllTqTrVd4+A== 15 | -----END CERTIFICATE----- 16 | -------------------------------------------------------------------------------- /src/main/resources/peerOrganizations/org1.example.com/ca/priv_sk: -------------------------------------------------------------------------------- 1 | -----BEGIN PRIVATE KEY----- 2 | MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQg9gWNWuCK7GOuVBZt 3 | u+UO4UVSp/p78WW2PRkAmdTyPLShRANCAASiX7Jjlzrj/dsTG5JyknTCrU+AwgeA 4 | yTvykgFGRue973xk/L2Pjg7myQHmDT+XNepeNeDs3VlAu0ebbpOxr0mk 5 | -----END PRIVATE KEY----- 6 | -------------------------------------------------------------------------------- /src/main/resources/peerOrganizations/org1.example.com/connection-org1.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "test-network-org1", 3 | "version": "1.0.0", 4 | "client": { 5 | "organization": "Org1", 6 | "connection": { 7 | "timeout": { 8 | "peer": { 9 | "endorser": "300" 10 | } 11 | } 12 | } 13 | }, 14 | "organizations": { 15 | "Org1": { 16 | "mspid": "Org1MSP", 17 | "peers": [ 18 | "peer0.org1.example.com" 19 | ], 20 | "certificateAuthorities": [ 21 | "ca.org1.example.com" 22 | ] 23 | } 24 | }, 25 | "peers": { 26 | "peer0.org1.example.com": { 27 | "url": "grpcs://localhost:7051", 28 | "tlsCACerts": { 29 | "pem": "-----BEGIN CERTIFICATE-----\nMIICVzCCAf2gAwIBAgIQBTFcRf9wEtj+3pCtFN0QxDAKBggqhkjOPQQDAjB2MQsw\nCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy\nYW5jaXNjbzEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEfMB0GA1UEAxMWdGxz\nY2Eub3JnMS5leGFtcGxlLmNvbTAeFw0yMjA0MTkwMzEyMDBaFw0zMjA0MTYwMzEy\nMDBaMHYxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQH\nEw1TYW4gRnJhbmNpc2NvMRkwFwYDVQQKExBvcmcxLmV4YW1wbGUuY29tMR8wHQYD\nVQQDExZ0bHNjYS5vcmcxLmV4YW1wbGUuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0D\nAQcDQgAE4UqQUSiEy8N4A8EcBSuSObyz+ZlDoZJRWvU7BVgFdYMPvIzWSEj9veIw\nPIY6cdNdHN8enpu/lyA0AyawY1v3SaNtMGswDgYDVR0PAQH/BAQDAgGmMB0GA1Ud\nJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDATAPBgNVHRMBAf8EBTADAQH/MCkGA1Ud\nDgQiBCA73A/64jKzqMf9QCsPQD6+2YQoG4cRdCAcmQoGsyAyGDAKBggqhkjOPQQD\nAgNIADBFAiEAo4ASiVxYH9eReyAHwQ/yIqiQs2EPXCjN8NHplWsefrICIAIlAFK/\nAsDnbU+QvJesNiZnMLUIjIccgSYOcV9NayXZ\n-----END CERTIFICATE-----\n" 30 | }, 31 | "grpcOptions": { 32 | "ssl-target-name-override": "peer0.org1.example.com", 33 | "hostnameOverride": "peer0.org1.example.com" 34 | } 35 | } 36 | }, 37 | "certificateAuthorities": { 38 | "ca.org1.example.com": { 39 | "url": "https://localhost:7054", 40 | "caName": "ca-org1", 41 | "tlsCACerts": { 42 | "pem": ["-----BEGIN CERTIFICATE-----\nMIICUjCCAfigAwIBAgIRAOza15zKbr+3RDREaI/C26YwCgYIKoZIzj0EAwIwczEL\nMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG\ncmFuY2lzY28xGTAXBgNVBAoTEG9yZzEuZXhhbXBsZS5jb20xHDAaBgNVBAMTE2Nh\nLm9yZzEuZXhhbXBsZS5jb20wHhcNMjIwNDE5MDMxMjAwWhcNMzIwNDE2MDMxMjAw\nWjBzMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMN\nU2FuIEZyYW5jaXNjbzEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEcMBoGA1UE\nAxMTY2Eub3JnMS5leGFtcGxlLmNvbTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IA\nBKJfsmOXOuP92xMbknKSdMKtT4DCB4DJO/KSAUZG573vfGT8vY+ODubJAeYNP5c1\n6l414OzdWUC7R5tuk7GvSaSjbTBrMA4GA1UdDwEB/wQEAwIBpjAdBgNVHSUEFjAU\nBggrBgEFBQcDAgYIKwYBBQUHAwEwDwYDVR0TAQH/BAUwAwEB/zApBgNVHQ4EIgQg\nPEPRB1pOsw1725jJ6DoSedYcMI+s5OrSi/HbOTsTewMwCgYIKoZIzj0EAwIDSAAw\nRQIgQYQRgfjKsPYM1ezixtsGiO8kAWXbTNokkpw9rO5qLfoCIQC1zpROQIhWSawE\nF+vQRk9JTnqOgqHul4DllTqTrVd4+A==\n-----END CERTIFICATE-----\n"] 43 | }, 44 | "httpOptions": { 45 | "verify": false 46 | } 47 | } 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /src/main/resources/peerOrganizations/org1.example.com/connection-org1.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | name: test-network-org1 3 | version: 1.0.0 4 | client: 5 | organization: Org1 6 | connection: 7 | timeout: 8 | peer: 9 | endorser: '300' 10 | organizations: 11 | Org1: 12 | mspid: Org1MSP 13 | peers: 14 | - peer0.org1.example.com 15 | certificateAuthorities: 16 | - ca.org1.example.com 17 | peers: 18 | peer0.org1.example.com: 19 | url: grpcs://localhost:7051 20 | tlsCACerts: 21 | pem: | 22 | -----BEGIN CERTIFICATE----- 23 | MIICVzCCAf2gAwIBAgIQBTFcRf9wEtj+3pCtFN0QxDAKBggqhkjOPQQDAjB2MQsw 24 | CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy 25 | YW5jaXNjbzEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEfMB0GA1UEAxMWdGxz 26 | Y2Eub3JnMS5leGFtcGxlLmNvbTAeFw0yMjA0MTkwMzEyMDBaFw0zMjA0MTYwMzEy 27 | MDBaMHYxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQH 28 | Ew1TYW4gRnJhbmNpc2NvMRkwFwYDVQQKExBvcmcxLmV4YW1wbGUuY29tMR8wHQYD 29 | VQQDExZ0bHNjYS5vcmcxLmV4YW1wbGUuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0D 30 | AQcDQgAE4UqQUSiEy8N4A8EcBSuSObyz+ZlDoZJRWvU7BVgFdYMPvIzWSEj9veIw 31 | PIY6cdNdHN8enpu/lyA0AyawY1v3SaNtMGswDgYDVR0PAQH/BAQDAgGmMB0GA1Ud 32 | JQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDATAPBgNVHRMBAf8EBTADAQH/MCkGA1Ud 33 | DgQiBCA73A/64jKzqMf9QCsPQD6+2YQoG4cRdCAcmQoGsyAyGDAKBggqhkjOPQQD 34 | AgNIADBFAiEAo4ASiVxYH9eReyAHwQ/yIqiQs2EPXCjN8NHplWsefrICIAIlAFK/ 35 | AsDnbU+QvJesNiZnMLUIjIccgSYOcV9NayXZ 36 | -----END CERTIFICATE----- 37 | 38 | grpcOptions: 39 | ssl-target-name-override: peer0.org1.example.com 40 | hostnameOverride: peer0.org1.example.com 41 | certificateAuthorities: 42 | ca.org1.example.com: 43 | url: https://localhost:7054 44 | caName: ca-org1 45 | tlsCACerts: 46 | pem: 47 | - | 48 | -----BEGIN CERTIFICATE----- 49 | MIICUjCCAfigAwIBAgIRAOza15zKbr+3RDREaI/C26YwCgYIKoZIzj0EAwIwczEL 50 | MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG 51 | cmFuY2lzY28xGTAXBgNVBAoTEG9yZzEuZXhhbXBsZS5jb20xHDAaBgNVBAMTE2Nh 52 | Lm9yZzEuZXhhbXBsZS5jb20wHhcNMjIwNDE5MDMxMjAwWhcNMzIwNDE2MDMxMjAw 53 | WjBzMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMN 54 | U2FuIEZyYW5jaXNjbzEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEcMBoGA1UE 55 | AxMTY2Eub3JnMS5leGFtcGxlLmNvbTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IA 56 | BKJfsmOXOuP92xMbknKSdMKtT4DCB4DJO/KSAUZG573vfGT8vY+ODubJAeYNP5c1 57 | 6l414OzdWUC7R5tuk7GvSaSjbTBrMA4GA1UdDwEB/wQEAwIBpjAdBgNVHSUEFjAU 58 | BggrBgEFBQcDAgYIKwYBBQUHAwEwDwYDVR0TAQH/BAUwAwEB/zApBgNVHQ4EIgQg 59 | PEPRB1pOsw1725jJ6DoSedYcMI+s5OrSi/HbOTsTewMwCgYIKoZIzj0EAwIDSAAw 60 | RQIgQYQRgfjKsPYM1ezixtsGiO8kAWXbTNokkpw9rO5qLfoCIQC1zpROQIhWSawE 61 | F+vQRk9JTnqOgqHul4DllTqTrVd4+A== 62 | -----END CERTIFICATE----- 63 | 64 | httpOptions: 65 | verify: false 66 | -------------------------------------------------------------------------------- /src/main/resources/peerOrganizations/org1.example.com/msp/cacerts/ca.org1.example.com-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICUjCCAfigAwIBAgIRAOza15zKbr+3RDREaI/C26YwCgYIKoZIzj0EAwIwczEL 3 | MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG 4 | cmFuY2lzY28xGTAXBgNVBAoTEG9yZzEuZXhhbXBsZS5jb20xHDAaBgNVBAMTE2Nh 5 | Lm9yZzEuZXhhbXBsZS5jb20wHhcNMjIwNDE5MDMxMjAwWhcNMzIwNDE2MDMxMjAw 6 | WjBzMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMN 7 | U2FuIEZyYW5jaXNjbzEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEcMBoGA1UE 8 | AxMTY2Eub3JnMS5leGFtcGxlLmNvbTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IA 9 | BKJfsmOXOuP92xMbknKSdMKtT4DCB4DJO/KSAUZG573vfGT8vY+ODubJAeYNP5c1 10 | 6l414OzdWUC7R5tuk7GvSaSjbTBrMA4GA1UdDwEB/wQEAwIBpjAdBgNVHSUEFjAU 11 | BggrBgEFBQcDAgYIKwYBBQUHAwEwDwYDVR0TAQH/BAUwAwEB/zApBgNVHQ4EIgQg 12 | PEPRB1pOsw1725jJ6DoSedYcMI+s5OrSi/HbOTsTewMwCgYIKoZIzj0EAwIDSAAw 13 | RQIgQYQRgfjKsPYM1ezixtsGiO8kAWXbTNokkpw9rO5qLfoCIQC1zpROQIhWSawE 14 | F+vQRk9JTnqOgqHul4DllTqTrVd4+A== 15 | -----END CERTIFICATE----- 16 | -------------------------------------------------------------------------------- /src/main/resources/peerOrganizations/org1.example.com/msp/config.yaml: -------------------------------------------------------------------------------- 1 | NodeOUs: 2 | Enable: true 3 | ClientOUIdentifier: 4 | Certificate: cacerts/ca.org1.example.com-cert.pem 5 | OrganizationalUnitIdentifier: client 6 | PeerOUIdentifier: 7 | Certificate: cacerts/ca.org1.example.com-cert.pem 8 | OrganizationalUnitIdentifier: peer 9 | AdminOUIdentifier: 10 | Certificate: cacerts/ca.org1.example.com-cert.pem 11 | OrganizationalUnitIdentifier: admin 12 | OrdererOUIdentifier: 13 | Certificate: cacerts/ca.org1.example.com-cert.pem 14 | OrganizationalUnitIdentifier: orderer 15 | -------------------------------------------------------------------------------- /src/main/resources/peerOrganizations/org1.example.com/msp/tlscacerts/tlsca.org1.example.com-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICVzCCAf2gAwIBAgIQBTFcRf9wEtj+3pCtFN0QxDAKBggqhkjOPQQDAjB2MQsw 3 | CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy 4 | YW5jaXNjbzEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEfMB0GA1UEAxMWdGxz 5 | Y2Eub3JnMS5leGFtcGxlLmNvbTAeFw0yMjA0MTkwMzEyMDBaFw0zMjA0MTYwMzEy 6 | MDBaMHYxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQH 7 | Ew1TYW4gRnJhbmNpc2NvMRkwFwYDVQQKExBvcmcxLmV4YW1wbGUuY29tMR8wHQYD 8 | VQQDExZ0bHNjYS5vcmcxLmV4YW1wbGUuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0D 9 | AQcDQgAE4UqQUSiEy8N4A8EcBSuSObyz+ZlDoZJRWvU7BVgFdYMPvIzWSEj9veIw 10 | PIY6cdNdHN8enpu/lyA0AyawY1v3SaNtMGswDgYDVR0PAQH/BAQDAgGmMB0GA1Ud 11 | JQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDATAPBgNVHRMBAf8EBTADAQH/MCkGA1Ud 12 | DgQiBCA73A/64jKzqMf9QCsPQD6+2YQoG4cRdCAcmQoGsyAyGDAKBggqhkjOPQQD 13 | AgNIADBFAiEAo4ASiVxYH9eReyAHwQ/yIqiQs2EPXCjN8NHplWsefrICIAIlAFK/ 14 | AsDnbU+QvJesNiZnMLUIjIccgSYOcV9NayXZ 15 | -----END CERTIFICATE----- 16 | -------------------------------------------------------------------------------- /src/main/resources/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/msp/cacerts/ca.org1.example.com-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICUjCCAfigAwIBAgIRAOza15zKbr+3RDREaI/C26YwCgYIKoZIzj0EAwIwczEL 3 | MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG 4 | cmFuY2lzY28xGTAXBgNVBAoTEG9yZzEuZXhhbXBsZS5jb20xHDAaBgNVBAMTE2Nh 5 | Lm9yZzEuZXhhbXBsZS5jb20wHhcNMjIwNDE5MDMxMjAwWhcNMzIwNDE2MDMxMjAw 6 | WjBzMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMN 7 | U2FuIEZyYW5jaXNjbzEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEcMBoGA1UE 8 | AxMTY2Eub3JnMS5leGFtcGxlLmNvbTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IA 9 | BKJfsmOXOuP92xMbknKSdMKtT4DCB4DJO/KSAUZG573vfGT8vY+ODubJAeYNP5c1 10 | 6l414OzdWUC7R5tuk7GvSaSjbTBrMA4GA1UdDwEB/wQEAwIBpjAdBgNVHSUEFjAU 11 | BggrBgEFBQcDAgYIKwYBBQUHAwEwDwYDVR0TAQH/BAUwAwEB/zApBgNVHQ4EIgQg 12 | PEPRB1pOsw1725jJ6DoSedYcMI+s5OrSi/HbOTsTewMwCgYIKoZIzj0EAwIDSAAw 13 | RQIgQYQRgfjKsPYM1ezixtsGiO8kAWXbTNokkpw9rO5qLfoCIQC1zpROQIhWSawE 14 | F+vQRk9JTnqOgqHul4DllTqTrVd4+A== 15 | -----END CERTIFICATE----- 16 | -------------------------------------------------------------------------------- /src/main/resources/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/msp/config.yaml: -------------------------------------------------------------------------------- 1 | NodeOUs: 2 | Enable: true 3 | ClientOUIdentifier: 4 | Certificate: cacerts/ca.org1.example.com-cert.pem 5 | OrganizationalUnitIdentifier: client 6 | PeerOUIdentifier: 7 | Certificate: cacerts/ca.org1.example.com-cert.pem 8 | OrganizationalUnitIdentifier: peer 9 | AdminOUIdentifier: 10 | Certificate: cacerts/ca.org1.example.com-cert.pem 11 | OrganizationalUnitIdentifier: admin 12 | OrdererOUIdentifier: 13 | Certificate: cacerts/ca.org1.example.com-cert.pem 14 | OrganizationalUnitIdentifier: orderer 15 | -------------------------------------------------------------------------------- /src/main/resources/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/msp/keystore/priv_sk: -------------------------------------------------------------------------------- 1 | -----BEGIN PRIVATE KEY----- 2 | MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgL7rS0Fy3pLMG1OOZ 3 | vQmifTaDWnrS68axV3Y6gqa8UcOhRANCAAQ1fxbvHC2NnSsoZrLGEJT/3/KQWkgA 4 | xwj/3zosD0B/9+W2elnIrYIM76wxd7JNJZ3b8Z6RE7jpdlq0JwvQ75Sp 5 | -----END PRIVATE KEY----- 6 | -------------------------------------------------------------------------------- /src/main/resources/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/msp/signcerts/peer0.org1.example.com-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICKTCCAc+gAwIBAgIRAP96aT5vFg4RKaY5Usk1XRQwCgYIKoZIzj0EAwIwczEL 3 | MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG 4 | cmFuY2lzY28xGTAXBgNVBAoTEG9yZzEuZXhhbXBsZS5jb20xHDAaBgNVBAMTE2Nh 5 | Lm9yZzEuZXhhbXBsZS5jb20wHhcNMjIwNDE5MDMxMjAwWhcNMzIwNDE2MDMxMjAw 6 | WjBqMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMN 7 | U2FuIEZyYW5jaXNjbzENMAsGA1UECxMEcGVlcjEfMB0GA1UEAxMWcGVlcjAub3Jn 8 | MS5leGFtcGxlLmNvbTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABDV/Fu8cLY2d 9 | KyhmssYQlP/f8pBaSADHCP/fOiwPQH/35bZ6WcitggzvrDF3sk0lndvxnpETuOl2 10 | WrQnC9DvlKmjTTBLMA4GA1UdDwEB/wQEAwIHgDAMBgNVHRMBAf8EAjAAMCsGA1Ud 11 | IwQkMCKAIDxD0QdaTrMNe9uYyeg6EnnWHDCPrOTq0ovx2zk7E3sDMAoGCCqGSM49 12 | BAMCA0gAMEUCIQD04DLpSy6XTvr4vleciBwBD43Ql/0Bso/r2msn3alatwIgQiVj 13 | BKn/o8bhvT5GxamjuhJeGvKNWUDCbt0jf+LPr2U= 14 | -----END CERTIFICATE----- 15 | -------------------------------------------------------------------------------- /src/main/resources/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/msp/tlscacerts/tlsca.org1.example.com-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICVzCCAf2gAwIBAgIQBTFcRf9wEtj+3pCtFN0QxDAKBggqhkjOPQQDAjB2MQsw 3 | CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy 4 | YW5jaXNjbzEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEfMB0GA1UEAxMWdGxz 5 | Y2Eub3JnMS5leGFtcGxlLmNvbTAeFw0yMjA0MTkwMzEyMDBaFw0zMjA0MTYwMzEy 6 | MDBaMHYxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQH 7 | Ew1TYW4gRnJhbmNpc2NvMRkwFwYDVQQKExBvcmcxLmV4YW1wbGUuY29tMR8wHQYD 8 | VQQDExZ0bHNjYS5vcmcxLmV4YW1wbGUuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0D 9 | AQcDQgAE4UqQUSiEy8N4A8EcBSuSObyz+ZlDoZJRWvU7BVgFdYMPvIzWSEj9veIw 10 | PIY6cdNdHN8enpu/lyA0AyawY1v3SaNtMGswDgYDVR0PAQH/BAQDAgGmMB0GA1Ud 11 | JQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDATAPBgNVHRMBAf8EBTADAQH/MCkGA1Ud 12 | DgQiBCA73A/64jKzqMf9QCsPQD6+2YQoG4cRdCAcmQoGsyAyGDAKBggqhkjOPQQD 13 | AgNIADBFAiEAo4ASiVxYH9eReyAHwQ/yIqiQs2EPXCjN8NHplWsefrICIAIlAFK/ 14 | AsDnbU+QvJesNiZnMLUIjIccgSYOcV9NayXZ 15 | -----END CERTIFICATE----- 16 | -------------------------------------------------------------------------------- /src/main/resources/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICVzCCAf2gAwIBAgIQBTFcRf9wEtj+3pCtFN0QxDAKBggqhkjOPQQDAjB2MQsw 3 | CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy 4 | YW5jaXNjbzEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEfMB0GA1UEAxMWdGxz 5 | Y2Eub3JnMS5leGFtcGxlLmNvbTAeFw0yMjA0MTkwMzEyMDBaFw0zMjA0MTYwMzEy 6 | MDBaMHYxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQH 7 | Ew1TYW4gRnJhbmNpc2NvMRkwFwYDVQQKExBvcmcxLmV4YW1wbGUuY29tMR8wHQYD 8 | VQQDExZ0bHNjYS5vcmcxLmV4YW1wbGUuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0D 9 | AQcDQgAE4UqQUSiEy8N4A8EcBSuSObyz+ZlDoZJRWvU7BVgFdYMPvIzWSEj9veIw 10 | PIY6cdNdHN8enpu/lyA0AyawY1v3SaNtMGswDgYDVR0PAQH/BAQDAgGmMB0GA1Ud 11 | JQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDATAPBgNVHRMBAf8EBTADAQH/MCkGA1Ud 12 | DgQiBCA73A/64jKzqMf9QCsPQD6+2YQoG4cRdCAcmQoGsyAyGDAKBggqhkjOPQQD 13 | AgNIADBFAiEAo4ASiVxYH9eReyAHwQ/yIqiQs2EPXCjN8NHplWsefrICIAIlAFK/ 14 | AsDnbU+QvJesNiZnMLUIjIccgSYOcV9NayXZ 15 | -----END CERTIFICATE----- 16 | -------------------------------------------------------------------------------- /src/main/resources/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/server.crt: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICcTCCAhigAwIBAgIQZpAgFfI5sJogDMONmnHg7TAKBggqhkjOPQQDAjB2MQsw 3 | CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy 4 | YW5jaXNjbzEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEfMB0GA1UEAxMWdGxz 5 | Y2Eub3JnMS5leGFtcGxlLmNvbTAeFw0yMjA0MTkwMzEyMDBaFw0zMjA0MTYwMzEy 6 | MDBaMFsxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQH 7 | Ew1TYW4gRnJhbmNpc2NvMR8wHQYDVQQDExZwZWVyMC5vcmcxLmV4YW1wbGUuY29t 8 | MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE1ylo2Otw54qQRw1D/aYwiCU9U0N7 9 | v0spxcYmcuFHJDnRyfLvykUszWBQWR1rDK2NqmXdW+ab0hErOgjowypcgaOBojCB 10 | nzAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMC 11 | MAwGA1UdEwEB/wQCMAAwKwYDVR0jBCQwIoAgO9wP+uIys6jH/UArD0A+vtmEKBuH 12 | EXQgHJkKBrMgMhgwMwYDVR0RBCwwKoIWcGVlcjAub3JnMS5leGFtcGxlLmNvbYIF 13 | cGVlcjCCCWxvY2FsaG9zdDAKBggqhkjOPQQDAgNHADBEAiB7xVi76iO0SsmcMoVI 14 | Wn63hmcdSqhv31tarmcJEsZP4wIgXdMU41p/TpTqy1pbb7FuewYhAFMkLkDCVf/2 15 | aXlB5HQ= 16 | -----END CERTIFICATE----- 17 | -------------------------------------------------------------------------------- /src/main/resources/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/server.key: -------------------------------------------------------------------------------- 1 | -----BEGIN PRIVATE KEY----- 2 | MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgnvPvNYlJlsnKu4HD 3 | EkcJAfkYWsBaiRX1RlrhihpxhsChRANCAATXKWjY63DnipBHDUP9pjCIJT1TQ3u/ 4 | SynFxiZy4UckOdHJ8u/KRSzNYFBZHWsMrY2qZd1b5pvSESs6COjDKlyB 5 | -----END PRIVATE KEY----- 6 | -------------------------------------------------------------------------------- /src/main/resources/peerOrganizations/org1.example.com/tlsca/priv_sk: -------------------------------------------------------------------------------- 1 | -----BEGIN PRIVATE KEY----- 2 | MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQg/t2vCLWL1zEDKib8 3 | PJtXKjJe6zd4kjITQ8IsyNZBliuhRANCAAThSpBRKITLw3gDwRwFK5I5vLP5mUOh 4 | klFa9TsFWAV1gw+8jNZISP294jA8hjpx010c3x6em7+XIDQDJrBjW/dJ 5 | -----END PRIVATE KEY----- 6 | -------------------------------------------------------------------------------- /src/main/resources/peerOrganizations/org1.example.com/tlsca/tlsca.org1.example.com-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICVzCCAf2gAwIBAgIQBTFcRf9wEtj+3pCtFN0QxDAKBggqhkjOPQQDAjB2MQsw 3 | CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy 4 | YW5jaXNjbzEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEfMB0GA1UEAxMWdGxz 5 | Y2Eub3JnMS5leGFtcGxlLmNvbTAeFw0yMjA0MTkwMzEyMDBaFw0zMjA0MTYwMzEy 6 | MDBaMHYxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQH 7 | Ew1TYW4gRnJhbmNpc2NvMRkwFwYDVQQKExBvcmcxLmV4YW1wbGUuY29tMR8wHQYD 8 | VQQDExZ0bHNjYS5vcmcxLmV4YW1wbGUuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0D 9 | AQcDQgAE4UqQUSiEy8N4A8EcBSuSObyz+ZlDoZJRWvU7BVgFdYMPvIzWSEj9veIw 10 | PIY6cdNdHN8enpu/lyA0AyawY1v3SaNtMGswDgYDVR0PAQH/BAQDAgGmMB0GA1Ud 11 | JQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDATAPBgNVHRMBAf8EBTADAQH/MCkGA1Ud 12 | DgQiBCA73A/64jKzqMf9QCsPQD6+2YQoG4cRdCAcmQoGsyAyGDAKBggqhkjOPQQD 13 | AgNIADBFAiEAo4ASiVxYH9eReyAHwQ/yIqiQs2EPXCjN8NHplWsefrICIAIlAFK/ 14 | AsDnbU+QvJesNiZnMLUIjIccgSYOcV9NayXZ 15 | -----END CERTIFICATE----- 16 | -------------------------------------------------------------------------------- /src/main/resources/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp/cacerts/ca.org1.example.com-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICUjCCAfigAwIBAgIRAOza15zKbr+3RDREaI/C26YwCgYIKoZIzj0EAwIwczEL 3 | MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG 4 | cmFuY2lzY28xGTAXBgNVBAoTEG9yZzEuZXhhbXBsZS5jb20xHDAaBgNVBAMTE2Nh 5 | Lm9yZzEuZXhhbXBsZS5jb20wHhcNMjIwNDE5MDMxMjAwWhcNMzIwNDE2MDMxMjAw 6 | WjBzMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMN 7 | U2FuIEZyYW5jaXNjbzEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEcMBoGA1UE 8 | AxMTY2Eub3JnMS5leGFtcGxlLmNvbTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IA 9 | BKJfsmOXOuP92xMbknKSdMKtT4DCB4DJO/KSAUZG573vfGT8vY+ODubJAeYNP5c1 10 | 6l414OzdWUC7R5tuk7GvSaSjbTBrMA4GA1UdDwEB/wQEAwIBpjAdBgNVHSUEFjAU 11 | BggrBgEFBQcDAgYIKwYBBQUHAwEwDwYDVR0TAQH/BAUwAwEB/zApBgNVHQ4EIgQg 12 | PEPRB1pOsw1725jJ6DoSedYcMI+s5OrSi/HbOTsTewMwCgYIKoZIzj0EAwIDSAAw 13 | RQIgQYQRgfjKsPYM1ezixtsGiO8kAWXbTNokkpw9rO5qLfoCIQC1zpROQIhWSawE 14 | F+vQRk9JTnqOgqHul4DllTqTrVd4+A== 15 | -----END CERTIFICATE----- 16 | -------------------------------------------------------------------------------- /src/main/resources/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp/config.yaml: -------------------------------------------------------------------------------- 1 | NodeOUs: 2 | Enable: true 3 | ClientOUIdentifier: 4 | Certificate: cacerts/ca.org1.example.com-cert.pem 5 | OrganizationalUnitIdentifier: client 6 | PeerOUIdentifier: 7 | Certificate: cacerts/ca.org1.example.com-cert.pem 8 | OrganizationalUnitIdentifier: peer 9 | AdminOUIdentifier: 10 | Certificate: cacerts/ca.org1.example.com-cert.pem 11 | OrganizationalUnitIdentifier: admin 12 | OrdererOUIdentifier: 13 | Certificate: cacerts/ca.org1.example.com-cert.pem 14 | OrganizationalUnitIdentifier: orderer 15 | -------------------------------------------------------------------------------- /src/main/resources/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp/keystore/priv_sk: -------------------------------------------------------------------------------- 1 | -----BEGIN PRIVATE KEY----- 2 | MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQg9p7/ht/FasHxAYD1 3 | khMJMAVS0EiVdKAns2Eztw++nf2hRANCAAS66M0YbYNubi7ReIHjvgAJ2gp+Kxvb 4 | 5HBiS0BP5o55xSD1zFAJ8Gf7kiyzuU9imXq9yUq2fobU1BYdahjv2I04 5 | -----END PRIVATE KEY----- 6 | -------------------------------------------------------------------------------- /src/main/resources/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp/signcerts/Admin@org1.example.com-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICKDCCAc+gAwIBAgIQKLcSvig/o3qovPLCMQyPPjAKBggqhkjOPQQDAjBzMQsw 3 | CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy 4 | YW5jaXNjbzEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEcMBoGA1UEAxMTY2Eu 5 | b3JnMS5leGFtcGxlLmNvbTAeFw0yMjA0MTkwMzEyMDBaFw0zMjA0MTYwMzEyMDBa 6 | MGsxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1T 7 | YW4gRnJhbmNpc2NvMQ4wDAYDVQQLEwVhZG1pbjEfMB0GA1UEAwwWQWRtaW5Ab3Jn 8 | MS5leGFtcGxlLmNvbTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABLrozRhtg25u 9 | LtF4geO+AAnaCn4rG9vkcGJLQE/mjnnFIPXMUAnwZ/uSLLO5T2KZer3JSrZ+htTU 10 | Fh1qGO/YjTijTTBLMA4GA1UdDwEB/wQEAwIHgDAMBgNVHRMBAf8EAjAAMCsGA1Ud 11 | IwQkMCKAIDxD0QdaTrMNe9uYyeg6EnnWHDCPrOTq0ovx2zk7E3sDMAoGCCqGSM49 12 | BAMCA0cAMEQCIBbOC5w+cAu2Z/qjOmsoWiB5y4ED71oHLv58aXlDHjuPAiB3xYIL 13 | lTd+y6npn4WTlZWm4qpTF/CbQy6hBYXDlAid1Q== 14 | -----END CERTIFICATE----- 15 | -------------------------------------------------------------------------------- /src/main/resources/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp/tlscacerts/tlsca.org1.example.com-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICVzCCAf2gAwIBAgIQBTFcRf9wEtj+3pCtFN0QxDAKBggqhkjOPQQDAjB2MQsw 3 | CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy 4 | YW5jaXNjbzEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEfMB0GA1UEAxMWdGxz 5 | Y2Eub3JnMS5leGFtcGxlLmNvbTAeFw0yMjA0MTkwMzEyMDBaFw0zMjA0MTYwMzEy 6 | MDBaMHYxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQH 7 | Ew1TYW4gRnJhbmNpc2NvMRkwFwYDVQQKExBvcmcxLmV4YW1wbGUuY29tMR8wHQYD 8 | VQQDExZ0bHNjYS5vcmcxLmV4YW1wbGUuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0D 9 | AQcDQgAE4UqQUSiEy8N4A8EcBSuSObyz+ZlDoZJRWvU7BVgFdYMPvIzWSEj9veIw 10 | PIY6cdNdHN8enpu/lyA0AyawY1v3SaNtMGswDgYDVR0PAQH/BAQDAgGmMB0GA1Ud 11 | JQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDATAPBgNVHRMBAf8EBTADAQH/MCkGA1Ud 12 | DgQiBCA73A/64jKzqMf9QCsPQD6+2YQoG4cRdCAcmQoGsyAyGDAKBggqhkjOPQQD 13 | AgNIADBFAiEAo4ASiVxYH9eReyAHwQ/yIqiQs2EPXCjN8NHplWsefrICIAIlAFK/ 14 | AsDnbU+QvJesNiZnMLUIjIccgSYOcV9NayXZ 15 | -----END CERTIFICATE----- 16 | -------------------------------------------------------------------------------- /src/main/resources/peerOrganizations/org1.example.com/users/Admin@org1.example.com/tls/ca.crt: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICVzCCAf2gAwIBAgIQBTFcRf9wEtj+3pCtFN0QxDAKBggqhkjOPQQDAjB2MQsw 3 | CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy 4 | YW5jaXNjbzEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEfMB0GA1UEAxMWdGxz 5 | Y2Eub3JnMS5leGFtcGxlLmNvbTAeFw0yMjA0MTkwMzEyMDBaFw0zMjA0MTYwMzEy 6 | MDBaMHYxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQH 7 | Ew1TYW4gRnJhbmNpc2NvMRkwFwYDVQQKExBvcmcxLmV4YW1wbGUuY29tMR8wHQYD 8 | VQQDExZ0bHNjYS5vcmcxLmV4YW1wbGUuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0D 9 | AQcDQgAE4UqQUSiEy8N4A8EcBSuSObyz+ZlDoZJRWvU7BVgFdYMPvIzWSEj9veIw 10 | PIY6cdNdHN8enpu/lyA0AyawY1v3SaNtMGswDgYDVR0PAQH/BAQDAgGmMB0GA1Ud 11 | JQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDATAPBgNVHRMBAf8EBTADAQH/MCkGA1Ud 12 | DgQiBCA73A/64jKzqMf9QCsPQD6+2YQoG4cRdCAcmQoGsyAyGDAKBggqhkjOPQQD 13 | AgNIADBFAiEAo4ASiVxYH9eReyAHwQ/yIqiQs2EPXCjN8NHplWsefrICIAIlAFK/ 14 | AsDnbU+QvJesNiZnMLUIjIccgSYOcV9NayXZ 15 | -----END CERTIFICATE----- 16 | -------------------------------------------------------------------------------- /src/main/resources/peerOrganizations/org1.example.com/users/Admin@org1.example.com/tls/client.crt: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICOjCCAeGgAwIBAgIQfoqe5FXdI0xYRyL2BZxoRjAKBggqhkjOPQQDAjB2MQsw 3 | CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy 4 | YW5jaXNjbzEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEfMB0GA1UEAxMWdGxz 5 | Y2Eub3JnMS5leGFtcGxlLmNvbTAeFw0yMjA0MTkwMzEyMDBaFw0zMjA0MTYwMzEy 6 | MDBaMFsxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQH 7 | Ew1TYW4gRnJhbmNpc2NvMR8wHQYDVQQDDBZBZG1pbkBvcmcxLmV4YW1wbGUuY29t 8 | MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEv2599XBhWhCQbyqOaEh21ddvCyM0 9 | Xya8BNvZ7zw0aSIjd1A+6bxR4AxKaE2gPMAqnf/VmVpm0uzpRiV/0GUSUqNsMGow 10 | DgYDVR0PAQH/BAQDAgWgMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAM 11 | BgNVHRMBAf8EAjAAMCsGA1UdIwQkMCKAIDvcD/riMrOox/1AKw9APr7ZhCgbhxF0 12 | IByZCgazIDIYMAoGCCqGSM49BAMCA0cAMEQCICVYTdY5KEzoBLF776OsRsuY4ZIZ 13 | 4Q0ZsXv+K6BGng//AiAf1r8Aqk7PsParAHyGBw19Z2zDmXVHZAFajImJIHrReg== 14 | -----END CERTIFICATE----- 15 | -------------------------------------------------------------------------------- /src/main/resources/peerOrganizations/org1.example.com/users/Admin@org1.example.com/tls/client.key: -------------------------------------------------------------------------------- 1 | -----BEGIN PRIVATE KEY----- 2 | MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQga2YZRhwY3BeIXSlz 3 | wSLYj6sQkS7EtHKCfrX2jK8mDHuhRANCAAS/bn31cGFaEJBvKo5oSHbV128LIzRf 4 | JrwE29nvPDRpIiN3UD7pvFHgDEpoTaA8wCqd/9WZWmbS7OlGJX/QZRJS 5 | -----END PRIVATE KEY----- 6 | -------------------------------------------------------------------------------- /src/main/resources/peerOrganizations/org1.example.com/users/User1@org1.example.com/msp/cacerts/ca.org1.example.com-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICUjCCAfigAwIBAgIRAOza15zKbr+3RDREaI/C26YwCgYIKoZIzj0EAwIwczEL 3 | MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG 4 | cmFuY2lzY28xGTAXBgNVBAoTEG9yZzEuZXhhbXBsZS5jb20xHDAaBgNVBAMTE2Nh 5 | Lm9yZzEuZXhhbXBsZS5jb20wHhcNMjIwNDE5MDMxMjAwWhcNMzIwNDE2MDMxMjAw 6 | WjBzMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMN 7 | U2FuIEZyYW5jaXNjbzEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEcMBoGA1UE 8 | AxMTY2Eub3JnMS5leGFtcGxlLmNvbTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IA 9 | BKJfsmOXOuP92xMbknKSdMKtT4DCB4DJO/KSAUZG573vfGT8vY+ODubJAeYNP5c1 10 | 6l414OzdWUC7R5tuk7GvSaSjbTBrMA4GA1UdDwEB/wQEAwIBpjAdBgNVHSUEFjAU 11 | BggrBgEFBQcDAgYIKwYBBQUHAwEwDwYDVR0TAQH/BAUwAwEB/zApBgNVHQ4EIgQg 12 | PEPRB1pOsw1725jJ6DoSedYcMI+s5OrSi/HbOTsTewMwCgYIKoZIzj0EAwIDSAAw 13 | RQIgQYQRgfjKsPYM1ezixtsGiO8kAWXbTNokkpw9rO5qLfoCIQC1zpROQIhWSawE 14 | F+vQRk9JTnqOgqHul4DllTqTrVd4+A== 15 | -----END CERTIFICATE----- 16 | -------------------------------------------------------------------------------- /src/main/resources/peerOrganizations/org1.example.com/users/User1@org1.example.com/msp/config.yaml: -------------------------------------------------------------------------------- 1 | NodeOUs: 2 | Enable: true 3 | ClientOUIdentifier: 4 | Certificate: cacerts/ca.org1.example.com-cert.pem 5 | OrganizationalUnitIdentifier: client 6 | PeerOUIdentifier: 7 | Certificate: cacerts/ca.org1.example.com-cert.pem 8 | OrganizationalUnitIdentifier: peer 9 | AdminOUIdentifier: 10 | Certificate: cacerts/ca.org1.example.com-cert.pem 11 | OrganizationalUnitIdentifier: admin 12 | OrdererOUIdentifier: 13 | Certificate: cacerts/ca.org1.example.com-cert.pem 14 | OrganizationalUnitIdentifier: orderer 15 | -------------------------------------------------------------------------------- /src/main/resources/peerOrganizations/org1.example.com/users/User1@org1.example.com/msp/keystore/priv_sk: -------------------------------------------------------------------------------- 1 | -----BEGIN PRIVATE KEY----- 2 | MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQg9ECqvx7Y1RttupxF 3 | 50jTDkKvP7QBJ2ncKXH4xmD2TIqhRANCAATbq52FLXls4atzhSxHEbvQxGKpBvmd 4 | zNDRtoEwIffo9CBjqlszKekUlNudcMPvU721p+jk9oTCV7Y0hZDJ1Gyp 5 | -----END PRIVATE KEY----- 6 | -------------------------------------------------------------------------------- /src/main/resources/peerOrganizations/org1.example.com/users/User1@org1.example.com/msp/signcerts/User1@org1.example.com-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICKzCCAdGgAwIBAgIRAKK5Jfa+/kMbmZTomQ7zYHAwCgYIKoZIzj0EAwIwczEL 3 | MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG 4 | cmFuY2lzY28xGTAXBgNVBAoTEG9yZzEuZXhhbXBsZS5jb20xHDAaBgNVBAMTE2Nh 5 | Lm9yZzEuZXhhbXBsZS5jb20wHhcNMjIwNDE5MDMxMjAwWhcNMzIwNDE2MDMxMjAw 6 | WjBsMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMN 7 | U2FuIEZyYW5jaXNjbzEPMA0GA1UECxMGY2xpZW50MR8wHQYDVQQDDBZVc2VyMUBv 8 | cmcxLmV4YW1wbGUuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE26udhS15 9 | bOGrc4UsRxG70MRiqQb5nczQ0baBMCH36PQgY6pbMynpFJTbnXDD71O9tafo5PaE 10 | wle2NIWQydRsqaNNMEswDgYDVR0PAQH/BAQDAgeAMAwGA1UdEwEB/wQCMAAwKwYD 11 | VR0jBCQwIoAgPEPRB1pOsw1725jJ6DoSedYcMI+s5OrSi/HbOTsTewMwCgYIKoZI 12 | zj0EAwIDSAAwRQIhAKjF8UHlBwhX2RljkTFCRbZcssHT1ECHzxjilyse2gZ4AiBb 13 | MfnWfbPnDGP0shODUwkpOmZcf6EjLCBZ61m5wcDwmw== 14 | -----END CERTIFICATE----- 15 | -------------------------------------------------------------------------------- /src/main/resources/peerOrganizations/org1.example.com/users/User1@org1.example.com/msp/tlscacerts/tlsca.org1.example.com-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICVzCCAf2gAwIBAgIQBTFcRf9wEtj+3pCtFN0QxDAKBggqhkjOPQQDAjB2MQsw 3 | CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy 4 | YW5jaXNjbzEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEfMB0GA1UEAxMWdGxz 5 | Y2Eub3JnMS5leGFtcGxlLmNvbTAeFw0yMjA0MTkwMzEyMDBaFw0zMjA0MTYwMzEy 6 | MDBaMHYxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQH 7 | Ew1TYW4gRnJhbmNpc2NvMRkwFwYDVQQKExBvcmcxLmV4YW1wbGUuY29tMR8wHQYD 8 | VQQDExZ0bHNjYS5vcmcxLmV4YW1wbGUuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0D 9 | AQcDQgAE4UqQUSiEy8N4A8EcBSuSObyz+ZlDoZJRWvU7BVgFdYMPvIzWSEj9veIw 10 | PIY6cdNdHN8enpu/lyA0AyawY1v3SaNtMGswDgYDVR0PAQH/BAQDAgGmMB0GA1Ud 11 | JQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDATAPBgNVHRMBAf8EBTADAQH/MCkGA1Ud 12 | DgQiBCA73A/64jKzqMf9QCsPQD6+2YQoG4cRdCAcmQoGsyAyGDAKBggqhkjOPQQD 13 | AgNIADBFAiEAo4ASiVxYH9eReyAHwQ/yIqiQs2EPXCjN8NHplWsefrICIAIlAFK/ 14 | AsDnbU+QvJesNiZnMLUIjIccgSYOcV9NayXZ 15 | -----END CERTIFICATE----- 16 | -------------------------------------------------------------------------------- /src/main/resources/peerOrganizations/org1.example.com/users/User1@org1.example.com/tls/ca.crt: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICVzCCAf2gAwIBAgIQBTFcRf9wEtj+3pCtFN0QxDAKBggqhkjOPQQDAjB2MQsw 3 | CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy 4 | YW5jaXNjbzEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEfMB0GA1UEAxMWdGxz 5 | Y2Eub3JnMS5leGFtcGxlLmNvbTAeFw0yMjA0MTkwMzEyMDBaFw0zMjA0MTYwMzEy 6 | MDBaMHYxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQH 7 | Ew1TYW4gRnJhbmNpc2NvMRkwFwYDVQQKExBvcmcxLmV4YW1wbGUuY29tMR8wHQYD 8 | VQQDExZ0bHNjYS5vcmcxLmV4YW1wbGUuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0D 9 | AQcDQgAE4UqQUSiEy8N4A8EcBSuSObyz+ZlDoZJRWvU7BVgFdYMPvIzWSEj9veIw 10 | PIY6cdNdHN8enpu/lyA0AyawY1v3SaNtMGswDgYDVR0PAQH/BAQDAgGmMB0GA1Ud 11 | JQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDATAPBgNVHRMBAf8EBTADAQH/MCkGA1Ud 12 | DgQiBCA73A/64jKzqMf9QCsPQD6+2YQoG4cRdCAcmQoGsyAyGDAKBggqhkjOPQQD 13 | AgNIADBFAiEAo4ASiVxYH9eReyAHwQ/yIqiQs2EPXCjN8NHplWsefrICIAIlAFK/ 14 | AsDnbU+QvJesNiZnMLUIjIccgSYOcV9NayXZ 15 | -----END CERTIFICATE----- 16 | -------------------------------------------------------------------------------- /src/main/resources/peerOrganizations/org1.example.com/users/User1@org1.example.com/tls/client.crt: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICOjCCAeGgAwIBAgIQbq09E1sJrpa+BOucQcnBrzAKBggqhkjOPQQDAjB2MQsw 3 | CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy 4 | YW5jaXNjbzEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEfMB0GA1UEAxMWdGxz 5 | Y2Eub3JnMS5leGFtcGxlLmNvbTAeFw0yMjA0MTkwMzEyMDBaFw0zMjA0MTYwMzEy 6 | MDBaMFsxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQH 7 | Ew1TYW4gRnJhbmNpc2NvMR8wHQYDVQQDDBZVc2VyMUBvcmcxLmV4YW1wbGUuY29t 8 | MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAESU3lzhCENtN+R5BGjTdHmO74dI9j 9 | SYj3TaYDdE6YVuJ1yMTw/DRso94Bhe5bZJ8lxVxzCUFR9O7rB3na6p5NMaNsMGow 10 | DgYDVR0PAQH/BAQDAgWgMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAM 11 | BgNVHRMBAf8EAjAAMCsGA1UdIwQkMCKAIDvcD/riMrOox/1AKw9APr7ZhCgbhxF0 12 | IByZCgazIDIYMAoGCCqGSM49BAMCA0cAMEQCIFr5zpAofL0HLbch7oobeR8iMKsf 13 | mVGxJRxVxs4z3cdTAiAmJfJ8lRA8Lp4klZp61EckDTWEafiAd9t+zrKiCLajEw== 14 | -----END CERTIFICATE----- 15 | -------------------------------------------------------------------------------- /src/main/resources/peerOrganizations/org1.example.com/users/User1@org1.example.com/tls/client.key: -------------------------------------------------------------------------------- 1 | -----BEGIN PRIVATE KEY----- 2 | MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgbBmIAlj1z5yCeaev 3 | TA07LjESjdbKBU5V5YbHD9h9FYWhRANCAARJTeXOEIQ2035HkEaNN0eY7vh0j2NJ 4 | iPdNpgN0TphW4nXIxPD8NGyj3gGF7ltknyXFXHMJQVH07usHedrqnk0x 5 | -----END PRIVATE KEY----- 6 | -------------------------------------------------------------------------------- /src/main/resources/peerOrganizations/org2.example.com/ca/ca.org2.example.com-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICUTCCAfegAwIBAgIQa4odwmcPSToIQ9/XLhQBrzAKBggqhkjOPQQDAjBzMQsw 3 | CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy 4 | YW5jaXNjbzEZMBcGA1UEChMQb3JnMi5leGFtcGxlLmNvbTEcMBoGA1UEAxMTY2Eu 5 | b3JnMi5leGFtcGxlLmNvbTAeFw0yMjA0MTkwMzEyMDBaFw0zMjA0MTYwMzEyMDBa 6 | MHMxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1T 7 | YW4gRnJhbmNpc2NvMRkwFwYDVQQKExBvcmcyLmV4YW1wbGUuY29tMRwwGgYDVQQD 8 | ExNjYS5vcmcyLmV4YW1wbGUuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE 9 | PWOUAf9P730HDztbPpk+cwa4E7kPwi2hh96p1TrGV4bB1o0HiFiPGX0Y6BfwxdVl 10 | IIaE0aPvJShBtuoDyKAlX6NtMGswDgYDVR0PAQH/BAQDAgGmMB0GA1UdJQQWMBQG 11 | CCsGAQUFBwMCBggrBgEFBQcDATAPBgNVHRMBAf8EBTADAQH/MCkGA1UdDgQiBCDt 12 | u2/ePun6SSsBzok/BbkUASJpcgKGASJWUxtoPZkepTAKBggqhkjOPQQDAgNIADBF 13 | AiEA7U003iZid9JYTRF0xQh4CAW4k6OwWmNLQTEXnlguKpICIHh3I7nh6OpKMwJi 14 | E198vdhMTUH+KVr2EROA1aR5zTYP 15 | -----END CERTIFICATE----- 16 | -------------------------------------------------------------------------------- /src/main/resources/peerOrganizations/org2.example.com/ca/priv_sk: -------------------------------------------------------------------------------- 1 | -----BEGIN PRIVATE KEY----- 2 | MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgPDvKeLqyvu4qEqjc 3 | iS4QTFuzb77sH5Nn9ApGOrcRJuihRANCAAQ9Y5QB/0/vfQcPO1s+mT5zBrgTuQ/C 4 | LaGH3qnVOsZXhsHWjQeIWI8ZfRjoF/DF1WUghoTRo+8lKEG26gPIoCVf 5 | -----END PRIVATE KEY----- 6 | -------------------------------------------------------------------------------- /src/main/resources/peerOrganizations/org2.example.com/connection-org2.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "test-network-org2", 3 | "version": "1.0.0", 4 | "client": { 5 | "organization": "Org2", 6 | "connection": { 7 | "timeout": { 8 | "peer": { 9 | "endorser": "300" 10 | } 11 | } 12 | } 13 | }, 14 | "organizations": { 15 | "Org2": { 16 | "mspid": "Org2MSP", 17 | "peers": [ 18 | "peer0.org2.example.com" 19 | ], 20 | "certificateAuthorities": [ 21 | "ca.org2.example.com" 22 | ] 23 | } 24 | }, 25 | "peers": { 26 | "peer0.org2.example.com": { 27 | "url": "grpcs://localhost:9051", 28 | "tlsCACerts": { 29 | "pem": "-----BEGIN CERTIFICATE-----\nMIICWDCCAf2gAwIBAgIQK8vdbo0E53Goh320skeooDAKBggqhkjOPQQDAjB2MQsw\nCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy\nYW5jaXNjbzEZMBcGA1UEChMQb3JnMi5leGFtcGxlLmNvbTEfMB0GA1UEAxMWdGxz\nY2Eub3JnMi5leGFtcGxlLmNvbTAeFw0yMjA0MTkwMzEyMDBaFw0zMjA0MTYwMzEy\nMDBaMHYxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQH\nEw1TYW4gRnJhbmNpc2NvMRkwFwYDVQQKExBvcmcyLmV4YW1wbGUuY29tMR8wHQYD\nVQQDExZ0bHNjYS5vcmcyLmV4YW1wbGUuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0D\nAQcDQgAETk40L75/vTMpotlNe/BH6xKVevIrueGJz0UvzMbNNLaMfMY+WKuEaiKO\n+A/X9cq2V+aHY7D51NPuWQmpSK56XaNtMGswDgYDVR0PAQH/BAQDAgGmMB0GA1Ud\nJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDATAPBgNVHRMBAf8EBTADAQH/MCkGA1Ud\nDgQiBCCzZsJWR4AROkPHaRu65x7+XdcPIPx7OGAPsyh7X9b9UzAKBggqhkjOPQQD\nAgNJADBGAiEA+Udfmbp1yxNzUiRVHBWmXGNUkAtfeSTLfKs/IZwyXp0CIQC9jud+\nZnVqFEyN4I1cIFY4LuNr7Je+dWnD2A4rlVzEPA==\n-----END CERTIFICATE-----\n" 30 | }, 31 | "grpcOptions": { 32 | "ssl-target-name-override": "peer0.org2.example.com", 33 | "hostnameOverride": "peer0.org2.example.com" 34 | } 35 | } 36 | }, 37 | "certificateAuthorities": { 38 | "ca.org2.example.com": { 39 | "url": "https://localhost:8054", 40 | "caName": "ca-org2", 41 | "tlsCACerts": { 42 | "pem": ["-----BEGIN CERTIFICATE-----\nMIICUTCCAfegAwIBAgIQa4odwmcPSToIQ9/XLhQBrzAKBggqhkjOPQQDAjBzMQsw\nCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy\nYW5jaXNjbzEZMBcGA1UEChMQb3JnMi5leGFtcGxlLmNvbTEcMBoGA1UEAxMTY2Eu\nb3JnMi5leGFtcGxlLmNvbTAeFw0yMjA0MTkwMzEyMDBaFw0zMjA0MTYwMzEyMDBa\nMHMxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1T\nYW4gRnJhbmNpc2NvMRkwFwYDVQQKExBvcmcyLmV4YW1wbGUuY29tMRwwGgYDVQQD\nExNjYS5vcmcyLmV4YW1wbGUuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE\nPWOUAf9P730HDztbPpk+cwa4E7kPwi2hh96p1TrGV4bB1o0HiFiPGX0Y6BfwxdVl\nIIaE0aPvJShBtuoDyKAlX6NtMGswDgYDVR0PAQH/BAQDAgGmMB0GA1UdJQQWMBQG\nCCsGAQUFBwMCBggrBgEFBQcDATAPBgNVHRMBAf8EBTADAQH/MCkGA1UdDgQiBCDt\nu2/ePun6SSsBzok/BbkUASJpcgKGASJWUxtoPZkepTAKBggqhkjOPQQDAgNIADBF\nAiEA7U003iZid9JYTRF0xQh4CAW4k6OwWmNLQTEXnlguKpICIHh3I7nh6OpKMwJi\nE198vdhMTUH+KVr2EROA1aR5zTYP\n-----END CERTIFICATE-----\n"] 43 | }, 44 | "httpOptions": { 45 | "verify": false 46 | } 47 | } 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /src/main/resources/peerOrganizations/org2.example.com/connection-org2.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | name: test-network-org2 3 | version: 1.0.0 4 | client: 5 | organization: Org2 6 | connection: 7 | timeout: 8 | peer: 9 | endorser: '300' 10 | organizations: 11 | Org2: 12 | mspid: Org2MSP 13 | peers: 14 | - peer0.org2.example.com 15 | certificateAuthorities: 16 | - ca.org2.example.com 17 | peers: 18 | peer0.org2.example.com: 19 | url: grpcs://localhost:9051 20 | tlsCACerts: 21 | pem: | 22 | -----BEGIN CERTIFICATE----- 23 | MIICWDCCAf2gAwIBAgIQK8vdbo0E53Goh320skeooDAKBggqhkjOPQQDAjB2MQsw 24 | CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy 25 | YW5jaXNjbzEZMBcGA1UEChMQb3JnMi5leGFtcGxlLmNvbTEfMB0GA1UEAxMWdGxz 26 | Y2Eub3JnMi5leGFtcGxlLmNvbTAeFw0yMjA0MTkwMzEyMDBaFw0zMjA0MTYwMzEy 27 | MDBaMHYxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQH 28 | Ew1TYW4gRnJhbmNpc2NvMRkwFwYDVQQKExBvcmcyLmV4YW1wbGUuY29tMR8wHQYD 29 | VQQDExZ0bHNjYS5vcmcyLmV4YW1wbGUuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0D 30 | AQcDQgAETk40L75/vTMpotlNe/BH6xKVevIrueGJz0UvzMbNNLaMfMY+WKuEaiKO 31 | +A/X9cq2V+aHY7D51NPuWQmpSK56XaNtMGswDgYDVR0PAQH/BAQDAgGmMB0GA1Ud 32 | JQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDATAPBgNVHRMBAf8EBTADAQH/MCkGA1Ud 33 | DgQiBCCzZsJWR4AROkPHaRu65x7+XdcPIPx7OGAPsyh7X9b9UzAKBggqhkjOPQQD 34 | AgNJADBGAiEA+Udfmbp1yxNzUiRVHBWmXGNUkAtfeSTLfKs/IZwyXp0CIQC9jud+ 35 | ZnVqFEyN4I1cIFY4LuNr7Je+dWnD2A4rlVzEPA== 36 | -----END CERTIFICATE----- 37 | 38 | grpcOptions: 39 | ssl-target-name-override: peer0.org2.example.com 40 | hostnameOverride: peer0.org2.example.com 41 | certificateAuthorities: 42 | ca.org2.example.com: 43 | url: https://localhost:8054 44 | caName: ca-org2 45 | tlsCACerts: 46 | pem: 47 | - | 48 | -----BEGIN CERTIFICATE----- 49 | MIICUTCCAfegAwIBAgIQa4odwmcPSToIQ9/XLhQBrzAKBggqhkjOPQQDAjBzMQsw 50 | CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy 51 | YW5jaXNjbzEZMBcGA1UEChMQb3JnMi5leGFtcGxlLmNvbTEcMBoGA1UEAxMTY2Eu 52 | b3JnMi5leGFtcGxlLmNvbTAeFw0yMjA0MTkwMzEyMDBaFw0zMjA0MTYwMzEyMDBa 53 | MHMxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1T 54 | YW4gRnJhbmNpc2NvMRkwFwYDVQQKExBvcmcyLmV4YW1wbGUuY29tMRwwGgYDVQQD 55 | ExNjYS5vcmcyLmV4YW1wbGUuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE 56 | PWOUAf9P730HDztbPpk+cwa4E7kPwi2hh96p1TrGV4bB1o0HiFiPGX0Y6BfwxdVl 57 | IIaE0aPvJShBtuoDyKAlX6NtMGswDgYDVR0PAQH/BAQDAgGmMB0GA1UdJQQWMBQG 58 | CCsGAQUFBwMCBggrBgEFBQcDATAPBgNVHRMBAf8EBTADAQH/MCkGA1UdDgQiBCDt 59 | u2/ePun6SSsBzok/BbkUASJpcgKGASJWUxtoPZkepTAKBggqhkjOPQQDAgNIADBF 60 | AiEA7U003iZid9JYTRF0xQh4CAW4k6OwWmNLQTEXnlguKpICIHh3I7nh6OpKMwJi 61 | E198vdhMTUH+KVr2EROA1aR5zTYP 62 | -----END CERTIFICATE----- 63 | 64 | httpOptions: 65 | verify: false 66 | -------------------------------------------------------------------------------- /src/main/resources/peerOrganizations/org2.example.com/msp/cacerts/ca.org2.example.com-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICUTCCAfegAwIBAgIQa4odwmcPSToIQ9/XLhQBrzAKBggqhkjOPQQDAjBzMQsw 3 | CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy 4 | YW5jaXNjbzEZMBcGA1UEChMQb3JnMi5leGFtcGxlLmNvbTEcMBoGA1UEAxMTY2Eu 5 | b3JnMi5leGFtcGxlLmNvbTAeFw0yMjA0MTkwMzEyMDBaFw0zMjA0MTYwMzEyMDBa 6 | MHMxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1T 7 | YW4gRnJhbmNpc2NvMRkwFwYDVQQKExBvcmcyLmV4YW1wbGUuY29tMRwwGgYDVQQD 8 | ExNjYS5vcmcyLmV4YW1wbGUuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE 9 | PWOUAf9P730HDztbPpk+cwa4E7kPwi2hh96p1TrGV4bB1o0HiFiPGX0Y6BfwxdVl 10 | IIaE0aPvJShBtuoDyKAlX6NtMGswDgYDVR0PAQH/BAQDAgGmMB0GA1UdJQQWMBQG 11 | CCsGAQUFBwMCBggrBgEFBQcDATAPBgNVHRMBAf8EBTADAQH/MCkGA1UdDgQiBCDt 12 | u2/ePun6SSsBzok/BbkUASJpcgKGASJWUxtoPZkepTAKBggqhkjOPQQDAgNIADBF 13 | AiEA7U003iZid9JYTRF0xQh4CAW4k6OwWmNLQTEXnlguKpICIHh3I7nh6OpKMwJi 14 | E198vdhMTUH+KVr2EROA1aR5zTYP 15 | -----END CERTIFICATE----- 16 | -------------------------------------------------------------------------------- /src/main/resources/peerOrganizations/org2.example.com/msp/config.yaml: -------------------------------------------------------------------------------- 1 | NodeOUs: 2 | Enable: true 3 | ClientOUIdentifier: 4 | Certificate: cacerts/ca.org2.example.com-cert.pem 5 | OrganizationalUnitIdentifier: client 6 | PeerOUIdentifier: 7 | Certificate: cacerts/ca.org2.example.com-cert.pem 8 | OrganizationalUnitIdentifier: peer 9 | AdminOUIdentifier: 10 | Certificate: cacerts/ca.org2.example.com-cert.pem 11 | OrganizationalUnitIdentifier: admin 12 | OrdererOUIdentifier: 13 | Certificate: cacerts/ca.org2.example.com-cert.pem 14 | OrganizationalUnitIdentifier: orderer 15 | -------------------------------------------------------------------------------- /src/main/resources/peerOrganizations/org2.example.com/msp/tlscacerts/tlsca.org2.example.com-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICWDCCAf2gAwIBAgIQK8vdbo0E53Goh320skeooDAKBggqhkjOPQQDAjB2MQsw 3 | CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy 4 | YW5jaXNjbzEZMBcGA1UEChMQb3JnMi5leGFtcGxlLmNvbTEfMB0GA1UEAxMWdGxz 5 | Y2Eub3JnMi5leGFtcGxlLmNvbTAeFw0yMjA0MTkwMzEyMDBaFw0zMjA0MTYwMzEy 6 | MDBaMHYxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQH 7 | Ew1TYW4gRnJhbmNpc2NvMRkwFwYDVQQKExBvcmcyLmV4YW1wbGUuY29tMR8wHQYD 8 | VQQDExZ0bHNjYS5vcmcyLmV4YW1wbGUuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0D 9 | AQcDQgAETk40L75/vTMpotlNe/BH6xKVevIrueGJz0UvzMbNNLaMfMY+WKuEaiKO 10 | +A/X9cq2V+aHY7D51NPuWQmpSK56XaNtMGswDgYDVR0PAQH/BAQDAgGmMB0GA1Ud 11 | JQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDATAPBgNVHRMBAf8EBTADAQH/MCkGA1Ud 12 | DgQiBCCzZsJWR4AROkPHaRu65x7+XdcPIPx7OGAPsyh7X9b9UzAKBggqhkjOPQQD 13 | AgNJADBGAiEA+Udfmbp1yxNzUiRVHBWmXGNUkAtfeSTLfKs/IZwyXp0CIQC9jud+ 14 | ZnVqFEyN4I1cIFY4LuNr7Je+dWnD2A4rlVzEPA== 15 | -----END CERTIFICATE----- 16 | -------------------------------------------------------------------------------- /src/main/resources/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/msp/cacerts/ca.org2.example.com-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICUTCCAfegAwIBAgIQa4odwmcPSToIQ9/XLhQBrzAKBggqhkjOPQQDAjBzMQsw 3 | CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy 4 | YW5jaXNjbzEZMBcGA1UEChMQb3JnMi5leGFtcGxlLmNvbTEcMBoGA1UEAxMTY2Eu 5 | b3JnMi5leGFtcGxlLmNvbTAeFw0yMjA0MTkwMzEyMDBaFw0zMjA0MTYwMzEyMDBa 6 | MHMxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1T 7 | YW4gRnJhbmNpc2NvMRkwFwYDVQQKExBvcmcyLmV4YW1wbGUuY29tMRwwGgYDVQQD 8 | ExNjYS5vcmcyLmV4YW1wbGUuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE 9 | PWOUAf9P730HDztbPpk+cwa4E7kPwi2hh96p1TrGV4bB1o0HiFiPGX0Y6BfwxdVl 10 | IIaE0aPvJShBtuoDyKAlX6NtMGswDgYDVR0PAQH/BAQDAgGmMB0GA1UdJQQWMBQG 11 | CCsGAQUFBwMCBggrBgEFBQcDATAPBgNVHRMBAf8EBTADAQH/MCkGA1UdDgQiBCDt 12 | u2/ePun6SSsBzok/BbkUASJpcgKGASJWUxtoPZkepTAKBggqhkjOPQQDAgNIADBF 13 | AiEA7U003iZid9JYTRF0xQh4CAW4k6OwWmNLQTEXnlguKpICIHh3I7nh6OpKMwJi 14 | E198vdhMTUH+KVr2EROA1aR5zTYP 15 | -----END CERTIFICATE----- 16 | -------------------------------------------------------------------------------- /src/main/resources/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/msp/config.yaml: -------------------------------------------------------------------------------- 1 | NodeOUs: 2 | Enable: true 3 | ClientOUIdentifier: 4 | Certificate: cacerts/ca.org2.example.com-cert.pem 5 | OrganizationalUnitIdentifier: client 6 | PeerOUIdentifier: 7 | Certificate: cacerts/ca.org2.example.com-cert.pem 8 | OrganizationalUnitIdentifier: peer 9 | AdminOUIdentifier: 10 | Certificate: cacerts/ca.org2.example.com-cert.pem 11 | OrganizationalUnitIdentifier: admin 12 | OrdererOUIdentifier: 13 | Certificate: cacerts/ca.org2.example.com-cert.pem 14 | OrganizationalUnitIdentifier: orderer 15 | -------------------------------------------------------------------------------- /src/main/resources/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/msp/keystore/priv_sk: -------------------------------------------------------------------------------- 1 | -----BEGIN PRIVATE KEY----- 2 | MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgQrWGHaTWrA7zMWmu 3 | Odgv5aa19BUV98RmRzsOB578bzGhRANCAASbghzvf/59eXWlYluY/xuJKmCN6rTR 4 | 0jHgbg59Ivdok2eT0wJC4lCz/YXmeGUeKjMgh6rSo+ZFJ1zznipJsO5u 5 | -----END PRIVATE KEY----- 6 | -------------------------------------------------------------------------------- /src/main/resources/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/msp/signcerts/peer0.org2.example.com-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICKDCCAc+gAwIBAgIRANFIKLsKkslFRVOCfxOB15MwCgYIKoZIzj0EAwIwczEL 3 | MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG 4 | cmFuY2lzY28xGTAXBgNVBAoTEG9yZzIuZXhhbXBsZS5jb20xHDAaBgNVBAMTE2Nh 5 | Lm9yZzIuZXhhbXBsZS5jb20wHhcNMjIwNDE5MDMxMjAwWhcNMzIwNDE2MDMxMjAw 6 | WjBqMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMN 7 | U2FuIEZyYW5jaXNjbzENMAsGA1UECxMEcGVlcjEfMB0GA1UEAxMWcGVlcjAub3Jn 8 | Mi5leGFtcGxlLmNvbTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABJuCHO9//n15 9 | daViW5j/G4kqYI3qtNHSMeBuDn0i92iTZ5PTAkLiULP9heZ4ZR4qMyCHqtKj5kUn 10 | XPOeKkmw7m6jTTBLMA4GA1UdDwEB/wQEAwIHgDAMBgNVHRMBAf8EAjAAMCsGA1Ud 11 | IwQkMCKAIO27b94+6fpJKwHOiT8FuRQBImlyAoYBIlZTG2g9mR6lMAoGCCqGSM49 12 | BAMCA0cAMEQCIGU8gNJ1ugrUil07r8I6yIaeBOTOFej0FEx/qRoFBIkSAiAxZsFW 13 | rTNUOzOvKpZuWNKWl+5k36bOgibtGYGPk0FhHg== 14 | -----END CERTIFICATE----- 15 | -------------------------------------------------------------------------------- /src/main/resources/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/msp/tlscacerts/tlsca.org2.example.com-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICWDCCAf2gAwIBAgIQK8vdbo0E53Goh320skeooDAKBggqhkjOPQQDAjB2MQsw 3 | CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy 4 | YW5jaXNjbzEZMBcGA1UEChMQb3JnMi5leGFtcGxlLmNvbTEfMB0GA1UEAxMWdGxz 5 | Y2Eub3JnMi5leGFtcGxlLmNvbTAeFw0yMjA0MTkwMzEyMDBaFw0zMjA0MTYwMzEy 6 | MDBaMHYxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQH 7 | Ew1TYW4gRnJhbmNpc2NvMRkwFwYDVQQKExBvcmcyLmV4YW1wbGUuY29tMR8wHQYD 8 | VQQDExZ0bHNjYS5vcmcyLmV4YW1wbGUuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0D 9 | AQcDQgAETk40L75/vTMpotlNe/BH6xKVevIrueGJz0UvzMbNNLaMfMY+WKuEaiKO 10 | +A/X9cq2V+aHY7D51NPuWQmpSK56XaNtMGswDgYDVR0PAQH/BAQDAgGmMB0GA1Ud 11 | JQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDATAPBgNVHRMBAf8EBTADAQH/MCkGA1Ud 12 | DgQiBCCzZsJWR4AROkPHaRu65x7+XdcPIPx7OGAPsyh7X9b9UzAKBggqhkjOPQQD 13 | AgNJADBGAiEA+Udfmbp1yxNzUiRVHBWmXGNUkAtfeSTLfKs/IZwyXp0CIQC9jud+ 14 | ZnVqFEyN4I1cIFY4LuNr7Je+dWnD2A4rlVzEPA== 15 | -----END CERTIFICATE----- 16 | -------------------------------------------------------------------------------- /src/main/resources/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/ca.crt: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICWDCCAf2gAwIBAgIQK8vdbo0E53Goh320skeooDAKBggqhkjOPQQDAjB2MQsw 3 | CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy 4 | YW5jaXNjbzEZMBcGA1UEChMQb3JnMi5leGFtcGxlLmNvbTEfMB0GA1UEAxMWdGxz 5 | Y2Eub3JnMi5leGFtcGxlLmNvbTAeFw0yMjA0MTkwMzEyMDBaFw0zMjA0MTYwMzEy 6 | MDBaMHYxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQH 7 | Ew1TYW4gRnJhbmNpc2NvMRkwFwYDVQQKExBvcmcyLmV4YW1wbGUuY29tMR8wHQYD 8 | VQQDExZ0bHNjYS5vcmcyLmV4YW1wbGUuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0D 9 | AQcDQgAETk40L75/vTMpotlNe/BH6xKVevIrueGJz0UvzMbNNLaMfMY+WKuEaiKO 10 | +A/X9cq2V+aHY7D51NPuWQmpSK56XaNtMGswDgYDVR0PAQH/BAQDAgGmMB0GA1Ud 11 | JQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDATAPBgNVHRMBAf8EBTADAQH/MCkGA1Ud 12 | DgQiBCCzZsJWR4AROkPHaRu65x7+XdcPIPx7OGAPsyh7X9b9UzAKBggqhkjOPQQD 13 | AgNJADBGAiEA+Udfmbp1yxNzUiRVHBWmXGNUkAtfeSTLfKs/IZwyXp0CIQC9jud+ 14 | ZnVqFEyN4I1cIFY4LuNr7Je+dWnD2A4rlVzEPA== 15 | -----END CERTIFICATE----- 16 | -------------------------------------------------------------------------------- /src/main/resources/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/server.crt: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICczCCAhmgAwIBAgIRAMLO0zixNNzEHzRkpkmCepswCgYIKoZIzj0EAwIwdjEL 3 | MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG 4 | cmFuY2lzY28xGTAXBgNVBAoTEG9yZzIuZXhhbXBsZS5jb20xHzAdBgNVBAMTFnRs 5 | c2NhLm9yZzIuZXhhbXBsZS5jb20wHhcNMjIwNDE5MDMxMjAwWhcNMzIwNDE2MDMx 6 | MjAwWjBbMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UE 7 | BxMNU2FuIEZyYW5jaXNjbzEfMB0GA1UEAxMWcGVlcjAub3JnMi5leGFtcGxlLmNv 8 | bTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABHJsKgDOJZvL9N5n4xzICw8A+BHS 9 | WGobLiHGKEbnIMskb93cI4mT/5JV+Idda15UeydVypqr5q/hxhFV6X/U76yjgaIw 10 | gZ8wDgYDVR0PAQH/BAQDAgWgMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcD 11 | AjAMBgNVHRMBAf8EAjAAMCsGA1UdIwQkMCKAILNmwlZHgBE6Q8dpG7rnHv5d1w8g 12 | /Hs4YA+zKHtf1v1TMDMGA1UdEQQsMCqCFnBlZXIwLm9yZzIuZXhhbXBsZS5jb22C 13 | BXBlZXIwgglsb2NhbGhvc3QwCgYIKoZIzj0EAwIDSAAwRQIhAImUMfaNkI8Ou0BO 14 | WUWyiCf7MFVuQGBouC7KGE0dsOUlAiBEDxrhxwKKa9dg7k7aD4X9XY/ju0yD6Bsb 15 | yTgdsc8/lA== 16 | -----END CERTIFICATE----- 17 | -------------------------------------------------------------------------------- /src/main/resources/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/server.key: -------------------------------------------------------------------------------- 1 | -----BEGIN PRIVATE KEY----- 2 | MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgwvwmZdidm3bXJ4RD 3 | WdH/MIOOvQ0S0/s3l1L00ykdLwqhRANCAARybCoAziWby/TeZ+McyAsPAPgR0lhq 4 | Gy4hxihG5yDLJG/d3COJk/+SVfiHXWteVHsnVcqaq+av4cYRVel/1O+s 5 | -----END PRIVATE KEY----- 6 | -------------------------------------------------------------------------------- /src/main/resources/peerOrganizations/org2.example.com/tlsca/priv_sk: -------------------------------------------------------------------------------- 1 | -----BEGIN PRIVATE KEY----- 2 | MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgPKNjH4iv/Dy/U5U2 3 | HS72NgqYzqaxoCEdlzmeSI+br2WhRANCAAROTjQvvn+9Mymi2U178EfrEpV68iu5 4 | 4YnPRS/Mxs00tox8xj5Yq4RqIo74D9f1yrZX5odjsPnU0+5ZCalIrnpd 5 | -----END PRIVATE KEY----- 6 | -------------------------------------------------------------------------------- /src/main/resources/peerOrganizations/org2.example.com/tlsca/tlsca.org2.example.com-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICWDCCAf2gAwIBAgIQK8vdbo0E53Goh320skeooDAKBggqhkjOPQQDAjB2MQsw 3 | CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy 4 | YW5jaXNjbzEZMBcGA1UEChMQb3JnMi5leGFtcGxlLmNvbTEfMB0GA1UEAxMWdGxz 5 | Y2Eub3JnMi5leGFtcGxlLmNvbTAeFw0yMjA0MTkwMzEyMDBaFw0zMjA0MTYwMzEy 6 | MDBaMHYxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQH 7 | Ew1TYW4gRnJhbmNpc2NvMRkwFwYDVQQKExBvcmcyLmV4YW1wbGUuY29tMR8wHQYD 8 | VQQDExZ0bHNjYS5vcmcyLmV4YW1wbGUuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0D 9 | AQcDQgAETk40L75/vTMpotlNe/BH6xKVevIrueGJz0UvzMbNNLaMfMY+WKuEaiKO 10 | +A/X9cq2V+aHY7D51NPuWQmpSK56XaNtMGswDgYDVR0PAQH/BAQDAgGmMB0GA1Ud 11 | JQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDATAPBgNVHRMBAf8EBTADAQH/MCkGA1Ud 12 | DgQiBCCzZsJWR4AROkPHaRu65x7+XdcPIPx7OGAPsyh7X9b9UzAKBggqhkjOPQQD 13 | AgNJADBGAiEA+Udfmbp1yxNzUiRVHBWmXGNUkAtfeSTLfKs/IZwyXp0CIQC9jud+ 14 | ZnVqFEyN4I1cIFY4LuNr7Je+dWnD2A4rlVzEPA== 15 | -----END CERTIFICATE----- 16 | -------------------------------------------------------------------------------- /src/main/resources/peerOrganizations/org2.example.com/users/Admin@org2.example.com/msp/cacerts/ca.org2.example.com-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICUTCCAfegAwIBAgIQa4odwmcPSToIQ9/XLhQBrzAKBggqhkjOPQQDAjBzMQsw 3 | CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy 4 | YW5jaXNjbzEZMBcGA1UEChMQb3JnMi5leGFtcGxlLmNvbTEcMBoGA1UEAxMTY2Eu 5 | b3JnMi5leGFtcGxlLmNvbTAeFw0yMjA0MTkwMzEyMDBaFw0zMjA0MTYwMzEyMDBa 6 | MHMxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1T 7 | YW4gRnJhbmNpc2NvMRkwFwYDVQQKExBvcmcyLmV4YW1wbGUuY29tMRwwGgYDVQQD 8 | ExNjYS5vcmcyLmV4YW1wbGUuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE 9 | PWOUAf9P730HDztbPpk+cwa4E7kPwi2hh96p1TrGV4bB1o0HiFiPGX0Y6BfwxdVl 10 | IIaE0aPvJShBtuoDyKAlX6NtMGswDgYDVR0PAQH/BAQDAgGmMB0GA1UdJQQWMBQG 11 | CCsGAQUFBwMCBggrBgEFBQcDATAPBgNVHRMBAf8EBTADAQH/MCkGA1UdDgQiBCDt 12 | u2/ePun6SSsBzok/BbkUASJpcgKGASJWUxtoPZkepTAKBggqhkjOPQQDAgNIADBF 13 | AiEA7U003iZid9JYTRF0xQh4CAW4k6OwWmNLQTEXnlguKpICIHh3I7nh6OpKMwJi 14 | E198vdhMTUH+KVr2EROA1aR5zTYP 15 | -----END CERTIFICATE----- 16 | -------------------------------------------------------------------------------- /src/main/resources/peerOrganizations/org2.example.com/users/Admin@org2.example.com/msp/config.yaml: -------------------------------------------------------------------------------- 1 | NodeOUs: 2 | Enable: true 3 | ClientOUIdentifier: 4 | Certificate: cacerts/ca.org2.example.com-cert.pem 5 | OrganizationalUnitIdentifier: client 6 | PeerOUIdentifier: 7 | Certificate: cacerts/ca.org2.example.com-cert.pem 8 | OrganizationalUnitIdentifier: peer 9 | AdminOUIdentifier: 10 | Certificate: cacerts/ca.org2.example.com-cert.pem 11 | OrganizationalUnitIdentifier: admin 12 | OrdererOUIdentifier: 13 | Certificate: cacerts/ca.org2.example.com-cert.pem 14 | OrganizationalUnitIdentifier: orderer 15 | -------------------------------------------------------------------------------- /src/main/resources/peerOrganizations/org2.example.com/users/Admin@org2.example.com/msp/keystore/priv_sk: -------------------------------------------------------------------------------- 1 | -----BEGIN PRIVATE KEY----- 2 | MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgjzBA5o2Nl9HGhGRN 3 | mlGx1xPRO3bTdgv0Sn7JSMnWNx+hRANCAAQo7TSWniZ0JXXZnzDc5TPqvyJnCzpr 4 | RUO7oROXCl41VZn8f/l1UpFXMOxhlYKKU+CkjaCTobqqBnLrbNkFZWg7 5 | -----END PRIVATE KEY----- 6 | -------------------------------------------------------------------------------- /src/main/resources/peerOrganizations/org2.example.com/users/Admin@org2.example.com/msp/signcerts/Admin@org2.example.com-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICKDCCAc+gAwIBAgIQQYFICvvC/ocdP2RJOw4eGDAKBggqhkjOPQQDAjBzMQsw 3 | CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy 4 | YW5jaXNjbzEZMBcGA1UEChMQb3JnMi5leGFtcGxlLmNvbTEcMBoGA1UEAxMTY2Eu 5 | b3JnMi5leGFtcGxlLmNvbTAeFw0yMjA0MTkwMzEyMDBaFw0zMjA0MTYwMzEyMDBa 6 | MGsxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1T 7 | YW4gRnJhbmNpc2NvMQ4wDAYDVQQLEwVhZG1pbjEfMB0GA1UEAwwWQWRtaW5Ab3Jn 8 | Mi5leGFtcGxlLmNvbTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABCjtNJaeJnQl 9 | ddmfMNzlM+q/ImcLOmtFQ7uhE5cKXjVVmfx/+XVSkVcw7GGVgopT4KSNoJOhuqoG 10 | cuts2QVlaDujTTBLMA4GA1UdDwEB/wQEAwIHgDAMBgNVHRMBAf8EAjAAMCsGA1Ud 11 | IwQkMCKAIO27b94+6fpJKwHOiT8FuRQBImlyAoYBIlZTG2g9mR6lMAoGCCqGSM49 12 | BAMCA0cAMEQCIGY9Zz7p/g4no6je3hRTF9Wt5jrt4IqiGZKBrq3hg/RiAiBIIT7T 13 | 1nGC8kaLBdlMmEVZpFtjp/gCHOEnlyExBoWVTA== 14 | -----END CERTIFICATE----- 15 | -------------------------------------------------------------------------------- /src/main/resources/peerOrganizations/org2.example.com/users/Admin@org2.example.com/msp/tlscacerts/tlsca.org2.example.com-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICWDCCAf2gAwIBAgIQK8vdbo0E53Goh320skeooDAKBggqhkjOPQQDAjB2MQsw 3 | CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy 4 | YW5jaXNjbzEZMBcGA1UEChMQb3JnMi5leGFtcGxlLmNvbTEfMB0GA1UEAxMWdGxz 5 | Y2Eub3JnMi5leGFtcGxlLmNvbTAeFw0yMjA0MTkwMzEyMDBaFw0zMjA0MTYwMzEy 6 | MDBaMHYxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQH 7 | Ew1TYW4gRnJhbmNpc2NvMRkwFwYDVQQKExBvcmcyLmV4YW1wbGUuY29tMR8wHQYD 8 | VQQDExZ0bHNjYS5vcmcyLmV4YW1wbGUuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0D 9 | AQcDQgAETk40L75/vTMpotlNe/BH6xKVevIrueGJz0UvzMbNNLaMfMY+WKuEaiKO 10 | +A/X9cq2V+aHY7D51NPuWQmpSK56XaNtMGswDgYDVR0PAQH/BAQDAgGmMB0GA1Ud 11 | JQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDATAPBgNVHRMBAf8EBTADAQH/MCkGA1Ud 12 | DgQiBCCzZsJWR4AROkPHaRu65x7+XdcPIPx7OGAPsyh7X9b9UzAKBggqhkjOPQQD 13 | AgNJADBGAiEA+Udfmbp1yxNzUiRVHBWmXGNUkAtfeSTLfKs/IZwyXp0CIQC9jud+ 14 | ZnVqFEyN4I1cIFY4LuNr7Je+dWnD2A4rlVzEPA== 15 | -----END CERTIFICATE----- 16 | -------------------------------------------------------------------------------- /src/main/resources/peerOrganizations/org2.example.com/users/Admin@org2.example.com/tls/ca.crt: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICWDCCAf2gAwIBAgIQK8vdbo0E53Goh320skeooDAKBggqhkjOPQQDAjB2MQsw 3 | CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy 4 | YW5jaXNjbzEZMBcGA1UEChMQb3JnMi5leGFtcGxlLmNvbTEfMB0GA1UEAxMWdGxz 5 | Y2Eub3JnMi5leGFtcGxlLmNvbTAeFw0yMjA0MTkwMzEyMDBaFw0zMjA0MTYwMzEy 6 | MDBaMHYxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQH 7 | Ew1TYW4gRnJhbmNpc2NvMRkwFwYDVQQKExBvcmcyLmV4YW1wbGUuY29tMR8wHQYD 8 | VQQDExZ0bHNjYS5vcmcyLmV4YW1wbGUuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0D 9 | AQcDQgAETk40L75/vTMpotlNe/BH6xKVevIrueGJz0UvzMbNNLaMfMY+WKuEaiKO 10 | +A/X9cq2V+aHY7D51NPuWQmpSK56XaNtMGswDgYDVR0PAQH/BAQDAgGmMB0GA1Ud 11 | JQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDATAPBgNVHRMBAf8EBTADAQH/MCkGA1Ud 12 | DgQiBCCzZsJWR4AROkPHaRu65x7+XdcPIPx7OGAPsyh7X9b9UzAKBggqhkjOPQQD 13 | AgNJADBGAiEA+Udfmbp1yxNzUiRVHBWmXGNUkAtfeSTLfKs/IZwyXp0CIQC9jud+ 14 | ZnVqFEyN4I1cIFY4LuNr7Je+dWnD2A4rlVzEPA== 15 | -----END CERTIFICATE----- 16 | -------------------------------------------------------------------------------- /src/main/resources/peerOrganizations/org2.example.com/users/Admin@org2.example.com/tls/client.crt: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICPDCCAeKgAwIBAgIRAJbD/e6O9ZS3eK9uVLiePWgwCgYIKoZIzj0EAwIwdjEL 3 | MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG 4 | cmFuY2lzY28xGTAXBgNVBAoTEG9yZzIuZXhhbXBsZS5jb20xHzAdBgNVBAMTFnRs 5 | c2NhLm9yZzIuZXhhbXBsZS5jb20wHhcNMjIwNDE5MDMxMjAwWhcNMzIwNDE2MDMx 6 | MjAwWjBbMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UE 7 | BxMNU2FuIEZyYW5jaXNjbzEfMB0GA1UEAwwWQWRtaW5Ab3JnMi5leGFtcGxlLmNv 8 | bTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABJXHVmZg+kZznzMwQ1hBhWUVUZvU 9 | vAJv7Ti2v7EMzVeV77xYASDgSGWDMwIUe1Swz6CkGuL6np8QA3dvacZOrEujbDBq 10 | MA4GA1UdDwEB/wQEAwIFoDAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIw 11 | DAYDVR0TAQH/BAIwADArBgNVHSMEJDAigCCzZsJWR4AROkPHaRu65x7+XdcPIPx7 12 | OGAPsyh7X9b9UzAKBggqhkjOPQQDAgNIADBFAiEAtpDT/oG9ManqNoiWv3SbN/vR 13 | 7PABWVCYbOEik44SIe4CICwdGSI+eLrxx6g0uwfhvKxRfXeCLpS0rpnX56IVfmyI 14 | -----END CERTIFICATE----- 15 | -------------------------------------------------------------------------------- /src/main/resources/peerOrganizations/org2.example.com/users/Admin@org2.example.com/tls/client.key: -------------------------------------------------------------------------------- 1 | -----BEGIN PRIVATE KEY----- 2 | MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgzMSK16iW2eC9s/Db 3 | hk1IDfFPmSPnd9EjKuYvG0+c2KWhRANCAASVx1ZmYPpGc58zMENYQYVlFVGb1LwC 4 | b+04tr+xDM1Xle+8WAEg4EhlgzMCFHtUsM+gpBri+p6fEAN3b2nGTqxL 5 | -----END PRIVATE KEY----- 6 | -------------------------------------------------------------------------------- /src/main/resources/peerOrganizations/org2.example.com/users/User1@org2.example.com/msp/cacerts/ca.org2.example.com-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICUTCCAfegAwIBAgIQa4odwmcPSToIQ9/XLhQBrzAKBggqhkjOPQQDAjBzMQsw 3 | CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy 4 | YW5jaXNjbzEZMBcGA1UEChMQb3JnMi5leGFtcGxlLmNvbTEcMBoGA1UEAxMTY2Eu 5 | b3JnMi5leGFtcGxlLmNvbTAeFw0yMjA0MTkwMzEyMDBaFw0zMjA0MTYwMzEyMDBa 6 | MHMxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1T 7 | YW4gRnJhbmNpc2NvMRkwFwYDVQQKExBvcmcyLmV4YW1wbGUuY29tMRwwGgYDVQQD 8 | ExNjYS5vcmcyLmV4YW1wbGUuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE 9 | PWOUAf9P730HDztbPpk+cwa4E7kPwi2hh96p1TrGV4bB1o0HiFiPGX0Y6BfwxdVl 10 | IIaE0aPvJShBtuoDyKAlX6NtMGswDgYDVR0PAQH/BAQDAgGmMB0GA1UdJQQWMBQG 11 | CCsGAQUFBwMCBggrBgEFBQcDATAPBgNVHRMBAf8EBTADAQH/MCkGA1UdDgQiBCDt 12 | u2/ePun6SSsBzok/BbkUASJpcgKGASJWUxtoPZkepTAKBggqhkjOPQQDAgNIADBF 13 | AiEA7U003iZid9JYTRF0xQh4CAW4k6OwWmNLQTEXnlguKpICIHh3I7nh6OpKMwJi 14 | E198vdhMTUH+KVr2EROA1aR5zTYP 15 | -----END CERTIFICATE----- 16 | -------------------------------------------------------------------------------- /src/main/resources/peerOrganizations/org2.example.com/users/User1@org2.example.com/msp/config.yaml: -------------------------------------------------------------------------------- 1 | NodeOUs: 2 | Enable: true 3 | ClientOUIdentifier: 4 | Certificate: cacerts/ca.org2.example.com-cert.pem 5 | OrganizationalUnitIdentifier: client 6 | PeerOUIdentifier: 7 | Certificate: cacerts/ca.org2.example.com-cert.pem 8 | OrganizationalUnitIdentifier: peer 9 | AdminOUIdentifier: 10 | Certificate: cacerts/ca.org2.example.com-cert.pem 11 | OrganizationalUnitIdentifier: admin 12 | OrdererOUIdentifier: 13 | Certificate: cacerts/ca.org2.example.com-cert.pem 14 | OrganizationalUnitIdentifier: orderer 15 | -------------------------------------------------------------------------------- /src/main/resources/peerOrganizations/org2.example.com/users/User1@org2.example.com/msp/keystore/priv_sk: -------------------------------------------------------------------------------- 1 | -----BEGIN PRIVATE KEY----- 2 | MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgzw3ScnE0iFtXFMEC 3 | CVL4uJrjXQwp0vUYAVh2a06/3ZihRANCAAT8HMNw6cRgXsMck9RkzJLv6NXznqvE 4 | YrY6HxzfS61/jqNTiczil21pBSQIkotDgzEs+w/H29YJ/hDNORly3mHM 5 | -----END PRIVATE KEY----- 6 | -------------------------------------------------------------------------------- /src/main/resources/peerOrganizations/org2.example.com/users/User1@org2.example.com/msp/signcerts/User1@org2.example.com-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICKzCCAdGgAwIBAgIRAKv60NuMZiKzmRrPpZ9TsdcwCgYIKoZIzj0EAwIwczEL 3 | MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG 4 | cmFuY2lzY28xGTAXBgNVBAoTEG9yZzIuZXhhbXBsZS5jb20xHDAaBgNVBAMTE2Nh 5 | Lm9yZzIuZXhhbXBsZS5jb20wHhcNMjIwNDE5MDMxMjAwWhcNMzIwNDE2MDMxMjAw 6 | WjBsMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMN 7 | U2FuIEZyYW5jaXNjbzEPMA0GA1UECxMGY2xpZW50MR8wHQYDVQQDDBZVc2VyMUBv 8 | cmcyLmV4YW1wbGUuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE/BzDcOnE 9 | YF7DHJPUZMyS7+jV856rxGK2Oh8c30utf46jU4nM4pdtaQUkCJKLQ4MxLPsPx9vW 10 | Cf4QzTkZct5hzKNNMEswDgYDVR0PAQH/BAQDAgeAMAwGA1UdEwEB/wQCMAAwKwYD 11 | VR0jBCQwIoAg7btv3j7p+kkrAc6JPwW5FAEiaXIChgEiVlMbaD2ZHqUwCgYIKoZI 12 | zj0EAwIDSAAwRQIhAL/doQFuNwcHAS+Mri59vwLK9uXi6ossAa/0n7Svk+90AiB2 13 | Vnm4rXR/hHG3+fNwQ8R+RA4o2xP30sB27LKV/SnvNw== 14 | -----END CERTIFICATE----- 15 | -------------------------------------------------------------------------------- /src/main/resources/peerOrganizations/org2.example.com/users/User1@org2.example.com/msp/tlscacerts/tlsca.org2.example.com-cert.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICWDCCAf2gAwIBAgIQK8vdbo0E53Goh320skeooDAKBggqhkjOPQQDAjB2MQsw 3 | CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy 4 | YW5jaXNjbzEZMBcGA1UEChMQb3JnMi5leGFtcGxlLmNvbTEfMB0GA1UEAxMWdGxz 5 | Y2Eub3JnMi5leGFtcGxlLmNvbTAeFw0yMjA0MTkwMzEyMDBaFw0zMjA0MTYwMzEy 6 | MDBaMHYxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQH 7 | Ew1TYW4gRnJhbmNpc2NvMRkwFwYDVQQKExBvcmcyLmV4YW1wbGUuY29tMR8wHQYD 8 | VQQDExZ0bHNjYS5vcmcyLmV4YW1wbGUuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0D 9 | AQcDQgAETk40L75/vTMpotlNe/BH6xKVevIrueGJz0UvzMbNNLaMfMY+WKuEaiKO 10 | +A/X9cq2V+aHY7D51NPuWQmpSK56XaNtMGswDgYDVR0PAQH/BAQDAgGmMB0GA1Ud 11 | JQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDATAPBgNVHRMBAf8EBTADAQH/MCkGA1Ud 12 | DgQiBCCzZsJWR4AROkPHaRu65x7+XdcPIPx7OGAPsyh7X9b9UzAKBggqhkjOPQQD 13 | AgNJADBGAiEA+Udfmbp1yxNzUiRVHBWmXGNUkAtfeSTLfKs/IZwyXp0CIQC9jud+ 14 | ZnVqFEyN4I1cIFY4LuNr7Je+dWnD2A4rlVzEPA== 15 | -----END CERTIFICATE----- 16 | -------------------------------------------------------------------------------- /src/main/resources/peerOrganizations/org2.example.com/users/User1@org2.example.com/tls/ca.crt: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICWDCCAf2gAwIBAgIQK8vdbo0E53Goh320skeooDAKBggqhkjOPQQDAjB2MQsw 3 | CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy 4 | YW5jaXNjbzEZMBcGA1UEChMQb3JnMi5leGFtcGxlLmNvbTEfMB0GA1UEAxMWdGxz 5 | Y2Eub3JnMi5leGFtcGxlLmNvbTAeFw0yMjA0MTkwMzEyMDBaFw0zMjA0MTYwMzEy 6 | MDBaMHYxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQH 7 | Ew1TYW4gRnJhbmNpc2NvMRkwFwYDVQQKExBvcmcyLmV4YW1wbGUuY29tMR8wHQYD 8 | VQQDExZ0bHNjYS5vcmcyLmV4YW1wbGUuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0D 9 | AQcDQgAETk40L75/vTMpotlNe/BH6xKVevIrueGJz0UvzMbNNLaMfMY+WKuEaiKO 10 | +A/X9cq2V+aHY7D51NPuWQmpSK56XaNtMGswDgYDVR0PAQH/BAQDAgGmMB0GA1Ud 11 | JQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDATAPBgNVHRMBAf8EBTADAQH/MCkGA1Ud 12 | DgQiBCCzZsJWR4AROkPHaRu65x7+XdcPIPx7OGAPsyh7X9b9UzAKBggqhkjOPQQD 13 | AgNJADBGAiEA+Udfmbp1yxNzUiRVHBWmXGNUkAtfeSTLfKs/IZwyXp0CIQC9jud+ 14 | ZnVqFEyN4I1cIFY4LuNr7Je+dWnD2A4rlVzEPA== 15 | -----END CERTIFICATE----- 16 | -------------------------------------------------------------------------------- /src/main/resources/peerOrganizations/org2.example.com/users/User1@org2.example.com/tls/client.crt: -------------------------------------------------------------------------------- 1 | -----BEGIN CERTIFICATE----- 2 | MIICOjCCAeGgAwIBAgIQc1DelsBx5OPVeQACbPKgoTAKBggqhkjOPQQDAjB2MQsw 3 | CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy 4 | YW5jaXNjbzEZMBcGA1UEChMQb3JnMi5leGFtcGxlLmNvbTEfMB0GA1UEAxMWdGxz 5 | Y2Eub3JnMi5leGFtcGxlLmNvbTAeFw0yMjA0MTkwMzEyMDBaFw0zMjA0MTYwMzEy 6 | MDBaMFsxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQH 7 | Ew1TYW4gRnJhbmNpc2NvMR8wHQYDVQQDDBZVc2VyMUBvcmcyLmV4YW1wbGUuY29t 8 | MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEwsyJgQRpLNYgV2okog/zOoN9+EU8 9 | MAgYAFxA1vCJKz2xSCxyIIUY5ne9rIpeb/HpZNyhtPULAZGNx+uCnRV0MaNsMGow 10 | DgYDVR0PAQH/BAQDAgWgMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAM 11 | BgNVHRMBAf8EAjAAMCsGA1UdIwQkMCKAILNmwlZHgBE6Q8dpG7rnHv5d1w8g/Hs4 12 | YA+zKHtf1v1TMAoGCCqGSM49BAMCA0cAMEQCIHphfUPCv5Q8QA5oFBc07Lcp/YZp 13 | Mjh3TCOrifAs0AF1AiBlrxvVJJWqDy+H3ufaw3N32fUaWKUX0mD0CMCxqqIgUw== 14 | -----END CERTIFICATE----- 15 | -------------------------------------------------------------------------------- /src/main/resources/peerOrganizations/org2.example.com/users/User1@org2.example.com/tls/client.key: -------------------------------------------------------------------------------- 1 | -----BEGIN PRIVATE KEY----- 2 | MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQglmT2/Ot9rpF40eoA 3 | xj/5rDGvHjQ/4tJie1pwcF13x6+hRANCAATCzImBBGks1iBXaiSiD/M6g334RTww 4 | CBgAXEDW8IkrPbFILHIghRjmd72sil5v8elk3KG09QsBkY3H64KdFXQx 5 | -----END PRIVATE KEY----- 6 | -------------------------------------------------------------------------------- /src/main/resources/spring-dao.xml: -------------------------------------------------------------------------------- 1 | 8 | 9 | 10 | 11 | 12 | 13 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | -------------------------------------------------------------------------------- /src/main/resources/spring-service.xml: -------------------------------------------------------------------------------- 1 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | -------------------------------------------------------------------------------- /src/test/java/Test01.java: -------------------------------------------------------------------------------- 1 | import com.alibaba.fastjson.JSON; 2 | import com.gvssimux.pojo.AllPojo; 3 | import com.gvssimux.pojo.TeaTree; 4 | import com.gvssimux.service.TeaAreaServiceImpl; 5 | import com.gvssimux.service.TeaKindServiceImpl; 6 | import com.gvssimux.util.FabricUtil; 7 | 8 | import org.hyperledger.fabric.client.Contract; 9 | import org.junit.Test; 10 | import org.springframework.context.ApplicationContext; 11 | import org.springframework.context.support.ClassPathXmlApplicationContext; 12 | 13 | import java.util.ArrayList; 14 | import java.util.List; 15 | 16 | public class Test01 { 17 | 18 | 19 | // 全部查询teaArea 20 | @Test 21 | public void test01(){ 22 | AllPojo allPojo = new AllPojo(); 23 | TeaTree tree = new TeaTree(); 24 | tree.setTeaGardenId2("gt23"); 25 | tree.setTeaAreaId2("a676"); 26 | tree.setTeaTreeCultivate("wadad"); 27 | tree.setTeaTreeState("好!!"); 28 | tree.setTeaTreeKind("毛峰"); 29 | tree.setTeaTreeLongitude("wafwafa"); 30 | tree.setTeaTreeGrowingEnv("潮湿"); 31 | 32 | allPojo.setTeaTree(tree); 33 | 34 | System.out.println(JSON.toJSONString(allPojo)); 35 | } 36 | 37 | 38 | 39 | /*测试种类*/ 40 | @Test 41 | public void test02() throws Exception { 42 | ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml"); 43 | TeaKindServiceImpl mapper = context.getBean("TeaKindServiceImpl", TeaKindServiceImpl.class); 44 | ArrayList kinds = new ArrayList<>(); 45 | kinds.add("黄山"); 46 | System.out.println(mapper.insertOne(kinds)); 47 | } 48 | 49 | 50 | /*测试种类数量*/ 51 | @Test 52 | public void test03() throws Exception { 53 | ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml"); 54 | TeaKindServiceImpl mapper = context.getBean("TeaKindServiceImpl", TeaKindServiceImpl.class); 55 | Contract contract = FabricUtil.getContract(); 56 | System.out.println(mapper.getSum(contract)); 57 | } 58 | } 59 | -------------------------------------------------------------------------------- /src/test/java/Test02.java: -------------------------------------------------------------------------------- 1 | import com.gvssimux.pojo.TeaArea; 2 | import com.gvssimux.service.TeaAreaServiceImpl; 3 | import com.gvssimux.service.TeaKindServiceImpl; 4 | import com.gvssimux.util.FabricUtil; 5 | import org.hyperledger.fabric.client.Contract; 6 | import org.junit.Test; 7 | import org.springframework.context.ApplicationContext; 8 | import org.springframework.context.support.ClassPathXmlApplicationContext; 9 | 10 | public class Test02 { 11 | @Test 12 | public void test01() throws Exception { 13 | ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml"); 14 | TeaAreaServiceImpl mapper = context.getBean("TeaAreaServiceImpl", TeaAreaServiceImpl.class); 15 | Contract contract = FabricUtil.getContract(); 16 | System.out.println(mapper.getSum(contract)); 17 | } 18 | 19 | @Test 20 | public void test02() throws Exception { 21 | ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml"); 22 | TeaAreaServiceImpl mapper = context.getBean("TeaAreaServiceImpl", TeaAreaServiceImpl.class); 23 | Contract contract = FabricUtil.getContract(); 24 | TeaArea pojo = new TeaArea(); 25 | pojo.setTeaAreaName("006"); 26 | pojo.setCompany("阿里巴巴"); 27 | 28 | System.out.println(mapper.insertOne(contract,pojo)); 29 | } 30 | 31 | @Test 32 | public void test03() throws Exception { 33 | ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml"); 34 | TeaAreaServiceImpl mapper = context.getBean("TeaAreaServiceImpl", TeaAreaServiceImpl.class); 35 | 36 | Contract contract = FabricUtil.getContract(); 37 | System.out.println(mapper.selectOffsetLimit(contract,"阿里巴巴",0,5)); 38 | } 39 | 40 | /*插入带公司标识的茶区*/ 41 | @Test 42 | public void test04() throws Exception { 43 | ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml"); 44 | TeaAreaServiceImpl mapper = context.getBean("TeaAreaServiceImpl", TeaAreaServiceImpl.class); 45 | Contract contract = FabricUtil.getContract(); 46 | TeaArea pojo = new TeaArea(); 47 | pojo.setTeaAreaName("007"); 48 | pojo.setCompany("阿里巴巴"); 49 | System.out.println(mapper.insertOne(contract,pojo)); 50 | 51 | } 52 | 53 | /*查询某个公司下有多少个茶区*/ 54 | @Test 55 | public void test05() throws Exception { 56 | ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml"); 57 | TeaAreaServiceImpl mapper = context.getBean("TeaAreaServiceImpl", TeaAreaServiceImpl.class); 58 | Contract contract = FabricUtil.getContract(); 59 | 60 | System.out.println(mapper.getAreaSumByCompany(contract, "阿里巴巴")); 61 | 62 | } 63 | 64 | 65 | 66 | 67 | 68 | } 69 | -------------------------------------------------------------------------------- /src/test/java/Test03.java: -------------------------------------------------------------------------------- 1 | import com.gvssimux.pojo.TeaArea; 2 | 3 | import com.gvssimux.pojo.TeaGarden; 4 | import com.gvssimux.service.TeaGardenServiceImpl; 5 | 6 | import com.gvssimux.util.FabricUtil; 7 | import org.hyperledger.fabric.client.Contract; 8 | import org.junit.Test; 9 | import org.springframework.context.ApplicationContext; 10 | import org.springframework.context.support.ClassPathXmlApplicationContext; 11 | 12 | public class Test03 { 13 | @Test 14 | public void test01() throws Exception { 15 | ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml"); 16 | TeaGardenServiceImpl mapper = context.getBean("TeaGardenServiceImpl", TeaGardenServiceImpl.class); 17 | Contract contract = FabricUtil.getContract(); 18 | System.out.println(mapper.getSum(contract)); 19 | } 20 | 21 | 22 | @Test 23 | public void test03() throws Exception { 24 | ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml"); 25 | TeaGardenServiceImpl mapper = context.getBean("TeaGardenServiceImpl", TeaGardenServiceImpl.class); 26 | 27 | Contract contract = FabricUtil.getContract(); 28 | System.out.println(mapper.selectOffsetLimit(contract,"阿里巴巴",1,7)); 29 | } 30 | 31 | /*插入带公司标识的茶园*/ 32 | @Test 33 | public void test04() throws Exception { 34 | ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml"); 35 | TeaGardenServiceImpl mapper = context.getBean("TeaGardenServiceImpl", TeaGardenServiceImpl.class); 36 | Contract contract = FabricUtil.getContract(); 37 | TeaGarden pojo = new TeaGarden(); 38 | pojo.setCompany("阿里巴巴"); 39 | pojo.setTeaGardenId1("d2wagwa1241ot41142ytytj14wag125afa"); 40 | pojo.setTeaGardenArea("88885"); 41 | pojo.setTeaGardenName("天下会茶园"); 42 | pojo.setTeaGardenAddress("安徽黄山"); 43 | System.out.println(mapper.insertOne(contract,pojo)); 44 | 45 | } 46 | 47 | /*查询某个公司下有多少个茶园*/ 48 | @Test 49 | public void test05() throws Exception { 50 | ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml"); 51 | TeaGardenServiceImpl mapper = context.getBean("TeaGardenServiceImpl", TeaGardenServiceImpl.class); 52 | Contract contract = FabricUtil.getContract(); 53 | 54 | System.out.println(mapper.getGardenSumByCompany(contract, "阿里巴巴")); 55 | 56 | } 57 | 58 | 59 | 60 | 61 | 62 | } 63 | -------------------------------------------------------------------------------- /src/test/java/Test05.java: -------------------------------------------------------------------------------- 1 | import com.gvssimux.pojo.TeaGarden; 2 | import com.gvssimux.service.TeaGardenServiceImpl; 3 | import com.gvssimux.service.TeaKindServiceImpl; 4 | import com.gvssimux.util.FabricUtil; 5 | import com.gvssimux.util.JsonUtil; 6 | import org.hyperledger.fabric.client.Contract; 7 | import org.junit.Test; 8 | import org.springframework.context.ApplicationContext; 9 | import org.springframework.context.support.ClassPathXmlApplicationContext; 10 | 11 | import java.util.List; 12 | 13 | public class Test05 { 14 | /* 查询一个公司下有哪些种茶树*/ 15 | @Test 16 | public void test04() throws Exception { 17 | ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml"); 18 | TeaKindServiceImpl mapper = context.getBean("TeaKindServiceImpl", TeaKindServiceImpl.class); 19 | Contract contract = FabricUtil.getContract(); 20 | 21 | List list1 = mapper.getKindByCompany(contract, "阿里巴巴"); 22 | System.out.println(); 23 | System.out.println("公司有哪些茶种 List====>"+list1); 24 | System.out.println(); 25 | System.out.println("前端哪到的数据====>"+ JsonUtil.getJson(list1)); 26 | 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /src/test/java/Test07.java: -------------------------------------------------------------------------------- 1 | import com.gvssimux.pojo.TeaMake; 2 | import com.gvssimux.pojo.TeaPick; 3 | import com.gvssimux.service.TeaMakeServiceImpl; 4 | import com.gvssimux.service.TeaPickServiceImpl; 5 | import com.gvssimux.util.FabricUtil; 6 | import com.gvssimux.util.JsonUtil; 7 | import org.hyperledger.fabric.client.Contract; 8 | import org.junit.Test; 9 | import org.springframework.context.ApplicationContext; 10 | import org.springframework.context.support.ClassPathXmlApplicationContext; 11 | 12 | import java.util.HashMap; 13 | 14 | public class Test07 { 15 | 16 | /*插入带公司标识的TeaMake*/ 17 | @Test 18 | public void test01() throws Exception { 19 | ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml"); 20 | TeaMakeServiceImpl mapper = context.getBean("TeaMakeServiceImpl", TeaMakeServiceImpl.class); 21 | Contract contract = FabricUtil.getContract(); 22 | 23 | TeaMake pojo = new TeaMake(); 24 | 25 | pojo.setMonth("三月"); 26 | pojo.setCompany("阿里巴巴"); 27 | pojo.setOutput(1000); 28 | 29 | mapper.insertOne(contract,pojo); 30 | } 31 | 32 | /* 查询每月的制茶量*/ 33 | @Test 34 | public void test02() throws Exception { 35 | ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml"); 36 | TeaMakeServiceImpl mapper = context.getBean("TeaMakeServiceImpl", TeaMakeServiceImpl.class); 37 | Contract contract = FabricUtil.getContract(); 38 | 39 | HashMap map = mapper.getMakePerSumByCompany(contract, "阿里巴巴"); 40 | 41 | 42 | System.out.println("每月的制茶量====》"+map); 43 | System.out.println("前端接收的数据====》"+ JsonUtil.getJson(map)); 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /src/test/java/Test08.java: -------------------------------------------------------------------------------- 1 | import com.gvssimux.pojo.Employee; 2 | import com.gvssimux.pojo.TeaMake; 3 | import com.gvssimux.pojo.fabquery.QueryResultList; 4 | import com.gvssimux.service.EmployeeServiceImpl; 5 | import com.gvssimux.service.TeaMakeServiceImpl; 6 | import com.gvssimux.util.FabricUtil; 7 | import com.gvssimux.util.JsonUtil; 8 | import org.hyperledger.fabric.client.Contract; 9 | import org.junit.Test; 10 | import org.springframework.context.ApplicationContext; 11 | import org.springframework.context.support.ClassPathXmlApplicationContext; 12 | 13 | import java.util.HashMap; 14 | 15 | public class Test08 { 16 | /*插入员工*/ 17 | @Test 18 | public void test01() throws Exception { 19 | ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml"); 20 | EmployeeServiceImpl mapper = context.getBean("EmployeeServiceImpl", EmployeeServiceImpl.class); 21 | Contract contract = FabricUtil.getContract(); 22 | 23 | 24 | Employee pojo = new Employee(); 25 | 26 | pojo.setEid("eid001"); 27 | pojo.setEname("单子健001"); 28 | pojo.setEsex("男"); 29 | pojo.setCompany("阿里巴巴"); 30 | 31 | String s = mapper.insertOne(contract, pojo); 32 | System.out.println(s); 33 | } 34 | 35 | 36 | @Test 37 | public void test02() throws Exception { 38 | ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml"); 39 | EmployeeServiceImpl mapper = context.getBean("EmployeeServiceImpl", EmployeeServiceImpl.class); 40 | Contract contract = FabricUtil.getContract(); 41 | 42 | Employee pojo = new Employee(); 43 | 44 | QueryResultList s1 = mapper.selectEmployeeById(contract, "阿里巴巴","eid001"); 45 | QueryResultList s2 = mapper.selectAllEmployee(contract, "阿里巴巴"); 46 | System.out.println("selectEmployeeById====》"+s1); 47 | System.out.println("selectAllEmployee====>"+s2); 48 | } 49 | 50 | 51 | } 52 | -------------------------------------------------------------------------------- /src/test/java/Test09.java: -------------------------------------------------------------------------------- 1 | import com.gvssimux.service.TeaMakeServiceImpl; 2 | import com.gvssimux.service.TeaRankServiceImpl; 3 | import com.gvssimux.util.FabricUtil; 4 | import com.gvssimux.util.JsonUtil; 5 | import org.hyperledger.fabric.client.Contract; 6 | import org.junit.Test; 7 | import org.springframework.context.ApplicationContext; 8 | import org.springframework.context.support.ClassPathXmlApplicationContext; 9 | 10 | import java.util.HashMap; 11 | 12 | public class Test09 { 13 | 14 | 15 | @Test 16 | public void test01() throws Exception { 17 | ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml"); 18 | TeaRankServiceImpl mapper = context.getBean("TeaRankServiceImpl", TeaRankServiceImpl.class); 19 | Contract contract = FabricUtil.getContract(); 20 | 21 | HashMap map = mapper.getRankPerSum(contract, "阿里巴巴"); 22 | 23 | 24 | System.out.println("各级茶叶的量====》"+map); 25 | System.out.println("各级茶叶的量--前端接收的数据====》"+ JsonUtil.getJson(map)); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /src/test/java/UserLogintest.java: -------------------------------------------------------------------------------- 1 | import com.gvssimux.pojo.UserBasic; 2 | import com.gvssimux.service.UserLoginServiceImpl; 3 | import org.junit.Test; 4 | import org.springframework.context.ApplicationContext; 5 | import org.springframework.context.support.ClassPathXmlApplicationContext; 6 | 7 | public class UserLogintest { 8 | //单个查询 9 | @Test 10 | public void logintx(){ 11 | ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml"); 12 | UserLoginServiceImpl mapper = context.getBean("UserLoginServiceImpl", UserLoginServiceImpl.class); 13 | UserBasic user = mapper.getUserIdByUserNamePwd("admin", "admin"); 14 | System.out.println("执行成功=====》:"+user); 15 | } 16 | 17 | 18 | } 19 | -------------------------------------------------------------------------------- /src/test/java/mybatistest.java: -------------------------------------------------------------------------------- 1 | import com.fasterxml.jackson.core.JsonProcessingException; 2 | import com.gvssimux.pojo.TeaGarden; 3 | import com.gvssimux.pojo.UserBasic; 4 | import com.gvssimux.service.TeaGardenServiceImpl; 5 | import com.gvssimux.service.UserRegisterServiceImpl; 6 | import com.gvssimux.util.JsonUtil; 7 | import org.junit.Test; 8 | import org.springframework.context.ApplicationContext; 9 | import org.springframework.context.support.ClassPathXmlApplicationContext; 10 | import org.springframework.web.bind.annotation.RequestMapping; 11 | import org.springframework.web.bind.annotation.ResponseBody; 12 | 13 | import javax.servlet.http.HttpServletRequest; 14 | import javax.servlet.http.HttpServletResponse; 15 | import java.util.HashMap; 16 | import java.util.Map; 17 | 18 | public class mybatistest { 19 | 20 | //增加一条数据 21 | @Test 22 | public void test01(){ 23 | ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml"); 24 | UserRegisterServiceImpl mapper = context.getBean("UserRegisterServiceImpl", UserRegisterServiceImpl.class); 25 | Map map = new HashMap(); 26 | map.put("loginid","shanzj"); 27 | map.put("pwd","shanzj"); 28 | System.out.println(mapper.addUserBasic(map)); 29 | 30 | } 31 | 32 | 33 | 34 | //查询一条数据 35 | @Test 36 | public void ubtest(){ 37 | ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml"); 38 | UserRegisterServiceImpl mapper = context.getBean("UserRegisterServiceImpl", UserRegisterServiceImpl.class); 39 | 40 | UserBasic UserBasic = mapper.getUserBasicByUserUname( 1); 41 | System.out.println("执行成功=====》:"+UserBasic); 42 | 43 | } 44 | 45 | 46 | } 47 | -------------------------------------------------------------------------------- /src/test/java/poj.java: -------------------------------------------------------------------------------- 1 | import com.alibaba.fastjson.JSON; 2 | import com.alibaba.fastjson.JSONObject; 3 | import com.gvssimux.pojo.Employee; 4 | import com.gvssimux.pojo.TeaPack; 5 | 6 | import com.gvssimux.pojo.fabquery.QueryResult; 7 | import com.gvssimux.pojo.fabquery.QueryResultList; 8 | import org.bouncycastle.util.Pack; 9 | import org.junit.Test; 10 | 11 | import javax.json.Json; 12 | import java.util.List; 13 | 14 | public class poj { 15 | 16 | @Test 17 | public void test01() throws InstantiationException, IllegalAccessException { 18 | 19 | QueryResultList resultList = JSON.toJavaObject(JSONObject.parseObject( 20 | "{\"teaAreas\":[{\"record\":{\"teaPackPer\":{\"eid\":\"cd09adee145f4ac995d349127e623efb\",\"ename\":\"杨过\",\"esex\":\"男\"},\"teaPackTime\":\"2022年3月23日20:48:46\",\"teaPackSmllBoxId\":\"2996d90caac749a3b61067b4e80b2e0a\",\"teaPackID\":\"389d\",\"teaPackBigBoxId\":\"24c0e81c573147589634ae12faa32236\"},\"key\":\"Pack1\"},{\"record\":{\"teaPackPer\":{\"eid\":\"cd09adee145f4ac995d349127e623efb\",\"ename\":\"杨过\",\"esex\":\"男\"},\"teaPackTime\":\"2022年3月23日20:48:46\",\"teaPackSmllBoxId\":\"2996d90caac749a3b61067b4e80b2e0a\",\"teaPackID\":\"389d\",\"teaPackBigBoxId\":\"24c0e81c573147589634ae12faa32236\"},\"key\":\"Pack2\"}]}" 21 | ),QueryResultList.class); 22 | 23 | 24 | QueryResult a = JSON.toJavaObject( 25 | JSONObject.parseObject( 26 | String.valueOf(resultList.getResultList().get(0)) 27 | ),QueryResult.class 28 | ); 29 | JSON json = JSON.parseObject(JSON.toJSONString(a.getJson())); 30 | TeaPack pack = json.toJavaObject(TeaPack.class); 31 | 32 | System.out.println(pack); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/test/java/testLeft.java: -------------------------------------------------------------------------------- 1 | import com.gvssimux.service.TeaLeafServiceImpl; 2 | import com.gvssimux.service.TeaTreeServiceImpl; 3 | import com.gvssimux.util.FabricUtil; 4 | import org.hyperledger.fabric.client.Contract; 5 | import org.junit.Test; 6 | import org.springframework.context.ApplicationContext; 7 | import org.springframework.context.support.ClassPathXmlApplicationContext; 8 | 9 | public class testLeft { 10 | @Test 11 | public void test01() throws Exception { 12 | ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml"); 13 | TeaLeafServiceImpl mapper = context.getBean("TeaLeafServiceImpl", TeaLeafServiceImpl.class); 14 | Contract contract = FabricUtil.getContract(); 15 | System.out.println(mapper.selectOffsetLimit(contract,"阿里巴巴",0,2)); 16 | } 17 | 18 | @Test 19 | public void test02() throws Exception { 20 | ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml"); 21 | TeaLeafServiceImpl mapper = context.getBean("TeaLeafServiceImpl", TeaLeafServiceImpl.class); 22 | Contract contract = FabricUtil.getContract(); 23 | System.out.println(); 24 | System.out.println(mapper.getLeft(contract,"阿里巴巴",0,100)); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /wallet/admin.id: -------------------------------------------------------------------------------- 1 | {"version":1,"mspId":"Org1MSP","type":"X.509","credentials":{"certificate":"-----BEGIN CERTIFICATE-----\nMIICKTCCAdCgAwIBAgIUZuP2eZpArovjLzfEsuQYq1mqrwYwCgYIKoZIzj0EAwIw\ncDELMAkGA1UEBhMCVVMxFzAVBgNVBAgTDk5vcnRoIENhcm9saW5hMQ8wDQYDVQQH\nEwZEdXJoYW0xGTAXBgNVBAoTEG9yZzEuZXhhbXBsZS5jb20xHDAaBgNVBAMTE2Nh\nLm9yZzEuZXhhbXBsZS5jb20wHhcNMjIwNDA5MTEyMzAwWhcNMjMwNDA5MTMzNDAw\nWjAhMQ8wDQYDVQQLEwZjbGllbnQxDjAMBgNVBAMTBWFkbWluMFkwEwYHKoZIzj0C\nAQYIKoZIzj0DAQcDQgAElqp8kb/vQ/Ct4y/n/UzeDUtnMeUHMpTIu2CQg11sEoEj\njGjbtwLLCb6KDYkONqptUF7Yvrbkt53/ciLG1Hcj4qOBljCBkzAOBgNVHQ8BAf8E\nBAMCA6gwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQC\nMAAwHQYDVR0OBBYEFGxFycqkFyt9sDbUwOt0ekv75UqnMB8GA1UdIwQYMBaAFIiO\nUDn3DHRRzvUTsEHJZ/I+UG/xMBQGA1UdEQQNMAuCCWxvY2FsaG9zdDAKBggqhkjO\nPQQDAgNHADBEAiBsdXeGkOcWwi6Pmnf1cTBoJ1OGVNQxFFiPcJoY1bocfAIgZy99\nqtBBKQhrLLfgha/JQ42O3CaBaOsw0kaRRf1LQjs=\n-----END CERTIFICATE-----\n","privateKey":"-----BEGIN PRIVATE KEY-----\nMIGTAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBHkwdwIBAQQgOqwgmIRwrIMhXN1N\nUPR1RVtrjcs3HR430zLxfN2Gd7CgCgYIKoZIzj0DAQehRANCAASWqnyRv+9D8K3j\nL+f9TN4NS2cx5QcylMi7YJCDXWwSgSOMaNu3AssJvooNiQ42qm1QXti+tuS3nf9y\nIsbUdyPi\n-----END PRIVATE KEY-----\n"}} -------------------------------------------------------------------------------- /wallet/appUser.id: -------------------------------------------------------------------------------- 1 | {"version":1,"mspId":"Org1MSP","type":"X.509","credentials":{"certificate":"-----BEGIN CERTIFICATE-----\nMIICgzCCAiqgAwIBAgIUXxUph75dS9X4nYzNGI5hjTcorb8wCgYIKoZIzj0EAwIw\ncDELMAkGA1UEBhMCVVMxFzAVBgNVBAgTDk5vcnRoIENhcm9saW5hMQ8wDQYDVQQH\nEwZEdXJoYW0xGTAXBgNVBAoTEG9yZzEuZXhhbXBsZS5jb20xHDAaBgNVBAMTE2Nh\nLm9yZzEuZXhhbXBsZS5jb20wHhcNMjIwNDA5MTEyMzAwWhcNMjMwNDA5MTMzNjAw\nWjBEMTAwCwYDVQQLEwRvcmcxMA0GA1UECxMGY2xpZW50MBIGA1UECxMLZGVwYXJ0\nbWVudDExEDAOBgNVBAMTB2FwcFVzZXIwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNC\nAAS3Oyp1hLkMlHpdxlvnjTyCCBlVjElor6UH310oojBYivRhh605CSJTq2L68PfU\nEwcYMh/saXJbilH3N1OA5Nwlo4HNMIHKMA4GA1UdDwEB/wQEAwIHgDAMBgNVHRMB\nAf8EAjAAMB0GA1UdDgQWBBSjWLDm4pJsCV6b4+rRZPOCPGWckTAfBgNVHSMEGDAW\ngBSIjlA59wx0Uc71E7BByWfyPlBv8TBqBggqAwQFBgcIAQReeyJhdHRycyI6eyJo\nZi5BZmZpbGlhdGlvbiI6Im9yZzEuZGVwYXJ0bWVudDEiLCJoZi5FbnJvbGxtZW50\nSUQiOiJhcHBVc2VyIiwiaGYuVHlwZSI6ImNsaWVudCJ9fTAKBggqhkjOPQQDAgNH\nADBEAiA5BgR9JIu6gmfcbG+kaPAARn9m6meeHoQjdtohFCYr3QIgcG4OWH+rVBWE\noqkFsgE74t7nox0A7/6aNHp/88oMOF0=\n-----END CERTIFICATE-----\n","privateKey":"-----BEGIN PRIVATE KEY-----\nMIGTAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBHkwdwIBAQQgf+sPFdesvFYC/O0o\nFVK6B5mKNaloU7gOlHlAIzb06xOgCgYIKoZIzj0DAQehRANCAAS3Oyp1hLkMlHpd\nxlvnjTyCCBlVjElor6UH310oojBYivRhh605CSJTq2L68PfUEwcYMh/saXJbilH3\nN1OA5Nwl\n-----END PRIVATE KEY-----\n"}} -------------------------------------------------------------------------------- /web/WEB-INF/tea/auth-forgot-password.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 忘记密码? - 茶叶溯源管理后台 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 茶叶溯源管理后台 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 34 | 登录 35 | 36 | 37 | 38 | 39 | 40 | 41 | 忘记密码? 42 | 我们会尽快给您发送电子邮件 43 | 44 | 45 | 46 | 注册邮箱 47 | 48 | 49 | 50 | 发送重置链接 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | -------------------------------------------------------------------------------- /web/WEB-INF/web.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 8 | springmvc 9 | org.springframework.web.servlet.DispatcherServlet 10 | 11 | contextConfigLocation 12 | classpath:applicationContext.xml 13 | 14 | 1 15 | 16 | 17 | springmvc 18 | / 19 | 20 | 21 | 22 | 23 | encodingFilter 24 | org.springframework.web.filter.CharacterEncodingFilter 25 | 26 | encoding 27 | utf-8 28 | 29 | 30 | 31 | encodingFilter 32 | /* 33 | 34 | 35 | 36 | 15 37 | 38 | 39 | 40 | 41 | default 42 | *.css 43 | 44 | 45 | default 46 | *.js 47 | 48 | 49 | default 50 | *.jpg 51 | 52 | -------------------------------------------------------------------------------- /web/assets/css/Pretty-Registration-Form.css: -------------------------------------------------------------------------------- 1 | .register-form form.custom-form { 2 | padding: 55px; 3 | box-sizing: border-box; 4 | background-color: #ffffff; 5 | box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1); 6 | font: bold 14px sans-serif; 7 | text-align: center; 8 | margin: 50px; 9 | color: #333; 10 | } 11 | 12 | @media (max-width:400px) { 13 | .register-form form.custom-form { 14 | padding: 55px 10px; 15 | } 16 | } 17 | 18 | .register-form .custom-form h1 { 19 | display: inline-block; 20 | color: #4c565e; 21 | font-size: 24px; 22 | font-weight: bold; 23 | padding: 0 10px 15px; 24 | margin-bottom: 60px; 25 | border-bottom: 2px solid rgb(108, 174, 224); 26 | } 27 | 28 | .register-form .custom-form .form-group { 29 | margin-bottom: 25px; 30 | } 31 | 32 | .register-form .custom-form .label-column { 33 | text-align: right; 34 | color: #5F5F5F; 35 | } 36 | 37 | @media (max-width:768px) { 38 | .register-form .custom-form .label-column { 39 | text-align: left; 40 | } 41 | } 42 | 43 | .register-form .custom-form .input-column { 44 | color: #5f5f5f; 45 | text-align: left; 46 | } 47 | 48 | .register-form .custom-form .input-column input { 49 | color: #5f5f5f; 50 | box-shadow: 1px 2px 4px 0 rgba(0, 0, 0, 0.08); 51 | padding: 12px; 52 | border: 1px solid #dbdbdb; 53 | border-radius: 2px; 54 | height: 42px; 55 | } 56 | 57 | .register-form .custom-form .dropdown .dropdown-toggle { 58 | background: #fff; 59 | border: 1px solid #dbdbdb; 60 | box-shadow: 1px 2px 4px 0 rgba(0, 0, 0, 0.08); 61 | color: #333; 62 | outline: none; 63 | } 64 | 65 | .register-form .custom-form .dropdown ul { 66 | background: #fff; 67 | } 68 | 69 | .register-form .custom-form .dropdown ul li a { 70 | background: #fff; 71 | color: #333; 72 | opacity: 0.8; 73 | } 74 | 75 | .register-form .custom-form .dropdown ul li a:hover { 76 | opacity: 1; 77 | } 78 | 79 | .register-form .custom-form .submit-button { 80 | border-radius: 2px; 81 | background: #6caee0; 82 | color: #ffffff; 83 | font-weight: bold; 84 | box-shadow: 1px 2px 4px 0 rgba(0, 0, 0, 0.08); 85 | padding: 14px 22px; 86 | border: 0; 87 | margin: 30px; 88 | outline: none; 89 | } 90 | 91 | -------------------------------------------------------------------------------- /web/assets/css/element/fonts/element-icons.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShanZJ-gvs/Fabric_TraceabilitySys/200657e8fa99c05bde4ea6d0c412adf91d0362af/web/assets/css/element/fonts/element-icons.eot -------------------------------------------------------------------------------- /web/assets/css/element/fonts/element-icons.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShanZJ-gvs/Fabric_TraceabilitySys/200657e8fa99c05bde4ea6d0c412adf91d0362af/web/assets/css/element/fonts/element-icons.ttf -------------------------------------------------------------------------------- /web/assets/css/element/fonts/element-icons.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShanZJ-gvs/Fabric_TraceabilitySys/200657e8fa99c05bde4ea6d0c412adf91d0362af/web/assets/css/element/fonts/element-icons.woff -------------------------------------------------------------------------------- /web/assets/css/styles.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShanZJ-gvs/Fabric_TraceabilitySys/200657e8fa99c05bde4ea6d0c412adf91d0362af/web/assets/css/styles.css -------------------------------------------------------------------------------- /web/assets/fonts/FontAwesome.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShanZJ-gvs/Fabric_TraceabilitySys/200657e8fa99c05bde4ea6d0c412adf91d0362af/web/assets/fonts/FontAwesome.otf -------------------------------------------------------------------------------- /web/assets/fonts/fa-brands-400.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShanZJ-gvs/Fabric_TraceabilitySys/200657e8fa99c05bde4ea6d0c412adf91d0362af/web/assets/fonts/fa-brands-400.eot -------------------------------------------------------------------------------- /web/assets/fonts/fa-brands-400.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShanZJ-gvs/Fabric_TraceabilitySys/200657e8fa99c05bde4ea6d0c412adf91d0362af/web/assets/fonts/fa-brands-400.ttf -------------------------------------------------------------------------------- /web/assets/fonts/fa-brands-400.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShanZJ-gvs/Fabric_TraceabilitySys/200657e8fa99c05bde4ea6d0c412adf91d0362af/web/assets/fonts/fa-brands-400.woff -------------------------------------------------------------------------------- /web/assets/fonts/fa-brands-400.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShanZJ-gvs/Fabric_TraceabilitySys/200657e8fa99c05bde4ea6d0c412adf91d0362af/web/assets/fonts/fa-brands-400.woff2 -------------------------------------------------------------------------------- /web/assets/fonts/fa-regular-400.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShanZJ-gvs/Fabric_TraceabilitySys/200657e8fa99c05bde4ea6d0c412adf91d0362af/web/assets/fonts/fa-regular-400.eot -------------------------------------------------------------------------------- /web/assets/fonts/fa-regular-400.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShanZJ-gvs/Fabric_TraceabilitySys/200657e8fa99c05bde4ea6d0c412adf91d0362af/web/assets/fonts/fa-regular-400.ttf -------------------------------------------------------------------------------- /web/assets/fonts/fa-regular-400.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShanZJ-gvs/Fabric_TraceabilitySys/200657e8fa99c05bde4ea6d0c412adf91d0362af/web/assets/fonts/fa-regular-400.woff -------------------------------------------------------------------------------- /web/assets/fonts/fa-regular-400.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShanZJ-gvs/Fabric_TraceabilitySys/200657e8fa99c05bde4ea6d0c412adf91d0362af/web/assets/fonts/fa-regular-400.woff2 -------------------------------------------------------------------------------- /web/assets/fonts/fa-solid-900.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShanZJ-gvs/Fabric_TraceabilitySys/200657e8fa99c05bde4ea6d0c412adf91d0362af/web/assets/fonts/fa-solid-900.eot -------------------------------------------------------------------------------- /web/assets/fonts/fa-solid-900.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShanZJ-gvs/Fabric_TraceabilitySys/200657e8fa99c05bde4ea6d0c412adf91d0362af/web/assets/fonts/fa-solid-900.ttf -------------------------------------------------------------------------------- /web/assets/fonts/fa-solid-900.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShanZJ-gvs/Fabric_TraceabilitySys/200657e8fa99c05bde4ea6d0c412adf91d0362af/web/assets/fonts/fa-solid-900.woff -------------------------------------------------------------------------------- /web/assets/fonts/fa-solid-900.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShanZJ-gvs/Fabric_TraceabilitySys/200657e8fa99c05bde4ea6d0c412adf91d0362af/web/assets/fonts/fa-solid-900.woff2 -------------------------------------------------------------------------------- /web/assets/fonts/fontawesome-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShanZJ-gvs/Fabric_TraceabilitySys/200657e8fa99c05bde4ea6d0c412adf91d0362af/web/assets/fonts/fontawesome-webfont.eot -------------------------------------------------------------------------------- /web/assets/fonts/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShanZJ-gvs/Fabric_TraceabilitySys/200657e8fa99c05bde4ea6d0c412adf91d0362af/web/assets/fonts/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /web/assets/fonts/fontawesome-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShanZJ-gvs/Fabric_TraceabilitySys/200657e8fa99c05bde4ea6d0c412adf91d0362af/web/assets/fonts/fontawesome-webfont.woff -------------------------------------------------------------------------------- /web/assets/fonts/fontawesome-webfont.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShanZJ-gvs/Fabric_TraceabilitySys/200657e8fa99c05bde4ea6d0c412adf91d0362af/web/assets/fonts/fontawesome-webfont.woff2 -------------------------------------------------------------------------------- /web/assets/fonts/fontawesome5-overrides.min.css: -------------------------------------------------------------------------------- 1 | .fab.fa-bitcoin:before{content:"\f379"}.far.fa-calendar:before,.fas.fa-calendar:before{content:"\f133"}.far.fa-clipboard:before,.fas.fa-clipboard:before{content:"\f328"}.fab.fa-facebook-f:before{content:"\f39e"}.fab.fa-google-plus:before{content:"\f2b3"}.fas.fa-hotel:before{content:"\f594"}.fab.fa-linkedin:before{content:"\f08c"}.fas.fa-reply:before{content:"\f3e5"}.fas.fa-thermometer:before{content:"\f491"}.fab.fa-vimeo:before{content:"\f40a"}.far.fa-window-close:before,.fas.fa-window-close:before{content:"\f410"}.fab.fa-youtube-square:before{content:"\f431"} -------------------------------------------------------------------------------- /web/assets/fonts/la-brands-400.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShanZJ-gvs/Fabric_TraceabilitySys/200657e8fa99c05bde4ea6d0c412adf91d0362af/web/assets/fonts/la-brands-400.eot -------------------------------------------------------------------------------- /web/assets/fonts/la-brands-400.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShanZJ-gvs/Fabric_TraceabilitySys/200657e8fa99c05bde4ea6d0c412adf91d0362af/web/assets/fonts/la-brands-400.ttf -------------------------------------------------------------------------------- /web/assets/fonts/la-brands-400.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShanZJ-gvs/Fabric_TraceabilitySys/200657e8fa99c05bde4ea6d0c412adf91d0362af/web/assets/fonts/la-brands-400.woff -------------------------------------------------------------------------------- /web/assets/fonts/la-brands-400.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShanZJ-gvs/Fabric_TraceabilitySys/200657e8fa99c05bde4ea6d0c412adf91d0362af/web/assets/fonts/la-brands-400.woff2 -------------------------------------------------------------------------------- /web/assets/fonts/la-regular-400.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShanZJ-gvs/Fabric_TraceabilitySys/200657e8fa99c05bde4ea6d0c412adf91d0362af/web/assets/fonts/la-regular-400.eot -------------------------------------------------------------------------------- /web/assets/fonts/la-regular-400.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShanZJ-gvs/Fabric_TraceabilitySys/200657e8fa99c05bde4ea6d0c412adf91d0362af/web/assets/fonts/la-regular-400.ttf -------------------------------------------------------------------------------- /web/assets/fonts/la-regular-400.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShanZJ-gvs/Fabric_TraceabilitySys/200657e8fa99c05bde4ea6d0c412adf91d0362af/web/assets/fonts/la-regular-400.woff -------------------------------------------------------------------------------- /web/assets/fonts/la-regular-400.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShanZJ-gvs/Fabric_TraceabilitySys/200657e8fa99c05bde4ea6d0c412adf91d0362af/web/assets/fonts/la-regular-400.woff2 -------------------------------------------------------------------------------- /web/assets/fonts/la-solid-900.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShanZJ-gvs/Fabric_TraceabilitySys/200657e8fa99c05bde4ea6d0c412adf91d0362af/web/assets/fonts/la-solid-900.eot -------------------------------------------------------------------------------- /web/assets/fonts/la-solid-900.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShanZJ-gvs/Fabric_TraceabilitySys/200657e8fa99c05bde4ea6d0c412adf91d0362af/web/assets/fonts/la-solid-900.ttf -------------------------------------------------------------------------------- /web/assets/fonts/la-solid-900.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShanZJ-gvs/Fabric_TraceabilitySys/200657e8fa99c05bde4ea6d0c412adf91d0362af/web/assets/fonts/la-solid-900.woff -------------------------------------------------------------------------------- /web/assets/fonts/la-solid-900.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShanZJ-gvs/Fabric_TraceabilitySys/200657e8fa99c05bde4ea6d0c412adf91d0362af/web/assets/fonts/la-solid-900.woff2 -------------------------------------------------------------------------------- /web/assets/images/breakfast.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShanZJ-gvs/Fabric_TraceabilitySys/200657e8fa99c05bde4ea6d0c412adf91d0362af/web/assets/images/breakfast.jpg -------------------------------------------------------------------------------- /web/assets/images/check-partial.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /web/assets/images/check.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /web/assets/images/ingredients.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShanZJ-gvs/Fabric_TraceabilitySys/200657e8fa99c05bde4ea6d0c412adf91d0362af/web/assets/images/ingredients.jpg -------------------------------------------------------------------------------- /web/assets/images/onion.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShanZJ-gvs/Fabric_TraceabilitySys/200657e8fa99c05bde4ea6d0c412adf91d0362af/web/assets/images/onion.jpg -------------------------------------------------------------------------------- /web/assets/images/pepper.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShanZJ-gvs/Fabric_TraceabilitySys/200657e8fa99c05bde4ea6d0c412adf91d0362af/web/assets/images/pepper.jpg -------------------------------------------------------------------------------- /web/assets/images/potato.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShanZJ-gvs/Fabric_TraceabilitySys/200657e8fa99c05bde4ea6d0c412adf91d0362af/web/assets/images/potato.jpg -------------------------------------------------------------------------------- /web/assets/images/tomato.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShanZJ-gvs/Fabric_TraceabilitySys/200657e8fa99c05bde4ea6d0c412adf91d0362af/web/assets/images/tomato.jpg -------------------------------------------------------------------------------- /web/assets/img/avatars/avatar1.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShanZJ-gvs/Fabric_TraceabilitySys/200657e8fa99c05bde4ea6d0c412adf91d0362af/web/assets/img/avatars/avatar1.jpeg -------------------------------------------------------------------------------- /web/assets/img/avatars/avatar2.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShanZJ-gvs/Fabric_TraceabilitySys/200657e8fa99c05bde4ea6d0c412adf91d0362af/web/assets/img/avatars/avatar2.jpeg -------------------------------------------------------------------------------- /web/assets/img/avatars/avatar3.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShanZJ-gvs/Fabric_TraceabilitySys/200657e8fa99c05bde4ea6d0c412adf91d0362af/web/assets/img/avatars/avatar3.jpeg -------------------------------------------------------------------------------- /web/assets/img/avatars/avatar4.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShanZJ-gvs/Fabric_TraceabilitySys/200657e8fa99c05bde4ea6d0c412adf91d0362af/web/assets/img/avatars/avatar4.jpeg -------------------------------------------------------------------------------- /web/assets/img/avatars/avatar5.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShanZJ-gvs/Fabric_TraceabilitySys/200657e8fa99c05bde4ea6d0c412adf91d0362af/web/assets/img/avatars/avatar5.jpeg -------------------------------------------------------------------------------- /web/assets/img/avatars/img-8950fe813f67bd95f918e80b881a312c.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShanZJ-gvs/Fabric_TraceabilitySys/200657e8fa99c05bde4ea6d0c412adf91d0362af/web/assets/img/avatars/img-8950fe813f67bd95f918e80b881a312c.jpg -------------------------------------------------------------------------------- /web/assets/img/avatars/touxiang.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ShanZJ-gvs/Fabric_TraceabilitySys/200657e8fa99c05bde4ea6d0c412adf91d0362af/web/assets/img/avatars/touxiang.png -------------------------------------------------------------------------------- /web/assets/js/menu_shanzj.js: -------------------------------------------------------------------------------- 1 | 2 | Vue.config.productionTip = false 3 | const menu_vm = new Vue({ 4 | el: '#menu', 5 | data:{ 6 | company1:document.getElementById("company").innerHTML, 7 | }, 8 | computed:{ 9 | tohome:{ 10 | get(){ 11 | return "./tohome?companyName="+this.company1 12 | } 13 | }, 14 | todata:{ 15 | get(){ 16 | return "./todata?companyName="+this.company1 17 | } 18 | }, 19 | toforms:{ 20 | get(){ 21 | return "./toforms?companyName="+this.company1 22 | } 23 | }, 24 | toform:{ 25 | get(){ 26 | return "./toform?companyName="+this.company1 27 | } 28 | }, 29 | topeople:{ 30 | get(){ 31 | return "./topeople?companyName="+this.company1 32 | } 33 | }, 34 | toauthlogin:{ 35 | get(){ 36 | return "./toauthlogin" 37 | } 38 | }, 39 | iscompany(){ 40 | if (this.company1!=""){/*有公司名,怎么说明已登录*/ 41 | return true 42 | }else { 43 | return false 44 | } 45 | } 46 | }, 47 | mounted () { 48 | }, 49 | methods:{ 50 | } 51 | 52 | }) 53 | 54 | 55 | 56 | 57 | 58 | -------------------------------------------------------------------------------- /web/assets/js/shanzj/forms.js: -------------------------------------------------------------------------------- 1 | const vm = new Vue({ 2 | data() { 3 | return { 4 | pickerOptions: { 5 | shortcuts: [{ 6 | text: '今天', 7 | onClick(picker) { 8 | picker.$emit('pick', new Date()); 9 | } 10 | }, { 11 | text: '昨天', 12 | onClick(picker) { 13 | const date = new Date(); 14 | date.setTime(date.getTime() - 3600 * 1000 * 24); 15 | picker.$emit('pick', date); 16 | } 17 | }, { 18 | text: '一周前', 19 | onClick(picker) { 20 | const date = new Date(); 21 | date.setTime(date.getTime() - 3600 * 1000 * 24 * 7); 22 | picker.$emit('pick', date); 23 | } 24 | }] 25 | }, 26 | value1: '', 27 | datatime: '', 28 | value3: '', 29 | rankkey:["特级", "1级", "2级", "3级", "4级", "5级","6级","7级","8级","9级"], 30 | company1:document.getElementById("company").innerHTML, 31 | employee:{ // 32 | id:"", 33 | name:"", 34 | sex:"" 35 | }, 36 | pojo:{// 茶园茶区通用 37 | id:"", 38 | name:"", 39 | address:"", 40 | area:"", 41 | altitude:"", 42 | areaid2:"", 43 | gardenid2:"", 44 | height:"", 45 | kind:"", 46 | state:"", 47 | cultivate:"", 48 | genv:"" 49 | 50 | }, 51 | tea:{ 52 | id:"",//茶叶批id 53 | id2:"",//所属茶树id 54 | output:"0",//产量 55 | quality:"合格", // 鲜叶质量 56 | makeway:"炒制", //制茶工艺 57 | rank:"优", // 茶叶等级 58 | }, 59 | pojo2:{ 60 | smallBoxId:"", //小盒编号 61 | bigBoxId:"", //大盒编号 62 | testingId:"", //质检编号 63 | testingQ:"", //质检结果 64 | } 65 | }; 66 | }, 67 | methods: { 68 | handleChange(value) { 69 | console.log(value); 70 | } 71 | } 72 | }); 73 | 74 | vm.$mount("#root"); -------------------------------------------------------------------------------- /web/assets/js/shanzj/people.js: -------------------------------------------------------------------------------- 1 | const vm = new Vue({ 2 | data() { 3 | return { 4 | employee:{ 5 | sex:"" 6 | }, 7 | company1:document.getElementById("company").innerHTML, 8 | }; 9 | }, 10 | methods: { 11 | 12 | } 13 | }); 14 | 15 | vm.$mount("#root"); --------------------------------------------------------------------------------