Hello, I am studying the wallet functionality from here.
I can see that the user Isabella can have multiple identities so I
understand that in the chaincode I can verify not only the user
but the identity (e.g ID1, ID2) of the user too (who invoked the
transaction). Therefore, my questions are:
1) Is there any code sample that does that verification inside the
chaincode?
2) How can select from my client application a specific ID from
the wallet in order to invoke the transaction? (eg. ID1)
Thanks,
-- Nikos Karamolegkos R & D engineer at ICS-FORTH Telecommunications and Networks Lab (TNL)
Hi Everyone,I have some questions with respect to Hyperledger MiniFabric. Kindly help me with respect to it:1) Shall I use Minifabric to implement any application?2) Which database is used by MiniFabric (LevelDB or CouchDB)?3) Are there any constraints while using MiniFabric?4) Is it good to use for our applications?Thank you.With regards,R.Sasikumar.
openssl verify -verbose -CAfile <
Root certificate> <certificate>
Hi, I was reading the source code of hyperledger fabric, and reading the log of a peer in a DEBUG mode.
I wonder how fabric peer know the information of the certificate authorites of its own Org?
For example,
(1) address: I didn't find it
(2) name: I didn't find it
(3) pem file: pem file is detected when starting a peer inside /internal/peer/node/start.go, the method serve()
Thanks in advance.
1. A single Organization: www.myorg.com
2. In this Org, I have 3 Regions: USA, APAC, EMEA
3. The Organization has a Primary CA for all three Regions.
a. Org has three business units (BU) that are comprised of three Departments: Legal, Finance, and Operations
(1). Each BU maintain their own secrets that are not visible to other Business Unit Users
(2). There are some files or assets that are public and available to everyone
4. There is a Master key that allows access to every asset in the corporation
How would I create this environment in miniFabric?
I wonder how fabric peer know the information of the certificate authorites of its own Org?
For example,
(1) address: I didn't find it
(2) name: I didn't find it
(3) pem file: pem file is detected when starting a peer inside /internal/peer/node/start.go, the method serve()
Thanks in advance.
Kavin Arumugam
Mobile: +91 7373 36 86 36
LinkedIn: @karthikkavina
In addition, the chaincode-as-a-service model is also useful here, as it can be started/stopped in much the same way as dev mode.Regards, Matthew.Matthew B White IBM Blockchain Solutions ArchitectEmail me at WHITEMAT@...Find me on StackOverflow, and generally at calanais.me.ukNote: restricted availability for meetings 14:30 to 17:00 UK TuesdayIBM United Kingdom Limited, Hursley Park, Winchester, Hampshire, SO21 2JN
"The wrong answers are the ones you go looking for when the right answers stare you in the face"
----- Original message -----
From: "Kavin Arumugam" <a.kavin24@...>
Sent by: fabric@...
To: pham.qtpham@...
Cc: "fabric" <fabric@...>
Subject: [EXTERNAL] Re: [Hyperledger Fabric] How to update/re-deploy the chaincode without restart the whole network?
Date: Thu, Nov 11, 2021 11:20 AM
Hi Pham, Restarting a network or Recreating a Channel is not required, when you want to upgrade a Chaincode. You can use the Fabric chaincode lifecycle process to upgrade a chaincode that has already been deployed to a channel. Please refer ZjQcmQRYFpfptBannerStartZjQcmQRYFpfptBannerEndThis Message Is From an External SenderThis message came from outside your organization.
Hi Pham,Restarting a network or Recreating a Channel is not required, when you want to upgrade a Chaincode.
You can use the Fabric chaincode lifecycle process to upgrade a chaincode that has already been deployed to a channel.
Please refer to the following link for details.
https://hyperledger-fabric.readthedocs.io/en/release-2.2/chaincode_lifecycle.html#upgrade-a-chaincode
https://hyperledger-fabric.readthedocs.io/en/release-2.2/deploy_chaincode.html#upgrading-a-smart-contract
Suppose if you are iteratively developing and testing the chaincode, consider the following link
https://hyperledger-fabric.readthedocs.io/en/release-2.3/peer-chaincode-devmode.html
Thanks & RegardsKavin ArumugamLinkedIn: @karthikkavinaOn Thu, Nov 11, 2021 at 12:57 PM <pham.qtpham@...> wrote:Hi,
My chain codes using Javascript is working fine. Now I change my chain codes and now I want to re-reploy in the HLF V2. Usually I need to restart the Network , re-create Channel and then deploy the newly updated chain codes.
How can I do this without restart the whole network?
Thx,
Trung
Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number 741598.
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU
"The wrong answers are the ones you go looking for when the right answers stare you in the face"
----- Original message -----
From: "Kavin Arumugam" <a.kavin24@...>
Sent by: fabric@...
To: pham.qtpham@...
Cc: "fabric" <fabric@...>
Subject: [EXTERNAL] Re: [Hyperledger Fabric] How to update/re-deploy the chaincode without restart the whole network?
Date: Thu, Nov 11, 2021 11:20 AM
Hi Pham, Restarting a network or Recreating a Channel is not required, when you want to upgrade a Chaincode. You can use the Fabric chaincode lifecycle process to upgrade a chaincode that has already been deployed to a channel. Please refer ZjQcmQRYFpfptBannerStartZjQcmQRYFpfptBannerEndThis Message Is From an External SenderThis message came from outside your organization.
Hi Pham,Restarting a network or Recreating a Channel is not required, when you want to upgrade a Chaincode.
You can use the Fabric chaincode lifecycle process to upgrade a chaincode that has already been deployed to a channel.
Please refer to the following link for details.
https://hyperledger-fabric.readthedocs.io/en/release-2.2/chaincode_lifecycle.html#upgrade-a-chaincode
https://hyperledger-fabric.readthedocs.io/en/release-2.2/deploy_chaincode.html#upgrading-a-smart-contract
Suppose if you are iteratively developing and testing the chaincode, consider the following link
https://hyperledger-fabric.readthedocs.io/en/release-2.3/peer-chaincode-devmode.html
Thanks & RegardsKavin ArumugamLinkedIn: @karthikkavinaOn Thu, Nov 11, 2021 at 12:57 PM <pham.qtpham@...> wrote:Hi,
My chain codes using Javascript is working fine. Now I change my chain codes and now I want to re-reploy in the HLF V2. Usually I need to restart the Network , re-create Channel and then deploy the newly updated chain codes.
How can I do this without restart the whole network?
Thx,
Trung
Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number 741598.
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU
"The wrong answers are the ones you go looking for when the right answers stare you in the face"
----- Original message -----
From: "satheesh via lists.hyperledger.org" <ctsatheesh=yahoo.com@...>
Sent by: fabric@...
To: "fabric@..." <fabric@...>, "Nitish Joshi" <nitishjoshi060291@...>
Cc:
Subject: [EXTERNAL] Re: [Hyperledger Fabric] Expose Hyperledger as REST
Date: Thu, Nov 11, 2021 2:36 PM
Hello Nitish, I don't think fabric has this capability out of box. You can write your own service say for e.g., Node.js rest service to invoke chaincode and use that for integration with UI. Regards, Satheesh ZjQcmQRYFpfptBannerStartZjQcmQRYFpfptBannerEndThis Message Is From an External SenderThis message came from outside your organization.
Hello Nitish,I don't think fabric has this capability out of box. You can write your own service say for e.g., Node.js rest service to invoke chaincodeand use that for integration with UI.Regards,SatheeshOn Thursday, November 11, 2021, 03:56:56 PM GMT+5:30, Nitish Joshi <nitishjoshi060291@...> wrote:I have setup Hyperledger fabric on machine and deployed some of my chaincodes on it. Can someone help me with the documentation that how I can expose it as REST to perform the integration testing with front end.
Regards
Nitish Joshi
Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number 741598.
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU
I have setup Hyperledger fabric on machine and deployed some of my chaincodes on it. Can someone help me with the documentation that how I can expose it as REST to perform the integration testing with front end.
Regards
Nitish Joshi
Restarting a network or Recreating a Channel is not required, when you want to upgrade a Chaincode.
You can use the Fabric chaincode lifecycle process to upgrade a chaincode that has already been deployed to a channel.
Please refer to the following link for details.
https://hyperledger-fabric.readthedocs.io/en/release-2.2/chaincode_lifecycle.html#upgrade-a-chaincode
https://hyperledger-fabric.readthedocs.io/en/release-2.2/deploy_chaincode.html#upgrading-a-smart-contract
Suppose if you are iteratively developing and testing the chaincode, consider the following link
https://hyperledger-fabric.readthedocs.io/en/release-2.3/peer-chaincode-devmode.html
Hi,
My chain codes using Javascript is working fine. Now I change my chain codes and now I want to re-reploy in the HLF V2. Usually I need to restart the Network , re-create Channel and then deploy the newly updated chain codes.
How can I do this without restart the whole network?
Thx,
Trung
My chain codes using Javascript is working fine. Now I change my chain codes and now I want to re-reploy in the HLF V2. Usually I need to restart the Network , re-create Channel and then deploy the newly updated chain codes.
How can I do this without restart the whole network?
Thx,
Trung
Hello Johnny,
We will fix this compilation messages soon, but do not worry, your HL Fabric is good to go.
Do not forget to run the script:
./run-cc-web.sh 8080 >> /dev/null &
This will allow you to use the web app integrated with your chaincode.
If you have any other questions, contact us at our Discord community.
Regards,
Marcos Sarres | CEO | +55 61 98116 7866
De: fabric@... <fabric@...> Em nome de WebZest
Enviada em: quarta-feira, 10 de novembro de 2021 17:29
Para: fabric@...
Assunto: [Hyperledger Fabric] Having lots of difficulties installing the code for a working development environment or otherwise. #fabric
Hello,
I have tried to setup the development environment, from some reliable sources of installation, such as GoLedger; however, my results are not as described on the Goledger pages. For example, I am not getting the Install network Chaincode portion in the report when I call ./startDev.sh. Please see below.
I tried to update the prerequisites sh file to install the latest version of Golang and Node as well as running the sh file that installs the prerequisites as is, but the results are the same; they do not match the goLedger instructions page and getting lots of errors in the reports: GoLedger
I am getting errors and can't verify the results because they do not match the instruction pages from GoLedger.
---------------------------------------
johnny@JSHLF:~/cc-tools-demo$ ./startDev.sh
"docker rmi" requires at least 1 argument.
See 'docker rmi --help'.
Usage: docker rmi [OPTIONS] IMAGE [IMAGE...]
Remove one or more images
4b59d9aea77278c9316486ba13d284d962e17117a0485d0d881ef7792bbfb1c8
5aabadde77a0dd187bc01c846ea5cfc07d86ca87f70f8c7516482dcc29689b05
9e9392a2028e08a9f15eb2e2a9772ea1df539739ca801c8ac0a0252bf11e45bb
24a87e5b059bf3fa93c2e61ea9cbbed3f216e9fff46dfe6ed5c42b9604768fb8
fabric_orderer0.org1.example.com
fabric_orderer0.org2.example.com
fabric_orderer0.org3.example.com
fabric_peer0.org1.example.com
fabric_peer0.org2.example.com
fabric_peer0.org3.example.com
No stopped containers
Untagged: dev-peer0.org1.example.com-cc-tools-demo-0.1-a901886cfe68914269e138b122307822ea9170c9b2da50077ec3ec7ff2d21732:latest
Deleted: sha256:fbc5ca08a04347c455ede26ef6a8db504a0788f1e96849388bad7db43a81fa31
Deleted: sha256:d5a47ae22de2985392e301bf22ae96c8139d6b9f969c97c6a15c777f7716626f
Deleted: sha256:82ec4a9d3e2a263586c792f2c4eb0f884406ebf5505a8a4278906e4c217227ca
Deleted: sha256:1285434ae9a079c25707cab1d337ebc97007398a9b127e294660fefaebdb67fc
Network cc-tools-demo-net is external, skipping
Removing volume fabric_orderer0.org1.example.com
WARNING: Volume fabric_orderer0.org1.example.com not found.
Removing volume fabric_peer0.org1.example.com
WARNING: Volume fabric_peer0.org1.example.com not found.
Removing volume fabric_orderer0.org2.example.com
WARNING: Volume fabric_orderer0.org2.example.com not found.
Removing volume fabric_peer0.org2.example.com
WARNING: Volume fabric_peer0.org2.example.com not found.
Removing volume fabric_orderer0.org3.example.com
WARNING: Volume fabric_orderer0.org3.example.com not found.
Removing volume fabric_peer0.org3.example.com
WARNING: Volume fabric_peer0.org3.example.com not found.
Error response from daemon: network with name cc-tools-demo-net already exists
"docker volume rm" requires at least 1 argument.
See 'docker volume rm --help'.
Usage: docker volume rm [OPTIONS] VOLUME [VOLUME...]
Remove one or more volumes
WARNING! This will remove all local volumes not used by at least one container.
Are you sure you want to continue? [y/N] Total reclaimed space: 0B
Error response from daemon: network with name cc-tools-demo-net already exists
Pulling orderer0.org1.example.com ... done
Pulling peer0.org1.example.com ... done
Pulling couch.peer0.org1.example.com ... done
Pulling orderer0.org2.example.com ... done
Pulling peer0.org2.example.com ... done
Pulling couch.peer0.org2.example.com ... done
Pulling orderer0.org3.example.com ... done
Pulling peer0.org3.example.com ... done
Pulling couch.peer0.org3.example.com ... done
Pulling api.org1.example.com ... done
Pulling api.org2.example.com ... done
Pulling api.org3.example.com ... done
Pulling cli ... done
Creating volume "fabric_orderer0.org1.example.com" with default driver
Creating volume "fabric_peer0.org1.example.com" with default driver
Creating volume "fabric_orderer0.org2.example.com" with default driver
Creating volume "fabric_peer0.org2.example.com" with default driver
Creating volume "fabric_orderer0.org3.example.com" with default driver
Creating volume "fabric_peer0.org3.example.com" with default driver
Creating peer0.org2.example.com ... done
Creating api.org3.example.com ... done
Creating cli ... done
Creating couch.peer0.org2.example.com ... done
Creating orderer0.org3.example.com ... done
Creating peer0.org1.example.com ... done
Creating api.org2.example.com ... done
Creating couch.peer0.org3.example.com ... done
Creating orderer0.org2.example.com ... done
Creating couch.peer0.org1.example.com ... done
Creating peer0.org3.example.com ... done
Creating api.org1.example.com ... done
Creating orderer0.org1.example.com ... done
Create channel - mainchannel
{"status":"SUCCESS","created":true}
Join org1 to channel
{"status":"SUCCESS"}
Join org2 to channel
{"status":"SUCCESS"}
Join org3 to channel
{"status":"SUCCESS"}
Update anchor peers on org1
{"status":"SUCCESS"}
Update anchor peers on org2
{"status":"SUCCESS"}
Update anchor peers on org3
{"status":"SUCCESS"}
Install chaincode on org1
{"status":"SUCCESS"}
Install chaincode on org2
{"status":"SUCCESS"}
Install chaincode on org3
{"status":"SUCCESS"}
Instantiate chaincode
{"started":true}
d116f24cdd8f
d116f24cdd8f
Network cc-tools-demo-net is external, skipping
Starting intermediate-container ... done
Creating ccapi.org1.example.com ... done
Creating ccapi.org2.example.com ... done
Creating ccapi.org3.example.com ... done
johnny@JSHLF:~/cc-tools-demo$ docker logs ccapi.org1.example.com
> cc-tools-demoapi@1.0.0 start /rest-server
> gulp default; gulp start
[19:59:38] Using gulpfile /rest-server/gulpfile.js
[19:59:38] Starting 'default'...
[19:59:38] Starting 'assets'...
[19:59:38] Finished 'default' after 28 ms
[19:59:38] Finished 'assets' after 29 ms
src/routes/chaincode/invokeTx.ts(30,7): error TS2322: Type 'string[] | ParsedQs[]' is not assignable to type 'string[]'.
Type 'ParsedQs[]' is not assignable to type 'string[]'.
Type 'ParsedQs' is not assignable to type 'string'.
src/routes/chaincode/invokeTx.ts(32,27): error TS2322: Type 'string | ParsedQs' is not assignable to type 'string'.
Type 'ParsedQs' is not assignable to type 'string'.
TypeScript: 2 semantic errors
TypeScript: emit succeeded (with errors)
Error: TypeScript: Compilation failed
at Output.mightFinish (/rest-server/node_modules/gulp-typescript/release/output.js:130:43)
at applySourceMap.then.appliedSourceMap (/rest-server/node_modules/gulp-typescript/release/output.js:43:22)
at <anonymous>
[20:00:46] Using gulpfile /rest-server/gulpfile.js
[20:00:46] Starting 'start'...
[20:00:46] [nodemon] 2.0.15
[20:00:46] [nodemon] to restart at any time, enter `rs`
[20:00:46] [nodemon] watching path(s): src/**/*
[20:00:46] [nodemon] watching extensions: js,mjs,json
[20:00:46] [nodemon] starting `node dist/`
Listening on port 80
johnny@JSHLF:~/cc-tools-demo$
Hello WebZest,
My name is Sam, from the GoLedger team.
We have since removed the networkChaincode functionality and this output from the documentation is outdated.
As long as you get a SUCCESS during the Chaincode Instantiation you’re good to go.
I apologize for this inconsistency and feel free to contact me if you need anymore help with cc-tools.
Best,
Sam
Kavin Arumugam
LinkedIn: @karthikkavina
Dear sir/madam,I have successfully executed the test-network which is available in the fabric-samples folder. It creates Org1 & Org2 with one peer each. If I need Org3 in my network, I can use the addOrg3.sh script file inside the addOrg3 folder. But my questions are:1. Like the Org3, I want to add more Org (Ex: Org4, Org5) in my network and also I want to change my Organization name(Ex: "Hospital" Instead of Org1) depending on my application. How can I do it? Which script files or yaml files do I need to modify?2. Is it possible to create more than one channel in my network structure? and each channel can have different Organizations. (Ex: channel1 for Org1, Org2, Org3. & Channel2 for Org1, Org2, Org4 likewise)Kindly suggest detailed tutorials or videos link for the same.Thank you.with regards,Sasikumar Rajendran.
Hi,If you're just getting started with Fabric development, I suggest using minifab to get up and running:--On Wed, Nov 10, 2021 at 12:28 PM WebZest <js@...> wrote:Hello,
I have tried to setup the development environment, from some reliable sources of installation, such as GoLedger; however, my results are not as described on the Goledger pages. For example, I am not getting the Install network Chaincode portion in the report when I call ./startDev.sh. Please see below.
I tried to update the prerequisites sh file to install the latest version of Golang and Node as well as running the sh file that installs the prerequisites as is, but the results are the same; they do not match the goLedger instructions page and getting lots of errors in the reports: GoLedger
Hello,
I have tried to setup the development environment, from some reliable sources of installation, such as GoLedger; however, my results are not as described on the Goledger pages. For example, I am not getting the Install network Chaincode portion in the report when I call ./startDev.sh. Please see below.
I tried to update the prerequisites sh file to install the latest version of Golang and Node as well as running the sh file that installs the prerequisites as is, but the results are the same; they do not match the goLedger instructions page and getting lots of errors in the reports: GoLedger
I have tried to setup the development environment, from some reliable sources of installation, such as GoLedger; however, my results are not as described on the Goledger pages. For example, I am not getting the Install network Chaincode portion in the report when I call ./startDev.sh. Please see below.
I tried to update the prerequisites sh file to install the latest version of Golang and Node as well as running the sh file that installs the prerequisites as is, but the results are the same; they do not match the goLedger instructions page and getting lots of errors in the reports: GoLedger
I am getting errors and can't verify the results because they do not match the instruction pages from GoLedger.
---------------------------------------johnny@JSHLF:~/cc-tools-demo$ ./startDev.sh"docker rmi" requires at least 1 argument.See 'docker rmi --help'.Usage: docker rmi [OPTIONS] IMAGE [IMAGE...]Remove one or more images4b59d9aea77278c9316486ba13d284d962e17117a0485d0d881ef7792bbfb1c85aabadde77a0dd187bc01c846ea5cfc07d86ca87f70f8c7516482dcc29689b059e9392a2028e08a9f15eb2e2a9772ea1df539739ca801c8ac0a0252bf11e45bb24a87e5b059bf3fa93c2e61ea9cbbed3f216e9fff46dfe6ed5c42b9604768fb8fabric_orderer0.org1.example.comfabric_orderer0.org2.example.comfabric_orderer0.org3.example.comfabric_peer0.org1.example.comfabric_peer0.org2.example.comfabric_peer0.org3.example.comNo stopped containersUntagged: dev-peer0.org1.example.com-cc-tools-demo-0.1-a901886cfe68914269e138b122307822ea9170c9b2da50077ec3ec7ff2d21732:latestDeleted: sha256:fbc5ca08a04347c455ede26ef6a8db504a0788f1e96849388bad7db43a81fa31Deleted: sha256:d5a47ae22de2985392e301bf22ae96c8139d6b9f969c97c6a15c777f7716626fDeleted: sha256:82ec4a9d3e2a263586c792f2c4eb0f884406ebf5505a8a4278906e4c217227caDeleted: sha256:1285434ae9a079c25707cab1d337ebc97007398a9b127e294660fefaebdb67fcNetwork cc-tools-demo-net is external, skippingRemoving volume fabric_orderer0.org1.example.comWARNING: Volume fabric_orderer0.org1.example.com not found.Removing volume fabric_peer0.org1.example.comWARNING: Volume fabric_peer0.org1.example.com not found.Removing volume fabric_orderer0.org2.example.comWARNING: Volume fabric_orderer0.org2.example.com not found.Removing volume fabric_peer0.org2.example.comWARNING: Volume fabric_peer0.org2.example.com not found.Removing volume fabric_orderer0.org3.example.comWARNING: Volume fabric_orderer0.org3.example.com not found.Removing volume fabric_peer0.org3.example.comWARNING: Volume fabric_peer0.org3.example.com not found.Error response from daemon: network with name cc-tools-demo-net already exists"docker volume rm" requires at least 1 argument.See 'docker volume rm --help'.Usage: docker volume rm [OPTIONS] VOLUME [VOLUME...]Remove one or more volumesWARNING! This will remove all local volumes not used by at least one container.Are you sure you want to continue? [y/N] Total reclaimed space: 0BError response from daemon: network with name cc-tools-demo-net already existsPulling orderer0.org1.example.com ... donePulling peer0.org1.example.com ... donePulling couch.peer0.org1.example.com ... donePulling orderer0.org2.example.com ... donePulling peer0.org2.example.com ... donePulling couch.peer0.org2.example.com ... donePulling orderer0.org3.example.com ... donePulling peer0.org3.example.com ... donePulling couch.peer0.org3.example.com ... donePulling api.org1.example.com ... donePulling api.org2.example.com ... donePulling api.org3.example.com ... donePulling cli ... doneCreating volume "fabric_orderer0.org1.example.com" with default driverCreating volume "fabric_peer0.org1.example.com" with default driverCreating volume "fabric_orderer0.org2.example.com" with default driverCreating volume "fabric_peer0.org2.example.com" with default driverCreating volume "fabric_orderer0.org3.example.com" with default driverCreating volume "fabric_peer0.org3.example.com" with default driverCreating peer0.org2.example.com ... doneCreating api.org3.example.com ... doneCreating cli ... doneCreating couch.peer0.org2.example.com ... doneCreating orderer0.org3.example.com ... doneCreating peer0.org1.example.com ... doneCreating api.org2.example.com ... doneCreating couch.peer0.org3.example.com ... doneCreating orderer0.org2.example.com ... doneCreating couch.peer0.org1.example.com ... doneCreating peer0.org3.example.com ... doneCreating api.org1.example.com ... doneCreating orderer0.org1.example.com ... doneCreate channel - mainchannel{"status":"SUCCESS","created":true}Join org1 to channel{"status":"SUCCESS"}Join org2 to channel{"status":"SUCCESS"}Join org3 to channel{"status":"SUCCESS"}Update anchor peers on org1{"status":"SUCCESS"}Update anchor peers on org2{"status":"SUCCESS"}Update anchor peers on org3{"status":"SUCCESS"}Install chaincode on org1{"status":"SUCCESS"}Install chaincode on org2{"status":"SUCCESS"}Install chaincode on org3{"status":"SUCCESS"}Instantiate chaincode{"started":true}d116f24cdd8fd116f24cdd8fNetwork cc-tools-demo-net is external, skippingStarting intermediate-container ... doneCreating ccapi.org1.example.com ... doneCreating ccapi.org2.example.com ... doneCreating ccapi.org3.example.com ... donejohnny@JSHLF:~/cc-tools-demo$ docker logs ccapi.org1.example.com> cc-tools-demoapi@1.0.0 start /rest-server> gulp default; gulp start[19:59:38] Using gulpfile /rest-server/gulpfile.js[19:59:38] Starting 'default'...[19:59:38] Starting 'assets'...[19:59:38] Finished 'default' after 28 ms[19:59:38] Finished 'assets' after 29 mssrc/routes/chaincode/invokeTx.ts(30,7): error TS2322: Type 'string[] | ParsedQs[]' is not assignable to type 'string[]'.Type 'ParsedQs[]' is not assignable to type 'string[]'.Type 'ParsedQs' is not assignable to type 'string'.src/routes/chaincode/invokeTx.ts(32,27): error TS2322: Type 'string | ParsedQs' is not assignable to type 'string'.Type 'ParsedQs' is not assignable to type 'string'.TypeScript: 2 semantic errorsTypeScript: emit succeeded (with errors)Error: TypeScript: Compilation failedat Output.mightFinish (/rest-server/node_modules/gulp-typescript/release/output.js:130:43)at applySourceMap.then.appliedSourceMap (/rest-server/node_modules/gulp-typescript/release/output.js:43:22)at <anonymous>[20:00:46] Using gulpfile /rest-server/gulpfile.js[20:00:46] Starting 'start'...[20:00:46] [nodemon] 2.0.15[20:00:46] [nodemon] to restart at any time, enter `rs`[20:00:46] [nodemon] watching path(s): src/**/*[20:00:46] [nodemon] watching extensions: js,mjs,json[20:00:46] [nodemon] starting `node dist/`Listening on port 80johnny@JSHLF:~/cc-tools-demo$