diff --git a/etc/cactus/default.yaml b/etc/cactus/default.yaml index a59f4e6da74..8393371fda2 100644 --- a/etc/cactus/default.yaml +++ b/etc/cactus/default.yaml @@ -12,7 +12,7 @@ blpRegistry: logLevel: debug applicationHostInfo: - hostName: http://aaa.bbb.ccc.ddd # please change hostName to your IP address + hostName: http://localhost hostPort: 5034 socketOptions: diff --git a/examples/cartrade/.gitignore b/examples/cartrade/.gitignore index 1e010e2cd5c..1f95767020f 100644 --- a/examples/cartrade/.gitignore +++ b/examples/cartrade/.gitignore @@ -4,7 +4,7 @@ crypto-config/ # BLP artifacts TransactionInfo.json -wallet/ +etc/ # don't commit package-lock package-lock.json diff --git a/examples/cartrade/AssetManagement.ts b/examples/cartrade/AssetManagement.ts index 41081717338..b7dabe2e599 100644 --- a/examples/cartrade/AssetManagement.ts +++ b/examples/cartrade/AssetManagement.ts @@ -5,10 +5,10 @@ * AssetManagement.ts */ -import { LPInfoHolder } from "../../packages/cactus-cmd-socketio-server/src/main/typescript/routing-interface/util/LPInfoHolder"; -import { Verifier } from "../../packages/cactus-cmd-socketio-server/src/main/typescript/verifier/Verifier"; -import { ContractInfoHolder } from "../../packages/cactus-cmd-socketio-server/src/main/typescript/routing-interface/util/ContractInfoHolder"; -import { ConfigUtil } from "../../packages/cactus-cmd-socketio-server/src/main/typescript/routing-interface/util/ConfigUtil"; +import { LPInfoHolder } from "@hyperledger/cactus-cmd-socket-server/src/main/typescript/routing-interface/util/LPInfoHolder"; +import { Verifier } from "@hyperledger/cactus-cmd-socket-server/src/main/typescript/verifier/Verifier"; +import { ContractInfoHolder } from "@hyperledger/cactus-cmd-socket-server/src/main/typescript/routing-interface/util/ContractInfoHolder"; +import { ConfigUtil } from "@hyperledger/cactus-cmd-socket-server/src/main/typescript/routing-interface/util/ConfigUtil"; const fs = require("fs"); const path = require("path"); diff --git a/examples/cartrade/BalanceManagement.ts b/examples/cartrade/BalanceManagement.ts index 7edd9e7e18e..9559a8065c0 100644 --- a/examples/cartrade/BalanceManagement.ts +++ b/examples/cartrade/BalanceManagement.ts @@ -5,9 +5,9 @@ * BalanceManagement.ts */ -import { LPInfoHolder } from "../../packages/cactus-cmd-socketio-server/src/main/typescript/routing-interface/util/LPInfoHolder"; -import { Verifier } from "../../packages/cactus-cmd-socketio-server/src/main/typescript/verifier/Verifier"; -import { ConfigUtil } from "../../packages/cactus-cmd-socketio-server/src/main/typescript/routing-interface/util/ConfigUtil"; +import { LPInfoHolder } from "@hyperledger/cactus-cmd-socket-server/src/main/typescript/routing-interface/util/LPInfoHolder"; +import { Verifier } from "@hyperledger/cactus-cmd-socket-server/src/main/typescript/verifier/Verifier"; +import { ConfigUtil } from "@hyperledger/cactus-cmd-socket-server/src/main/typescript/routing-interface/util/ConfigUtil"; const fs = require("fs"); const path = require("path"); diff --git a/examples/cartrade/BusinessLogicCartrade.ts b/examples/cartrade/BusinessLogicCartrade.ts index 944b8964e7d..02856a43572 100644 --- a/examples/cartrade/BusinessLogicCartrade.ts +++ b/examples/cartrade/BusinessLogicCartrade.ts @@ -6,26 +6,26 @@ */ import { Request } from "express"; -import { RequestInfo } from "../../packages/cactus-cmd-socketio-server/src/main/typescript/routing-interface/RequestInfo"; -import { TradeInfo } from "../../packages/cactus-cmd-socketio-server/src/main/typescript/routing-interface/TradeInfo"; +import { RequestInfo } from "@hyperledger/cactus-cmd-socket-server/src/main/typescript/routing-interface/RequestInfo"; +import { TradeInfo } from "@hyperledger/cactus-cmd-socket-server/src/main/typescript/routing-interface/TradeInfo"; import { TransactionInfoManagement } from "./TransactionInfoManagement"; import { TransactionInfo } from "./TransactionInfo"; import { TransactionData } from "./TransactionData"; import { BusinessLogicInquireCartradeStatus } from "./BusinessLogicInquireCartradeStatus"; import { TxInfoData } from "./TxInfoData"; -import { transactionManagement } from "../../packages/cactus-cmd-socketio-server/src/main/typescript/routing-interface/routes/index"; -import { verifierFactory } from "../../packages/cactus-cmd-socketio-server/src/main/typescript/routing-interface/routes/index"; -import { LedgerOperation } from "../../packages/cactus-cmd-socketio-server/src/main/typescript/business-logic-plugin/LedgerOperation"; -import { BusinessLogicBase } from "../../packages/cactus-cmd-socketio-server/src/main/typescript/business-logic-plugin/BusinessLogicBase"; +import { transactionManagement } from "@hyperledger/cactus-cmd-socket-server/src/main/typescript/routing-interface/routes/index"; +import { verifierFactory } from "@hyperledger/cactus-cmd-socket-server/src/main/typescript/routing-interface/routes/index"; +import { LedgerOperation } from "@hyperledger/cactus-cmd-socket-server/src/main/typescript/business-logic-plugin/LedgerOperation"; +import { BusinessLogicBase } from "@hyperledger/cactus-cmd-socket-server/src/main/typescript/business-logic-plugin/BusinessLogicBase"; import { makeRawTransaction } from "./TransactionEthereum"; import { makeSignedProposal } from "./TransactionFabric"; import { ApiInfo, LedgerEvent, -} from "../../packages/cactus-cmd-socketio-server/src/main/typescript/verifier/LedgerPlugin"; -import { json2str } from "../../packages/cactus-cmd-socketio-server/src/main/typescript/verifier/DriverCommon"; +} from "@hyperledger/cactus-cmd-socket-server/src/main/typescript/verifier/LedgerPlugin"; +import { json2str } from "@hyperledger/cactus-cmd-socket-server/src/main/typescript/verifier/DriverCommon"; import { CartradeStatus } from "./define"; -import { RIFUtil } from "../../packages/cactus-cmd-socketio-server/src/main/typescript/routing-interface/util/RIFUtil"; +import { RIFUtil } from "@hyperledger/cactus-cmd-socket-server/src/main/typescript/routing-interface/util/RIFUtil"; const fs = require("fs"); const path = require("path"); diff --git a/examples/cartrade/BusinessLogicInquireCartradeStatus.ts b/examples/cartrade/BusinessLogicInquireCartradeStatus.ts index 2fd458b26fc..05a2cf1ae63 100644 --- a/examples/cartrade/BusinessLogicInquireCartradeStatus.ts +++ b/examples/cartrade/BusinessLogicInquireCartradeStatus.ts @@ -8,7 +8,7 @@ import { TransactionInfo } from "./TransactionInfo"; import { TransactionStatus } from "./TransactionStatus"; import { ResultTransactionStatusData } from "./ResultTransactionStatusData"; -import { BusinessLogicBase } from "../../packages/cactus-cmd-socketio-server/src/main/typescript/business-logic-plugin/BusinessLogicBase"; +import { BusinessLogicBase } from "@hyperledger/cactus-cmd-socket-server/src/main/typescript/business-logic-plugin/BusinessLogicBase"; import fs = require("fs"); export class BusinessLogicInquireCartradeStatus extends BusinessLogicBase { diff --git a/examples/cartrade/CarsManagement.ts b/examples/cartrade/CarsManagement.ts index 9931dd7c822..b1aa0ad9ecb 100644 --- a/examples/cartrade/CarsManagement.ts +++ b/examples/cartrade/CarsManagement.ts @@ -5,9 +5,9 @@ * CarsManagement.ts */ -import { LPInfoHolder } from "../../packages/cactus-cmd-socketio-server/src/main/typescript/routing-interface/util/LPInfoHolder"; -import { Verifier } from "../../packages/cactus-cmd-socketio-server/src/main/typescript/verifier/Verifier"; -import { ConfigUtil } from "../../packages/cactus-cmd-socketio-server/src/main/typescript/routing-interface/util/ConfigUtil"; +import { LPInfoHolder } from "@hyperledger/cactus-cmd-socket-server/src/main/typescript/routing-interface/util/LPInfoHolder"; +import { Verifier } from "@hyperledger/cactus-cmd-socket-server/src/main/typescript/verifier/Verifier"; +import { ConfigUtil } from "@hyperledger/cactus-cmd-socket-server/src/main/typescript/routing-interface/util/ConfigUtil"; const fs = require("fs"); const path = require("path"); diff --git a/examples/cartrade/Dockerfile b/examples/cartrade/Dockerfile new file mode 100644 index 00000000000..a7dfd9ae865 --- /dev/null +++ b/examples/cartrade/Dockerfile @@ -0,0 +1,15 @@ +FROM cactus-cmd-socketio-server:latest + +ENV CARTRADE_HOME=/root/cactus + +WORKDIR ${CARTRADE_HOME} + +COPY ./dist/yarn.lock ./package.json ./run_docker.sh ./ +RUN yarn link "@hyperledger/cactus-cmd-socket-server" && \ + yarn install --production --non-interactive --cache-folder ./.yarnCache && \ + rm -rf ./.yarnCache + +COPY ./run_docker.sh ./ +COPY ./dist ./dist/ + +ENTRYPOINT ["bash", "run_docker.sh"] diff --git a/examples/cartrade/TemplateTradeManagement.ts b/examples/cartrade/TemplateTradeManagement.ts index 9f561be77e0..eea196c6806 100644 --- a/examples/cartrade/TemplateTradeManagement.ts +++ b/examples/cartrade/TemplateTradeManagement.ts @@ -6,9 +6,9 @@ */ import { Request } from "express"; -import { LPInfoHolder } from "../../packages/cactus-cmd-socketio-server/src/main/typescript/routing-interface/util/LPInfoHolder"; -import { Verifier } from "../../packages/cactus-cmd-socketio-server/src/main/typescript/verifier/Verifier"; -import { ConfigUtil } from "../../packages/cactus-cmd-socketio-server/src/main/typescript/routing-interface/util/ConfigUtil"; +import { LPInfoHolder } from "@hyperledger/cactus-cmd-socket-server/src/main/typescript/routing-interface/util/LPInfoHolder"; +import { Verifier } from "@hyperledger/cactus-cmd-socket-server/src/main/typescript/verifier/Verifier"; +import { ConfigUtil } from "@hyperledger/cactus-cmd-socket-server/src/main/typescript/routing-interface/util/ConfigUtil"; const fs = require("fs"); const path = require("path"); diff --git a/examples/cartrade/TransactionEthereum.ts b/examples/cartrade/TransactionEthereum.ts index 4f1a7375d7f..3817aa73890 100644 --- a/examples/cartrade/TransactionEthereum.ts +++ b/examples/cartrade/TransactionEthereum.ts @@ -5,9 +5,9 @@ * TransactionEthereum.ts */ -import { LPInfoHolder } from "../../packages/cactus-cmd-socketio-server/src/main/typescript/routing-interface/util/LPInfoHolder"; -import { Verifier } from "../../packages/cactus-cmd-socketio-server/src/main/typescript/verifier/Verifier"; -import { TransactionSigner } from "../../packages/cactus-cmd-socketio-server/src/main/typescript/util/TransactionSigner"; +import { LPInfoHolder } from "@hyperledger/cactus-cmd-socket-server/src/main/typescript/routing-interface/util/LPInfoHolder"; +import { Verifier } from "@hyperledger/cactus-cmd-socket-server/src/main/typescript/verifier/Verifier"; +import { TransactionSigner } from "@hyperledger/cactus-cmd-socket-server/src/main/typescript/util/TransactionSigner"; const ethJsCommon = require("ethereumjs-common").default; const ethJsTx = require("ethereumjs-tx").Transaction; diff --git a/examples/cartrade/TransactionFabric.ts b/examples/cartrade/TransactionFabric.ts index 02c4c794eb5..bac3f342ec0 100644 --- a/examples/cartrade/TransactionFabric.ts +++ b/examples/cartrade/TransactionFabric.ts @@ -15,8 +15,8 @@ * In this case, it is used only when transferring assets. */ -import { TransactionSigner } from "../../packages/cactus-cmd-socketio-server/src/main/typescript/util/TransactionSigner"; -import { Verifier } from "../../packages/cactus-cmd-socketio-server/src/main/typescript/verifier/Verifier"; +import { TransactionSigner } from "@hyperledger/cactus-cmd-socket-server/src/main/typescript/util/TransactionSigner"; +import { Verifier } from "@hyperledger/cactus-cmd-socket-server/src/main/typescript/verifier/Verifier"; const fs = require("fs"); const path = require("path"); @@ -76,8 +76,8 @@ export function makeSignedProposal( const argsParam: {} = { args: { transactionProposalReq: transactionProposalReq, - certPem: certPem, - privateKeyPem: privateKeyPem, + // certPem: certPem, + // privateKeyPem: privateKeyPem, }, }; verifierFabric diff --git a/examples/cartrade/TransactionInfo.ts b/examples/cartrade/TransactionInfo.ts index 17b7d288fad..cfd20c5a90b 100644 --- a/examples/cartrade/TransactionInfo.ts +++ b/examples/cartrade/TransactionInfo.ts @@ -5,7 +5,7 @@ * TransactionInfo.ts */ -import { RequestInfo } from "../../packages/cactus-cmd-socketio-server/src/main/typescript/routing-interface/RequestInfo"; +import { RequestInfo } from "@hyperledger/cactus-cmd-socket-server/src/main/typescript/routing-interface/RequestInfo"; export class TransactionInfo { businessLogicID: string; diff --git a/examples/cartrade/TransactionInfoManagement.ts b/examples/cartrade/TransactionInfoManagement.ts index 08ac2869327..0e0676186a9 100644 --- a/examples/cartrade/TransactionInfoManagement.ts +++ b/examples/cartrade/TransactionInfoManagement.ts @@ -8,7 +8,7 @@ import { TransactionInfo } from "./TransactionInfo"; import { TransactionData } from "./TransactionData"; import { TxInfoData } from "./TxInfoData"; -import { TradeInfo } from "../../packages/cactus-cmd-socketio-server/src/main/typescript/routing-interface/TradeInfo"; +import { TradeInfo } from "@hyperledger/cactus-cmd-socket-server/src/main/typescript/routing-interface/TradeInfo"; import { CartradeStatus } from "./define"; const fs = require("fs"); diff --git a/examples/cartrade/asset.ts b/examples/cartrade/asset.ts index d96c90d53fb..5d00c8346bf 100644 --- a/examples/cartrade/asset.ts +++ b/examples/cartrade/asset.ts @@ -6,13 +6,13 @@ */ import { Router, NextFunction, Request, Response } from "express"; -import { RIFUtil } from "../../packages/cactus-cmd-socketio-server/src/main/typescript/routing-interface/util/RIFUtil"; -import { ConfigUtil } from "../../packages/cactus-cmd-socketio-server/src/main/typescript/routing-interface/util/ConfigUtil"; +import { RIFUtil } from "@hyperledger/cactus-cmd-socket-server/src/main/typescript/routing-interface/util/RIFUtil"; +import { ConfigUtil } from "@hyperledger/cactus-cmd-socket-server/src/main/typescript/routing-interface/util/ConfigUtil"; import { RIFError, BadRequestError, InternalServerError, -} from "../../packages/cactus-cmd-socketio-server/src/main/typescript/routing-interface/RIFError"; +} from "@hyperledger/cactus-cmd-socket-server/src/main/typescript/routing-interface/RIFError"; import { AssetManagement } from "./AssetManagement"; const fs = require("fs"); diff --git a/examples/cartrade/balance.ts b/examples/cartrade/balance.ts index 1b12b6f0702..97c8e1fcf4d 100644 --- a/examples/cartrade/balance.ts +++ b/examples/cartrade/balance.ts @@ -6,13 +6,13 @@ */ import { Router, NextFunction, Request, Response } from "express"; -import { RIFUtil } from "../../packages/cactus-cmd-socketio-server/src/main/typescript/routing-interface/util/RIFUtil"; -import { ConfigUtil } from "../../packages/cactus-cmd-socketio-server/src/main/typescript/routing-interface/util/ConfigUtil"; +import { RIFUtil } from "@hyperledger/cactus-cmd-socket-server/src/main/typescript/routing-interface/util/RIFUtil"; +import { ConfigUtil } from "@hyperledger/cactus-cmd-socket-server/src/main/typescript/routing-interface/util/ConfigUtil"; import { RIFError, BadRequestError, InternalServerError, -} from "../../packages/cactus-cmd-socketio-server/src/main/typescript/routing-interface/RIFError"; +} from "@hyperledger/cactus-cmd-socket-server/src/main/typescript/routing-interface/RIFError"; import { BalanceManagement } from "./BalanceManagement"; const fs = require("fs"); diff --git a/examples/cartrade/cars.ts b/examples/cartrade/cars.ts index 03d8feed01f..02ee901f01c 100644 --- a/examples/cartrade/cars.ts +++ b/examples/cartrade/cars.ts @@ -6,13 +6,13 @@ */ import { Router, NextFunction, Request, Response } from "express"; -import { RIFUtil } from "../../packages/cactus-cmd-socketio-server/src/main/typescript/routing-interface/util/RIFUtil"; -import { ConfigUtil } from "../../packages/cactus-cmd-socketio-server/src/main/typescript/routing-interface/util/ConfigUtil"; +import { RIFUtil } from "@hyperledger/cactus-cmd-socket-server/src/main/typescript/routing-interface/util/RIFUtil"; +import { ConfigUtil } from "@hyperledger/cactus-cmd-socket-server/src/main/typescript/routing-interface/util/ConfigUtil"; import { RIFError, BadRequestError, InternalServerError, -} from "../../packages/cactus-cmd-socketio-server/src/main/typescript/routing-interface/RIFError"; +} from "@hyperledger/cactus-cmd-socket-server/src/main/typescript/routing-interface/RIFError"; import { CarsManagement } from "./CarsManagement"; const fs = require("fs"); diff --git a/examples/cartrade/config/BLP_config.ts b/examples/cartrade/config/BLP_config.ts index 26894fe9616..3e734bc3c3b 100644 --- a/examples/cartrade/config/BLP_config.ts +++ b/examples/cartrade/config/BLP_config.ts @@ -5,9 +5,8 @@ * BLP_config.ts */ -import { BusinessLogicPlugin } from "../../../packages/cactus-cmd-socketio-server/src/main/typescript/business-logic-plugin/BusinessLogicPlugin"; +import { BusinessLogicPlugin } from "@hyperledger/cactus-cmd-socket-server/src/main/typescript/business-logic-plugin/BusinessLogicPlugin"; import { BusinessLogicCartrade } from "../BusinessLogicCartrade"; -// import { BusinessLogicCartrade } from '../examples/cartrade/BusinessLogicXxxxTrade'; export function getTargetBLPInstance( businessLogicID: string diff --git a/examples/cartrade/config/contractInfo.yaml b/examples/cartrade/config/contractInfo.yaml new file mode 100644 index 00000000000..d04664c76bb --- /dev/null +++ b/examples/cartrade/config/contractInfo.yaml @@ -0,0 +1,27 @@ +contractInfo: + - + transactionHash: "0x8387ee93223da535a2cc0177d6f86df0a9dbf56f14573baf11d94cb9c9269fb1" + address: "0x89d266156b47c69b8a6f3152c0c56b87b5dea427" + abi: + - + constant: false + inputs: + - + name: _addAsset + type: uint256 + name: addAsset + outputs: [] + payable: false + stateMutability: nonpayable + type: function + - + constant: true + inputs: [] + name: getAsset + outputs: + - + name: "" + type: uint256 + payable: false + stateMutability: view + type: function diff --git a/examples/cartrade/config/default.yaml b/examples/cartrade/config/default.yaml index e9b4b34d950..0b84734e78b 100644 --- a/examples/cartrade/config/default.yaml +++ b/examples/cartrade/config/default.yaml @@ -2,7 +2,7 @@ cartradeInfo: fabric: validatorID: r9IS4dDf mspID: Org1MSP - keystore: "./wallet" + keystore: "/etc/cactus/cartrade-wallet" connUserName: user1 contractName: fabcar peers: diff --git a/examples/cartrade/config/usersetting.yaml b/examples/cartrade/config/usersetting.yaml index 79f72238088..10d6ec05284 100644 --- a/examples/cartrade/config/usersetting.yaml +++ b/examples/cartrade/config/usersetting.yaml @@ -1,12 +1,12 @@ blpRegistry: - - + - businessLogicID: guks32pf validatorID: [84jUisrs, r9IS4dDf] logLevel: debug applicationHostInfo: - hostName: http://aaa.bbb.ccc.ddd # please change hostName to your IP address + hostName: http://localhost # please change hostName to your IP address hostPort: 5034 socketOptions: @@ -19,20 +19,15 @@ verifier: syncFunctionTimeoutMillisecond: 5000 appRouters: - - + - path: /api/v1/bl/trades/ - routerJs: ../../../../../../examples/cartrade/trades.js - - + routerJs: /root/cactus/dist/trades.js + - path: /api/v1/bl/asset/ - routerJs: ../../../../../../examples/cartrade/asset.js - - + routerJs: /root/cactus/dist/asset.js + - path: /api/v1/bl/balance/ - routerJs: ../../../../../../examples/cartrade/balance.js - - + routerJs: /root/cactus/dist/balance.js + - path: /api/v1/bl/cars/ - routerJs: ../../../../../../examples/cartrade/cars.js - # abolish template-trade - # - - # path: /api/v1/bl/template-trade/ - # routerJs: ../../../../../../examples/cartrade/template-trade.js - + routerJs: /root/cactus/dist/cars.js diff --git a/examples/cartrade/config/validator-registry-config.yaml b/examples/cartrade/config/validator-registry-config.yaml new file mode 100644 index 00000000000..824dfaa0477 --- /dev/null +++ b/examples/cartrade/config/validator-registry-config.yaml @@ -0,0 +1,130 @@ +ledgerPluginInfo: + - + validatorID: 84jUisrs + validatorType: socketio + validatorURL: https://ethereum-validator:5050 + validatorKeyPath: ./validatorKey/84jUisrs/key84jUisrs.crt + ledgerInfo: + ledgerAbstract: Go-Ethereum Ledger + apiInfo: + - + apiType: getNumericBalance + requestedData: + - + dataName: referedAddress + dataType: string + - + apiType: transferNumericAsset + requestedData: + - + dataName: fromAddress + dataType: string + - + dataName: toAddress + dataType: string + - + dataName: amount + dataType: number + - + apiType: sendRawTransaction + requestedData: + - + dataName: serializedTx + dataType: string + + - + validatorID: r9IS4dDf + validatorType: socketio + validatorURL: https://fabric-socketio-validator:5040 + validatorKeyPath: ./validatorKey/r9IS4dDf/keyr9IS4dDf.crt + ledgerInfo: + ledgerAbstract: Fabric Ledger + apiInfo: + - + apiType: changeCarOwner + requestedData: + - + dataName: carId + dataType: string + - + dataName: newOwner + dataType: string + - + apiType: sendSignedProposal + requestedData: + - + dataName: signedCommitProposal + dataType: string + - + dataName: commitReq + dataType: string + + - + validatorID: sUr7d10R + validatorType: socketio + validatorURL: https://localhost:5140 + validatorKeyPath: ./validatorKey/sUr7d10R/keysUr7d10R.crt + ledgerInfo: + ledgerAbstract: Sawtooth Ledger + apiInfo: [] + + - + validatorID: 3PfTJw8g + validatorType: socketio + validatorURL: http://172.16.0.4:8000 + validatorKeyPath: ./validatorKey/3PfTJw8g/3PfTJw8g.crt + ledgerInfo: + ledgerAbstract: "Indy Ledger" + apiInfo: [] + + - + validatorID: vIdO32CB + validatorType: openapi + validatorURL: http://localhost:5053/api/v1/plugins/@hyperledger/cactus-plugin-ledger-connector-besu/ + validatorKeyPath: "" + ledgerInfo: + ledgerAbstract: "Cactus Besu Ledger via http connection" + apiInfo: [] + + - + validatorID: vIdO32CF + validatorType: openapi + validatorURL: http://localhost:5053/api/v1/plugins/@hyperledger/cactus-plugin-ledger-connector-fabric/ + validatorKeyPath: "" + ledgerInfo: + ledgerAbstract: "Cactus Fabric Ledger via http connection" + apiInfo: [] + + - + validatorID: vIdO32CQ + validatorType: openapi + validatorURL: http://localhost:5053/api/v1/plugins/@hyperledger/cactus-plugin-ledger-connector-quorum/ + validatorKeyPath: "" + ledgerInfo: + ledgerAbstract: "Cactus Quorum Ledger via http connection" + apiInfo: [] + +signTxInfo: + ethereum: + chainName: geth1 + networkID: 10 + chainID: 10 + network: mainnet + hardfork: petersburg + + fabric: + mspID: Org1MSP + peers: + - + name: peer0.org1.example.com + requests: grpc://localhost:7051 + orderer: + URL: grpc://localhost:7050 + ca: + name: ca.example.com + URL: http://localhost:7054 + submitter: + name: admin + secret: adminpw + channelName: mychannel + chaincodeID: fabcar diff --git a/examples/cartrade/copyBLPConfig.ts b/examples/cartrade/copyBLPConfig.ts deleted file mode 100644 index c77e1bb3e70..00000000000 --- a/examples/cartrade/copyBLPConfig.ts +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright 2020-2021 Hyperledger Cactus Contributors - * SPDX-License-Identifier: Apache-2.0 - * - * copyBLPConfig.ts - */ - -import * as shell from "shelljs"; - -// NOTE: Copy the static assets to the dist folder. -// Example: -// shell.cp('-R', 'src/routing-interface/views', 'dist/routing-interface/views/'); -shell.cp( - "../../dist/examples/cartrade/config/BLP_config.js", - "../../dist/packages/cactus-cmd-socketio-server/src/main/typescript/business-logic-plugin/" -); diff --git a/examples/cartrade/copyStaticAssets.ts b/examples/cartrade/copyStaticAssets.ts deleted file mode 100644 index 21d59096a56..00000000000 --- a/examples/cartrade/copyStaticAssets.ts +++ /dev/null @@ -1,15 +0,0 @@ -/* - * Copyright 2020-2021 Hyperledger Cactus Contributors - * SPDX-License-Identifier: Apache-2.0 - * - * copyStaticAssets.ts - */ - -import * as shell from "shelljs"; - -// NOTE: Copy the static assets to the dist folder. -// Example: -// shell.cp('-R', 'src/routing-interface/views', 'dist/routing-interface/views/'); -//shell.cp('-R', 'config/default.json', 'dist/examples/cartrade/config/'); -shell.cp("-R", "config/default.yaml", "/etc/cactus/"); -shell.cp("-R", "config/usersetting.yaml", "/etc/cactus/"); diff --git a/examples/cartrade/docker-compose.yml b/examples/cartrade/docker-compose.yml new file mode 100644 index 00000000000..4f6ce81487e --- /dev/null +++ b/examples/cartrade/docker-compose.yml @@ -0,0 +1,52 @@ +version: "3.4" + +# Start the ledgers first +# ./etc/cactus should already exist and contain cactus node configs + +services: + fabric-socketio-validator: + container_name: cartrade-fabric-socketio-validator + image: cactus-plugin-ledger-connector-fabric-socketio + build: + context: ../../packages/cactus-plugin-ledger-connector-fabric-socketio/ + ports: + - "5040:5040" + volumes: + - ./etc/cactus:/etc/cactus + networks: + - fabric-all-in-one_testnet-14 + - cartrade-net + ethereum-validator: + container_name: cartrade-ethereum-validator + image: cactus-plugin-ledger-connector-go-ethereum-socketio + build: + context: ../../packages/cactus-plugin-ledger-connector-go-ethereum-socketio/ + ports: + - "5050:5050" + networks: + - geth1net + - cartrade-net + cartrade-blp: + container_name: cartrade_blp + image: cactus-example-cartrade-blp + build: + context: . + ports: + - "5034:5034" + networks: + - cartrade-net + depends_on: + - fabric-socketio-validator + - ethereum-validator + volumes: + - type: bind + source: ./etc/cactus + target: /etc/cactus + +networks: + fabric-all-in-one_testnet-14: + external: true + geth1net: + external: true + cartrade-net: + driver: bridge \ No newline at end of file diff --git a/examples/cartrade/package.json b/examples/cartrade/package.json index 62cde4fd656..10c878e8d0d 100644 --- a/examples/cartrade/package.json +++ b/examples/cartrade/package.json @@ -4,13 +4,10 @@ "scripts": { "start": "node ../../dist/packages/cactus-cmd-socketio-server/src/main/typescript/routing-interface/www.js", "debug": "nodemon --inspect ../../dist/packages/cactus-cmd-socketio-server/src/main/typescript/routing-interface/www.js", - "build": "npm run build-ts && npm run copy-static-assets && npm run copy-blp-config && npm run replace-blp-config-path && npm run init-cartrade", + "build": "npm run build-ts && npm run copy-yarn-lock", "build-ts": "tsc -p ./tsconfig.json", "tslint": "tslint -c tslint.json -p tsconfig.json './*.ts'", - "copy-static-assets": "ts-node copyStaticAssets.ts", - "copy-blp-config": "ts-node copyBLPConfig.ts", - "replace-blp-config-path": "ts-node replaceBLPConfigPath.ts", - "init-cartrade": "ln -fs ../examples/cartrade/node_modules ../../dist/node_modules" + "copy-yarn-lock": "cp -f ../../yarn.lock ./dist/" }, "dependencies": { "@types/node": "^14.0.24", @@ -42,4 +39,4 @@ "tslint": "6.0.0", "typescript": "^3.9.3" } -} \ No newline at end of file +} diff --git a/examples/cartrade/replaceBLPConfigPath.ts b/examples/cartrade/replaceBLPConfigPath.ts deleted file mode 100644 index de1dce5238a..00000000000 --- a/examples/cartrade/replaceBLPConfigPath.ts +++ /dev/null @@ -1,23 +0,0 @@ -/* - * Copyright 2020-2021 Hyperledger Cactus Contributors - * SPDX-License-Identifier: Apache-2.0 - * - * ReplacePath.js - */ -const fs = require("fs"); - -const targetFile = - "../../dist/packages/cactus-cmd-socketio-server/src/main/typescript/business-logic-plugin/BLP_config.js"; -const srcStr = '"../BusinessLogicCartrade"'; -const distStr = '"../../../../../../examples/cartrade/BusinessLogicCartrade"'; - -fs.readFile(targetFile, "utf8", (readErr, data) => { - if (readErr) { - return console.log(readErr); - } - const result = data.replace(srcStr, distStr); - - fs.writeFile(targetFile, result, "utf8", (writeErr) => { - if (writeErr) return console.log(writeErr); - }); -}); diff --git a/examples/cartrade/run_docker.sh b/examples/cartrade/run_docker.sh new file mode 100755 index 00000000000..d375065c5c6 --- /dev/null +++ b/examples/cartrade/run_docker.sh @@ -0,0 +1,11 @@ +#!/usr/bin/env bash + +# Patch BLP Config path +sed -i 's/\.\.\/BusinessLogicCartrade/\/root\/cactus\/dist\/BusinessLogicCartrade/g' './dist/config/BLP_config.js' + +# Copy BLP Config to cactus-cmd-socketio-server +cp -f './dist/config/BLP_config.js' "${CACTUS_CMD_SOCKETIO_BLP_PATH}" + +pushd "${CACTUS_CMD_SOCKETIO_PATH}" +node ./src/main/typescript/routing-interface/www.js +popd \ No newline at end of file diff --git a/examples/cartrade/script-start-ledgers.sh b/examples/cartrade/script-start-ledgers.sh index 09c884c6864..ee8d4f4bd89 100755 --- a/examples/cartrade/script-start-ledgers.sh +++ b/examples/cartrade/script-start-ledgers.sh @@ -1,36 +1,80 @@ #!/usr/bin/env bash -# Copyright 2020-2021 Hyperledger Cactus Contributors +# Copyright 2020-2022 Hyperledger Cactus Contributors # SPDX-License-Identifier: Apache-2.0 -# Exit on error set -e -FABRIC_CONTAINER_NAME=fabcar14_sample_setup +ROOT_DIR="../.." # Path to cactus root dir +WAIT_TIME=30 # How often to check container status +CONFIG_VOLUME_PATH="./etc/cactus" # Docker volume with shared configuration -pushd ../.. +# Fabric Env Variables +# See tools/docker/fabric-all-in-one/docker-compose-v1.4.yml +export CACTUS_FABRIC_ALL_IN_ONE_CONTAINER_NAME="cartrade_faio14x_testnet" -## Run Go-Ethereum Ledger -pushd ./tools/docker/geth-testnet -./script-start-docker.sh -popd +function start_fabric_testnet() { + echo ">> start_fabric_testnet()" + pushd "${ROOT_DIR}/tools/docker/fabric-all-in-one" -## RunFabric Ledger -pushd ./tools/docker/fabric-all-in-one -./script-run-docker-1.4.sh -popd + echo ">> Start Fabric 1.4 FabCar..." + docker-compose -f ./docker-compose-v1.4.yml up -d + sleep 1 -popd + # Wait for fabric cotnainer to become healthy + health_status="$(docker inspect -f '{{.State.Health.Status}}' ${CACTUS_FABRIC_ALL_IN_ONE_CONTAINER_NAME})" + while ! [ "${health_status}" == "healthy" ] + do + echo "Waiting for fabric container... current status => ${health_status}" + sleep $WAIT_TIME + health_status="$(docker inspect -f '{{.State.Health.Status}}' ${CACTUS_FABRIC_ALL_IN_ONE_CONTAINER_NAME})" + done + echo ">> Fabric 1.4 FabCar started." -# Copy TLSCAs to connect peer and orderer -mkdir -p ./crypto-config/ -rm -fr ./crypto-config/* -docker cp ${FABRIC_CONTAINER_NAME}:/fabric-samples/first-network/crypto-config/ordererOrganizations/example.com/tlsca/tlsca.example.com-cert.pem ./crypto-config/ -docker cp ${FABRIC_CONTAINER_NAME}:/fabric-samples/first-network/crypto-config/peerOrganizations/org1.example.com/tlsca/tlsca.org1.example.com-cert.pem ./crypto-config/ + echo ">> Register admin and user1..." + pushd fabcar-cli-1.4 + ./setup.sh + popd + echo ">> Register done." -# Enroll users and copy wallet -pushd ../../tools/docker/fabric-all-in-one/fabcar-cli-1.4 -./setup.sh -popd -cp -ar ../../tools/docker/fabric-all-in-one/fabcar-cli-1.4/wallet . + echo ">> start_fabric_testnet() done." + popd +} +function copy_fabric_tlsca() { + echo ">> copy_fabric_tlsca()" + mkdir -p "${CONFIG_VOLUME_PATH}/fabric" + docker cp "${CACTUS_FABRIC_ALL_IN_ONE_CONTAINER_NAME}:/fabric-samples/first-network/crypto-config/" "${CONFIG_VOLUME_PATH}/fabric/" + echo ">> copy_fabric_tlsca() done." +} + +function copy_fabric_wallet() { + echo ">> copy_fabric_wallet()" + cp -fr "../../tools/docker/fabric-all-in-one/fabcar-cli-1.4/wallet" "${CONFIG_VOLUME_PATH}/fabric/" + echo ">> copy_fabric_wallet() done." +} + +function start_ethereum_testnet() { + pushd "../../tools/docker/geth-testnet" + ./script-start-docker.sh + popd +} + +function start_ledgers() { + # Clear ./etc/cactus + mkdir -p "${CONFIG_VOLUME_PATH}/" + rm -fr "${CONFIG_VOLUME_PATH}/*" + + # Copy cmd-socketio-config + cp -f ../../etc/cactus/*.yaml "${CONFIG_VOLUME_PATH}/" + + # Start Fabric + start_fabric_testnet + copy_fabric_tlsca + copy_fabric_wallet + + # Start Ethereum + start_ethereum_testnet +} + +start_ledgers echo "All Done." diff --git a/examples/cartrade/template-trade.ts b/examples/cartrade/template-trade.ts index 278f44a5e86..6bc4559038b 100644 --- a/examples/cartrade/template-trade.ts +++ b/examples/cartrade/template-trade.ts @@ -6,13 +6,13 @@ */ import { Router, NextFunction, Request, Response } from "express"; -import { RIFUtil } from "../../packages/cactus-cmd-socketio-server/src/main/typescript/routing-interface/util/RIFUtil"; -import { ConfigUtil } from "../../packages/cactus-cmd-socketio-server/src/main/typescript/routing-interface/util/ConfigUtil"; +import { RIFUtil } from "@hyperledger/cactus-cmd-socket-server/src/main/typescript/routing-interface/util/RIFUtil"; +import { ConfigUtil } from "@hyperledger/cactus-cmd-socket-server/src/main/typescript/routing-interface/util/ConfigUtil"; import { RIFError, BadRequestError, InternalServerError, -} from "../../packages/cactus-cmd-socketio-server/src/main/typescript/routing-interface/RIFError"; +} from "@hyperledger/cactus-cmd-socket-server/src/main/typescript/routing-interface/RIFError"; import { TemplateTradeManagement } from "./TemplateTradeManagement"; const fs = require("fs"); diff --git a/examples/cartrade/trades.ts b/examples/cartrade/trades.ts index 6a1719ad680..ed6b7906ac2 100644 --- a/examples/cartrade/trades.ts +++ b/examples/cartrade/trades.ts @@ -6,9 +6,9 @@ */ import { Router, NextFunction, Request, Response } from "express"; -import { TransactionManagement } from "../../packages/cactus-cmd-socketio-server/src/main/typescript/routing-interface/TransactionManagement"; -import { RIFError } from "../../packages/cactus-cmd-socketio-server/src/main/typescript/routing-interface/RIFError"; -import { ConfigUtil } from "../../packages/cactus-cmd-socketio-server/src/main/typescript/routing-interface/util/ConfigUtil"; +import { TransactionManagement } from "@hyperledger/cactus-cmd-socket-server/src/main/typescript/routing-interface/TransactionManagement"; +import { RIFError } from "@hyperledger/cactus-cmd-socket-server/src/main/typescript/routing-interface/RIFError"; +import { ConfigUtil } from "@hyperledger/cactus-cmd-socket-server/src/main/typescript/routing-interface/util/ConfigUtil"; const fs = require("fs"); const path = require("path"); diff --git a/examples/cartrade/tsconfig.json b/examples/cartrade/tsconfig.json index 98a8691880f..8aa15b7e94d 100644 --- a/examples/cartrade/tsconfig.json +++ b/examples/cartrade/tsconfig.json @@ -66,7 +66,7 @@ // "emitDecoratorMetadata": true, /* Enables experimental support for emitting type metadata for decorators. */ /* Advanced Options */ "forceConsistentCasingInFileNames": true, /* Disallow inconsistently-cased references to the same file. */ - "outDir": "../../dist" + "outDir": "./dist" }, "include": [ "./*.ts", diff --git a/packages/cactus-cmd-socketio-server/Dockerfile b/packages/cactus-cmd-socketio-server/Dockerfile new file mode 100644 index 00000000000..445ef5e7b8f --- /dev/null +++ b/packages/cactus-cmd-socketio-server/Dockerfile @@ -0,0 +1,20 @@ +FROM node:12 + +ENV CACTUS_CMD_SOCKETIO_PATH=/opt/cactus-cmd-socketio-server +# Root dir must be src until cmd-socketio defines valid exports: +ENV CACTUS_CMD_SOCKETIO_BLP_PATH=${CACTUS_CMD_SOCKETIO_PATH}/src/main/typescript/business-logic-plugin/ + +WORKDIR ${CACTUS_CMD_SOCKETIO_PATH} + +# CMake is required by one of npm dependencies (install other packages in this step as well in the future) +RUN apt-get update && apt-get install -y cmake && rm -rf /var/lib/apt/lists/* + +COPY ./dist/ ./package.json ./ + +# --frozen-lockfile +RUN yarn install --production --non-interactive --cache-folder ./.yarnCache && \ + rm -rf ./.yarnCache && \ + yarn link + +VOLUME ["/etc/cactus/"] +EXPOSE 5034 diff --git a/packages/cactus-cmd-socketio-server/copyStaticAssets.ts b/packages/cactus-cmd-socketio-server/copyStaticAssets.ts index cc5a73955ee..66065d73629 100644 --- a/packages/cactus-cmd-socketio-server/copyStaticAssets.ts +++ b/packages/cactus-cmd-socketio-server/copyStaticAssets.ts @@ -13,6 +13,9 @@ import * as shell from "shelljs"; shell.cp( "-R", "./src/main/typescript/verifier/validatorKey/", - "../../dist/packages/cactus-cmd-socketio-server/src/main/typescript/verifier/" + "./dist/src/main/typescript/verifier/", ); + shell.cp("-R", "../../etc/cactus/*.yaml", "/etc/cactus/"); + +shell.cp("../../yarn.lock", "./dist"); diff --git a/packages/cactus-cmd-socketio-server/package.json b/packages/cactus-cmd-socketio-server/package.json index 8eb24879cb4..df9872b9ac8 100644 --- a/packages/cactus-cmd-socketio-server/package.json +++ b/packages/cactus-cmd-socketio-server/package.json @@ -10,7 +10,7 @@ }, "dependencies": { "@hyperledger/cactus-common": "1.0.0-rc.3", - "@types/node": "^14.0.24", + "@types/node": "^12.0.00", "body-parser": "^1.19.0", "cookie-parser": "~1.4.4", "debug": "~2.6.9", @@ -19,18 +19,19 @@ "express": "~4.16.1", "fabric-ca-client": "^1.4.0", "fabric-network": "^1.4.0", - "http-errors": "~1.6.3", + "js-yaml": "3.14.1", "jsonwebtoken": "^8.5.1", + "jsrsasign": "^10.5.0", "log4js": "^3.0.6", "morgan": "~1.9.1", "shelljs": "^0.8.4", "socket.io": "4.1.3", "socket.io-client": "4.1.3", - "ts-node": "8.9.1", "web3": "^1.2.9", "xmlhttprequest": "^1.8.0" }, "devDependencies": { - "@hyperledger/cactus-test-tooling": "1.0.0-rc.3" + "@hyperledger/cactus-test-tooling": "1.0.0-rc.3", + "ts-node": "8.9.1" } } diff --git a/packages/cactus-cmd-socketio-server/tsconfig.json b/packages/cactus-cmd-socketio-server/tsconfig.json index 9a53bcdb15b..931fb41465c 100644 --- a/packages/cactus-cmd-socketio-server/tsconfig.json +++ b/packages/cactus-cmd-socketio-server/tsconfig.json @@ -2,7 +2,7 @@ "extends": "../../tsconfig.base.json", "compilerOptions": { "composite": true, - "outDir": "../../dist/packages/cactus-cmd-socketio-server/", + "outDir": "./dist/", "tsBuildInfoFile": "../../.build-cache/cactus-cmd-socketio-server.tsbuildinfo", "strict": false // TODO - Change to true, fix warnings, enable jest tests in global config }, diff --git a/packages/cactus-plugin-ledger-connector-fabric-socketio/.dockerignore b/packages/cactus-plugin-ledger-connector-fabric-socketio/.dockerignore new file mode 100644 index 00000000000..6e6928717a5 --- /dev/null +++ b/packages/cactus-plugin-ledger-connector-fabric-socketio/.dockerignore @@ -0,0 +1,2 @@ +# Ignore fabric wallet that could be created in dist/ +./dist/wallet/ \ No newline at end of file diff --git a/packages/cactus-plugin-ledger-connector-fabric-socketio/Dockerfile b/packages/cactus-plugin-ledger-connector-fabric-socketio/Dockerfile new file mode 100644 index 00000000000..ce5331d2e8a --- /dev/null +++ b/packages/cactus-plugin-ledger-connector-fabric-socketio/Dockerfile @@ -0,0 +1,14 @@ +# TODO +# Install connector as yarn package like in @hyperledger/cactus-plugin-ledger-connector-besu + +FROM node:12 + +WORKDIR /root/cactus/ + +COPY ./dist ./dist/ +COPY ./dist/yarn.lock ./package.json ./ +RUN yarn install --production --frozen-lockfile --non-interactive --cache-folder ./.yarnCache; rm -rf ./.yarnCache + +EXPOSE 5040 +VOLUME ["/etc/cactus/"] +ENTRYPOINT ["npm", "run", "start"] diff --git a/packages/cactus-plugin-ledger-connector-fabric-socketio/package.json b/packages/cactus-plugin-ledger-connector-fabric-socketio/package.json index 7efb29b39ea..1dca22112a5 100644 --- a/packages/cactus-plugin-ledger-connector-fabric-socketio/package.json +++ b/packages/cactus-plugin-ledger-connector-fabric-socketio/package.json @@ -6,11 +6,12 @@ "start": "cd ./dist && node common/core/bin/www.js", "debug": "nodemon --inspect ./dist/common/core/bin/www.js", "build": "npm run codegen && npm run build-ts && npm run build:dev:backend:postbuild", - "codegen": "npm run copy-utility-assets && rm -fr ./dist/wallet", + "codegen": "rm -fr ./dist/wallet && npm run copy-utility-assets", "build-ts": "tsc", - "build:dev:backend:postbuild": "npm run copy-static-assets", + "build:dev:backend:postbuild": "npm run copy-static-assets && npm run prepare-docker-build", "copy-utility-assets": "ts-node copyUtilityAssets.ts", - "copy-static-assets": "ts-node copyStaticAssets.ts" + "copy-static-assets": "ts-node copyStaticAssets.ts", + "prepare-docker-build": "cp -af ../../yarn.lock ./dist/yarn.lock" }, "dependencies": { "@types/node": "^14.14.5", diff --git a/packages/cactus-plugin-ledger-connector-fabric-socketio/script-build-validator.sh b/packages/cactus-plugin-ledger-connector-fabric-socketio/script-build-validator.sh index 953004b8089..ef2db1c81d1 100755 --- a/packages/cactus-plugin-ledger-connector-fabric-socketio/script-build-validator.sh +++ b/packages/cactus-plugin-ledger-connector-fabric-socketio/script-build-validator.sh @@ -3,3 +3,4 @@ ## Build a validator for Fabric echo "[process] Build a validator for Fabric" +DOCKER_BUILDKIT=1 docker build . -f Dockerfile -t fabric-socketio-validator diff --git a/packages/cactus-plugin-ledger-connector-fabric-socketio/script-start-validator.sh b/packages/cactus-plugin-ledger-connector-fabric-socketio/script-start-validator.sh index 65d399c965f..3f2c72be22f 100755 --- a/packages/cactus-plugin-ledger-connector-fabric-socketio/script-start-validator.sh +++ b/packages/cactus-plugin-ledger-connector-fabric-socketio/script-start-validator.sh @@ -3,5 +3,4 @@ ## Start a validator for Fabric echo "[process] Start a validator for Fabric" -rm -fr ./dist/wallet -npm run start +docker run --privileged --rm --net=host --name fabric_val fabric-socketio-validator diff --git a/packages/cactus-plugin-ledger-connector-fabric-socketio/src/main/typescript/common/build/Dockerfile b/packages/cactus-plugin-ledger-connector-fabric-socketio/src/main/typescript/common/build/Dockerfile deleted file mode 100644 index fa6a7d59d78..00000000000 --- a/packages/cactus-plugin-ledger-connector-fabric-socketio/src/main/typescript/common/build/Dockerfile +++ /dev/null @@ -1,16 +0,0 @@ -# Copyright 2021 Hyperledger Cactus Contributors -# SPDX-License-Identifier: Apache-2.0 -FROM hyperledger/fabric-ccenv:x86_64-1.0.4 -#ENV http_proxy $HTTP_PROXY -#ENV https_proxy $HTTP_PROXY -#ENV HTTP_PROXY $HTTP_PROXY -#ENV HTTPS_PROXY $HTTP_PROXY -#ENV NO_PROXY "rest-server,ec1-connector,ec2-connector,geth1,geth2" -RUN apt update -RUN apt-get install -y screen -RUN apt-get install -y npm -#RUN npm -g config set proxy $HTTP_PROXY -RUN npm -g install n -RUN n --version -RUN n 8.9.0 -RUN npm -g install express diff --git a/packages/cactus-plugin-ledger-connector-fabric-socketio/src/main/typescript/connector/PluginConfig.ts b/packages/cactus-plugin-ledger-connector-fabric-socketio/src/main/typescript/connector/PluginConfig.ts index cc7174a0149..3052424aeb4 100644 --- a/packages/cactus-plugin-ledger-connector-fabric-socketio/src/main/typescript/connector/PluginConfig.ts +++ b/packages/cactus-plugin-ledger-connector-fabric-socketio/src/main/typescript/connector/PluginConfig.ts @@ -11,31 +11,31 @@ * Definition value specific to the connection destination dependent part */ +// TODO - Zrob ten plik jako szablon? Tak zeby user musial go zmieniac + export const SplugConfig = { fabric: { mspid: "Org1MSP", - keystore: "./wallet", + keystore: "/etc/cactus/fabric/wallet", connUserName: "user1", contractName: "fabcar", peers: [ { name: "peer0.org1.example.com", - requests: "grpcs://localhost:7051", - // WARNING - REMEMBER TO UPADATE THE PATH + requests: "grpcs://cartrade_faio14x_testnet:7051", tlsca: - "../../../examples/discounted-cartrade/crypto-config/tlsca.org1.example.com-cert.pem", + "/etc/cactus/fabric/crypto-config/peerOrganizations/org1.example.com/tlsca/tlsca.org1.example.com-cert.pem", }, ], orderer: { name: "orderer.example.com", - url: "grpcs://localhost:7050", - // WARNING - REMEMBER TO UPADATE THE PATH + url: "grpcs://cartrade_faio14x_testnet:7050", tlsca: - "../../../examples/discounted-cartrade/crypto-config/tlsca.example.com-cert.pem", + "/etc/cactus/fabric/crypto-config/ordererOrganizations/example.com/tlsca/tlsca.example.com-cert.pem", }, ca: { name: "ca-org1", - url: "https://localhost:7054", + url: "https://cartrade_faio14x_testnet:7054", }, submitter: { name: "admin", diff --git a/packages/cactus-plugin-ledger-connector-fabric-socketio/src/main/typescript/connector/fabricaccess.ts b/packages/cactus-plugin-ledger-connector-fabric-socketio/src/main/typescript/connector/fabricaccess.ts index 85a9e716233..bacb12f3655 100644 --- a/packages/cactus-plugin-ledger-connector-fabric-socketio/src/main/typescript/connector/fabricaccess.ts +++ b/packages/cactus-plugin-ledger-connector-fabric-socketio/src/main/typescript/connector/fabricaccess.ts @@ -62,7 +62,12 @@ export function getSubmitterAndEnroll(cli: FabricClient): Promise { trustedRoots: Buffer.from([]), verify: false, }; - const cop = new copService(caUrl, tlsOptions, caName, cryptoSuite); + const cop = new copService( + caUrl, + tlsOptions, + caName, + cryptoSuite as any, + ); return cop .enroll({ enrollmentID: submitter.name, @@ -123,7 +128,6 @@ export async function getClientAndChannel( "ssl-target-name-override": SplugConfig.fabric.orderer.name, }); channel.addOrderer(orderer); - logger.error(process.cwd()); // TODO - REMOVE // EP settings for (let i = 0; i < SplugConfig.fabric.peers.length; i++) { const peerCA = fs.readFileSync( diff --git a/packages/cactus-plugin-ledger-connector-go-ethereum-socketio/docker-compose.yaml b/packages/cactus-plugin-ledger-connector-go-ethereum-socketio/docker-compose.yaml deleted file mode 100644 index e42ef24bb7d..00000000000 --- a/packages/cactus-plugin-ledger-connector-go-ethereum-socketio/docker-compose.yaml +++ /dev/null @@ -1,37 +0,0 @@ -version: "3" -services: - hyperledger-cactus-plugin-ledger-connector-go-ethereum-socketio: - container_name: hyperledger-cactus-plugin-ledger-connector-go-ethereum-socketio - image: hyperledger-cactus-plugin-ledger-connector-go-ethereum-socketio - build: - context: ./ - dockerfile: Dockerfile - args: - - HTTP_PROXY=$HTTP_PROXY - - http_proxy=$HTTP_PROXY - - HTTPS_PROXY=$HTTPS_PROXY - - https_proxy=$HTTP_PROXY - - FTP_PROXY=$HTTP_PROXY - - ftp_proxy=$HTTP_PROXY - - NO_PROXY=$NO_PROXY - - no_proxy=$NO_PROXY - ports: - - "5050:5050" - environment: - - HTTP_PROXY=$HTTP_PROXY - - http_proxy=$HTTP_PROXY - - HTTPS_PROXY=$HTTPS_PROXY - - https_proxy=$HTTP_PROXY - - FTP_PROXY=$HTTP_PROXY - - ftp_proxy=$HTTP_PROXY - - NO_PROXY=$NO_PROXY - - no_proxy=$NO_PROXY - working_dir: /root/cactus/ - entrypoint: "npm run start" - #networks: - # - geth1net - -networks: - default: - external: - name: geth1net \ No newline at end of file diff --git a/tools/docker/fabric-all-in-one/docker-compose-v1.4.yml b/tools/docker/fabric-all-in-one/docker-compose-v1.4.yml new file mode 100644 index 00000000000..7f7127b3d5a --- /dev/null +++ b/tools/docker/fabric-all-in-one/docker-compose-v1.4.yml @@ -0,0 +1,24 @@ +version: "3" + +services: + fabric-all-in-one-testnet-14: + container_name: ${CACTUS_FABRIC_ALL_IN_ONE_CONTAINER_NAME:-fabric_all_in_one_testnet_14} + image: ${CACTUS_FABRIC_ALL_IN_ONE_IMAGE_NAME:-faio14x} + privileged: true + build: + context: ./ + dockerfile: Dockerfile_v1.4.x + ports: + - "4022:22" # SSH + - "7051:7051" # peer0.org1.example.com + - "8051:8051" # peer1.org1.example.com + - "7054:7054" # ca.org1.example.com + - "7050:7050" # orderer.example.com + environment: + - FABRIC_VERSION=${CACTUS_FABRIC_ALL_IN_ONE_VERSION:-1.4.8} + networks: + - testnet-14 + +networks: + testnet-14: + driver: bridge \ No newline at end of file diff --git a/tools/docker/fabric-all-in-one/fabcar-cli-1.4/query.js b/tools/docker/fabric-all-in-one/fabcar-cli-1.4/query.js index b184697f642..a211bf367a2 100644 --- a/tools/docker/fabric-all-in-one/fabcar-cli-1.4/query.js +++ b/tools/docker/fabric-all-in-one/fabcar-cli-1.4/query.js @@ -25,7 +25,8 @@ async function main() { 'An identity for the user "user1" does not exist in the wallet', ); console.log("Run the registerUser.js application before retrying"); - return; + // EDIT - Return error code when identity is missing + process.exit(2); } // Create a new gateway for connecting to our peer node. diff --git a/tools/docker/fabric-all-in-one/fabcar-cli-1.4/setup.sh b/tools/docker/fabric-all-in-one/fabcar-cli-1.4/setup.sh index 8b210e35cbc..1443b0a8384 100755 --- a/tools/docker/fabric-all-in-one/fabcar-cli-1.4/setup.sh +++ b/tools/docker/fabric-all-in-one/fabcar-cli-1.4/setup.sh @@ -5,7 +5,7 @@ # Exit on error set -e -FABRIC_CONTAINER_NAME=fabcar14_sample_setup +FABRIC_CONTAINER_NAME=${CACTUS_FABRIC_ALL_IN_ONE_CONTAINER_NAME:-cartrade_faio14x_testnet} if ! [ "$(docker inspect -f '{{.State.Running}}' ${FABRIC_CONTAINER_NAME})" == "true" ] then @@ -19,6 +19,15 @@ rm -fr ./connection.json docker cp ${FABRIC_CONTAINER_NAME}:/fabric-samples/first-network/connection-org1.json ./connection.json echo "Done!" +if node ./query.js &> /dev/null +then + echo "Query already works - use current wallet" + exit 0 +fi + +echo "Could not query the ledger with current wallet - clear it" +rm -rf ./wallet/* + echo -e "\nEnroll admin and user1" echo "*********************************" node ./enrollAdmin.js diff --git a/tools/docker/fabric-all-in-one/script-run-docker-1.4.sh b/tools/docker/fabric-all-in-one/script-run-docker-1.4.sh deleted file mode 100755 index 39cdf9dd404..00000000000 --- a/tools/docker/fabric-all-in-one/script-run-docker-1.4.sh +++ /dev/null @@ -1,50 +0,0 @@ -#!/usr/bin/env bash -# Copyright 2020-2021 Hyperledger Cactus Contributors -# SPDX-License-Identifier: Apache-2.0 - -# Description: -# Helper script to run fabric-all-in-one and publish -# FabCar ports to local environment (used by example apps) - -# Exit on error -set -e - -IMAGE_NAME=faio14x -DOCKERFILE=Dockerfile_v1.4.x -FABRIC_VERSION=1.4.8 -CONTAINER_NAME=fabcar14_sample_setup - -# Start docker environment for Fabric testnets -if ! [ "$(docker inspect -f '{{.State.Running}}' ${CONTAINER_NAME})" == "true" ] -then - DOCKER_BUILDKIT=1 docker build . -f ${DOCKERFILE} -t ${IMAGE_NAME} - - rm -rf ./fabcar-cli-1.4/wallet - - ## PORTS - # 4022 - SSH - # 7051 - peer0.org1.example.com - # 8051 - peer1.org1.example.com - # 7054 - ca.org1.example.com - # 7050 - orderer.example.com - docker run --detach --privileged \ - -p 4022:22 \ - -p 7051:7051 \ - -p 8051:8051 \ - -p 7054:7054 \ - -p 7050:7050 \ - --name ${CONTAINER_NAME} \ - --env FABRIC_VERSION=${FABRIC_VERSION} \ - ${IMAGE_NAME} -fi - -# Wait for fabric cotnainer to become healthy -health_status="$(docker inspect -f '{{.State.Health.Status}}' ${CONTAINER_NAME})" -while ! [ "${health_status}" == "healthy" ] -do - echo "Waiting for fabric container... current status => ${health_status}" - sleep 30 - health_status="$(docker inspect -f '{{.State.Health.Status}}' ${CONTAINER_NAME})" -done - -echo "Fabric 1.4 FabCar started." diff --git a/yarn.lock b/yarn.lock index 191e5966c37..65fca3c67fd 100644 --- a/yarn.lock +++ b/yarn.lock @@ -14507,6 +14507,16 @@ jsrsasign@^10.4.1: resolved "https://registry.yarnpkg.com/jsrsasign/-/jsrsasign-10.5.0.tgz#28acf0dbe7565633d306190fd9400c38dd862cb0" integrity sha512-AC1kfL1LJASKBLGv4bLLl+auFlsBajOxEcggL7fn8cp7nMRPhyln3LK/Q9lEDCrxYFU35NGUeFtUBCbasoF2Uw== +jsrsasign@^10.5.0: + version "10.5.1" + resolved "https://registry.yarnpkg.com/jsrsasign/-/jsrsasign-10.5.1.tgz#85dc7c6c3f6a5fded26030971c08ce5058f525f6" + integrity sha512-yW0fq87KNZFw4Pn5ySllXs3ztZAROQZczEheKZTqmiNpCe/Xj9r5NhuAQ7MXTOyEZGJ/+MPHGTsfbgPFaLpwHQ== + +jsrsasign@^8.0.20: + version "8.0.24" + resolved "https://registry.yarnpkg.com/jsrsasign/-/jsrsasign-8.0.24.tgz#fc26bac45494caac3dd8f69c1f95847c4bda6c83" + integrity sha512-u45jAyusqUpyGbFc2IbHoeE4rSkoBWQgLe/w99temHenX+GyCz4nflU5sjK7ajU1ffZTezl6le7u43Yjr/lkQg== + jszip@^3.1.3: version "3.7.1" resolved "https://registry.yarnpkg.com/jszip/-/jszip-3.7.1.tgz#bd63401221c15625a1228c556ca8a68da6fda3d9" @@ -14757,6 +14767,13 @@ kind-of@^6.0.0, kind-of@^6.0.2, kind-of@^6.0.3: resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== +klaw@2.1.1, klaw@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/klaw/-/klaw-2.1.1.tgz#42b76894701169cc910fd0d19ce677b5fb378af1" + integrity sha1-QrdolHARacyRD9DRnOZ3tfs3ivE= + dependencies: + graceful-fs "^4.1.9" + klaw@^1.0.0: version "1.3.1" resolved "https://registry.yarnpkg.com/klaw/-/klaw-1.3.1.tgz#4088433b46b3b1ba259d78785d8e96f73ba02439" @@ -14764,11 +14781,6 @@ klaw@^1.0.0: optionalDependencies: graceful-fs "^4.1.9" -klaw@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/klaw/-/klaw-4.0.1.tgz#8dc6f5723f05894e8e931b516a8ff15c2976d368" - integrity sha512-pgsE40/SvC7st04AHiISNewaIMUbY5V/K8b21ekiPiFoYs/EYSdsGa+FJArB1d441uq4Q8zZyIxvAzkGNlBdRw== - kleur@^3.0.3: version "3.0.3" resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e"