Commit graph

70 commits

Author SHA1 Message Date
sapthasurendran
0208892429
Go samples Migration to fabric-gateway (#561)
* go packages

Signed-off-by: sapthasurendran <saptha.surendran@ibm.com>

* Go sample Migration  to fabric-gateway

Signed-off-by: sapthasurendran <saptha.surendran@ibm.com>

lint script changes

Signed-off-by: sapthasurendran <saptha.surendran@ibm.com>

lint fixes

Signed-off-by: sapthasurendran <saptha.surendran@ibm.com>

Upgrade go to 1.16

Signed-off-by: sapthasurendran <saptha.surendran@ibm.com>

add go mod

Signed-off-by: sapthasurendran <saptha.surendran@ibm.com>

To match with docs

Signed-off-by: sapthasurendran <saptha.surendran@ibm.com>

lint updates

Signed-off-by: sapthasurendran <saptha.surendran@ibm.com>
2021-12-15 10:26:46 +00:00
Mark S. Lewis
72559dfbb5
More Gateway asset-transfer-basic tweaks to support docs (#556)
Signed-off-by: Mark S. Lewis <mark_lewis@uk.ibm.com>
2021-12-10 08:51:21 +00:00
Mark S. Lewis
f151039f8a
Updates to asset-transfer-basic Gateway sample to align with docs (#553)
Also install goimports globally to run the linting check rather than installing to each gomodule, which was causing dependency conflicts.

Signed-off-by: Mark S. Lewis <mark_lewis@uk.ibm.com>
2021-12-09 10:20:52 +00:00
sapthasurendran
e963ddc726
lint Fix (#555)
Signed-off-by: sapthasurendran <saptha.surendran@ibm.com>
2021-12-09 09:44:25 +00:00
sapthasurendran
3d17cf066d
Updated fabric-gateway changes and added node14 dependency (#539)
Signed-off-by: sapthasurendran <saptha.surendran@ibm.com>
2021-11-22 08:55:14 +00:00
James Taylor
60d5d3e218
Update application-gateway-typescript (#531)
The fabric-gateway node module has been renamed to @hyperledger/fabric-gateway

Signed-off-by: James Taylor <jamest@uk.ibm.com>
2021-11-11 09:35:50 +00:00
Tatsuya Sato
8c1c36ae09 Fix type error when using the latest sort-keys-recursive
The latest version (2.1.2) of sort-keys-recursive adds TypeScript
typing, which includes export default function.
This change has caused the TS2349 type error.

This patch modifies the import form in assetTransfer.ts to fix the error.

Signed-off-by: Tatsuya Sato <tatsuya.sato.so@hitachi.com>
2021-11-05 11:47:55 -04:00
sapthasurendran
5355fb1b39 Asset Transfer typescript app using fabric-gateway
Signed-off-by: sapthasurendran <saptha.surendran@ibm.com>

Added Fabric gateway and removed ca,tslint dependencies

Signed-off-by: sapthasurendran <saptha.surendran@ibm.com>

eslint migration

Signed-off-by: sapthasurendran <saptha.surendran@ibm.com>

Added gitignore

Signed-off-by: sapthasurendran <saptha.surendran@ibm.com>

Transaction Flow Changes

Signed-off-by: sapthasurendran <saptha.surendran@ibm.com>

Removed serviceClient import,removed outer try catch from main

Signed-off-by: sapthasurendran <saptha.surendran@ibm.com>

updated fabric-gateway version

Signed-off-by: sapthasurendran <saptha.surendran@ibm.com>

transaction verification flow change

Signed-off-by: sapthasurendran <saptha.surendran@ibm.com>

Improved main function readability

Signed-off-by: sapthasurendran <saptha.surendran@ibm.com>

extra comments

Signed-off-by: sapthasurendran <saptha.surendran@ibm.com>

Updated fabric-gateway to latest

Signed-off-by: sapthasurendran <saptha.surendran@ibm.com>
2021-10-15 09:51:16 -04:00
Matthew B White
3ba63b15d6
Update go.mod (#500)
Signed-off-by: Matthew B White <whitemat@uk.ibm.com>
2021-10-06 11:35:43 -04:00
sapthasurendran
56a1bf3e19
* Made consistent lint command (#495)
* Removed global install of lint modules
* Fixed Lint Issues

Signed-off-by: sapthasurendran <saptha.surendran@ibm.com>

added lint script forapplication javascript

Signed-off-by: sapthasurendran <saptha.surendran@ibm.com>

updated lint command  for chaincode javascript

Signed-off-by: sapthasurendran <saptha.surendran@ibm.com>

updated lint script

Signed-off-by: sapthasurendran <saptha.surendran@ibm.com>

remove installing dependencies

Signed-off-by: sapthasurendran <saptha.surendran@ibm.com>

added lint script to js projects

Signed-off-by: sapthasurendran <saptha.surendran@ibm.com>

added more lint scripts

Signed-off-by: sapthasurendran <saptha.surendran@ibm.com>

added more lint scripts

Signed-off-by: sapthasurendran <saptha.surendran@ibm.com>

added missing npm lint command

Signed-off-by: sapthasurendran <saptha.surendran@ibm.com>

added missing eslint npm module

Signed-off-by: sapthasurendran <saptha.surendran@ibm.com>

Fix missing npm lint command

Signed-off-by: sapthasurendran <saptha.surendran@ibm.com>

added missing eslint npm module to auction-simple javascctipt app

Signed-off-by: sapthasurendran <saptha.surendran@ibm.com>

added eslint npm module

Signed-off-by: sapthasurendran <saptha.surendran@ibm.com>

added eslint dependency

Signed-off-by: sapthasurendran <saptha.surendran@ibm.com>

added eslint dependency

Signed-off-by: sapthasurendran <saptha.surendran@ibm.com>

added eslint dependency

Signed-off-by: sapthasurendran <saptha.surendran@ibm.com>

Single command for ts js lint

Signed-off-by: sapthasurendran <saptha.surendran@ibm.com>

Fix or condition in lint.sh

Signed-off-by: sapthasurendran <saptha.surendran@ibm.com>
2021-10-06 13:33:29 +01:00
denyeart
ee959a2eb0
Update to Go 1.16.7 (#491)
Update Go to 1.16.7 and run "go mod tidy"
to clean up go modules in samples.

Signed-off-by: David Enyeart <enyeart@us.ibm.com>
2021-10-01 09:16:56 +01:00
fraVlaca
53f0ef0d92
updated chaincodes for asset-transfer-basic in order to show good example on how achieving determinism over json (#486)
* updated chaincodes for asset-trnsfer-basic in order to show good example on how achieving determinism in json

Signed-off-by: fraVlaca <ocsenarf@outlook.com>

* final fixes for chaincode-java of asset-tranfer-basic

Signed-off-by: fraVlaca <ocsenarf@outlook.com>

* removed extra unused excheptions

Signed-off-by: fraVlaca <ocsenarf@outlook.com>

* corrected indentation of contract in the chancode-javasript of asset-trnsfer-basic

Signed-off-by: fraVlaca <ocsenarf@outlook.com>

* last fixes for chaincode-javascript of asset-transfer-basic

Signed-off-by: fraVlaca <ocsenarf@outlook.com>

* last last fixes for chaincode-javascript of asset-transfer-basic

Signed-off-by: fraVlaca <ocsenarf@outlook.com>
2021-09-06 13:47:25 +01:00
fraVlaca
da65e20f7d
Updated dependencies for Json and fabric-chaincode-shim:2.+ in java samples (#481)
* fixed json dependencies for java

Signed-off-by: fraVlaca <ocsenarf@outlook.com>

* updated dependency for asset-tranfer-sbe: now declaing also org.hyperledger.fabric.protos.common

Signed-off-by: fraVlaca <ocsenarf@outlook.com>

* "corrected typo of last commit and added testImplementation 'org.hyperledger.fabric.protos.common'"

Signed-off-by: fraVlaca <ocsenarf@outlook.com>

* included correct dependecy for fabric-protos and added com.google.protobuf as well

Signed-off-by: fraVlaca <ocsenarf@outlook.com>
2021-09-01 20:19:15 +02:00
James Taylor
f84754ea3b
Update CreateAsset txn in basic js and ts sample (#460)
The Golang and Java sample chaincode returned an error when trying to create an asset which already exists

JavaScript and TypeScript samples should now do the same

Signed-off-by: James Taylor <jamest@uk.ibm.com>
2021-07-16 14:10:12 -04:00
Dave Kelsey
0d64a1b70c
New HSM Typescript Sample (#455)
Signed-off-by: D <d_kelsey@uk.ibm.com>

Co-authored-by: D <d_kelsey@uk.ibm.com>
2021-07-06 11:48:34 +01:00
Dave Kelsey
9f07960dae
Correct Javascript Chaincode (#445)
- In CreateAsset, await was never called on putState causing issues
especially with tools such as caliper and is not correct practice.
Unfortunately all the other examples use `return` which works but is
actually not the idiomatic way of handling promises, so here await is
chosen rather than return

Signed-off-by: D <d_kelsey@uk.ibm.com>

Co-authored-by: D <d_kelsey@uk.ibm.com>
2021-05-11 10:22:25 +01:00
Arnaud J Le Hors
6d043af487 Add repolinter support
Fix link in SECURITY file, and add missing copyright and license
notices.

To check, run: repolinter --rulesetUrl https://github.com/hyperledger-labs/hyperledger-community-management-tools/raw/main/repo_structure/repolint.json

Signed-off-by: Arnaud J Le Hors <lehors@us.ibm.com>
2021-04-23 15:35:20 -04:00
Arun S M
7ee1bf793d
TLS enabled external chaincode example (#438)
* Enable TLS on asset-transfer-basic external chaincode

1. Introduce environment variables to enable or disable TLS
at runtime. Also, introduce environment variables which carries
the server key, cert and the client machine's root CA cert
information.
2. Read the environment variables to decide with appropriate
assumptions on default values to work as is today.

Signed-off-by: S m, Aruna <arun.s.m.cse@gmail.com>

* Update the chaincode.env with new options

1. Introduce four new environment variables to the default
chaincode environment file.
2. Add two new environment files for easy/automation running
of the external chaincodes for different organizations.

Note that when TLS enabled, the package contents will change.
So each organization will have their own package ID
generated unlike earlier. Also, there will be two chaincode
containers running instead of one for the given example.

Signed-off-by: S m, Aruna <arun.s.m.cse@gmail.com>

* Add docker compose file for running chaincodes

The file will build and run the chaincode on the fly.
Also, it will make use of the available files which is
configured by the user as part of execution. This will
help in bringup/bringdown of the chaincode containers.

In addition, it will help in updating the environment
variables on the go.

Signed-off-by: S m, Aruna <arun.s.m.cse@gmail.com>

* Introduce crypto directory and ignore the pem contents

The directory is used by the docker-compose file for
automation. Instructions in the README.md file will
suffice the filling up of required files in this directory.

Signed-off-by: S m, Aruna <arun.s.m.cse@gmail.com>

* Instructions on TLS enabled external chaincode server

1. Add instructions to generate a chaincode server TLS
parameters.
2. Add instructions on different parameters that peer node
expects and the chaincode expects.
3. Add instructions on steps to be followed in asset-transfer
-basic to work with iTLS enabled exteral chaincode.

Signed-off-by: S m, Aruna <arun.s.m.cse@gmail.com>

* Enable chaincode to work without TLS as well

1. Root certificate is an optional parameter supplied for
chaincode to verify the peer's connection in response.
2. If TLS is enabled, then specify the key and cert
parameters. Do not expect it otherwise.

Signed-off-by: S m, Aruna <arun.s.m.cse@gmail.com>
2021-04-20 11:06:46 +02:00
Kestutis Gudynas
3acff50554
Java chaincode samples fixed (#432)
Signed-off-by: Kestutis Gudynas <44440041+kemi04@users.noreply.github.com>
2021-03-24 12:43:54 +00:00
nikhil550
b4db1f53a0
Updates to external chaincode readme (#422)
Signed-off-by: Nikhil Gupta <ngupta@symbridge.com>
2021-02-22 02:47:56 +01:00
Brett Logan
855c8e4db3 Update Go Modules
Signed-off-by: Brett Logan <lindluni@github.com>
2021-02-11 18:11:17 -05:00
Waleed Mortaja
14dc7e1316
Fix creating channel when ${PWD} contains space. (#402)
* Fix creating channel when ${PWD} contains space.

If the path of the project contains spaces, the "test-network/scripts/envVar.sh" script sets the value of "$ORDERER_CA" to a value containg "${PWD}" which, in turn, contains space(s).

When the variable used in "test-network/scripts/createChannel.sh", The first part of the value (before the first space) is handled as the whole value for "--cafile". Other parts are considered to be part of the command!

I tried putting (escaped) quotes in the "test-network/scripts/envVar.sh" definition for the variable "$ORDERER_CA" to make the fix more general, but the quotation marks were sometime interpreted to be part of the path that consisted of concatenated parts somewhere and it did not work.

While this edit will fix this issue, I belive this is just a work around. I expect that there is a better way to solve the root cause of the problem instead of just fixing it in one place. Moreover, All variables/paths that may include spaces should be properly handled as well.

Thanks

Signed-off-by: Waleed Mortaja <waleedmortaja@protonmail.com>

* Double quote variables evaluations that depends on $PWD

I tried to handle most (if not all) of the variables evaluations in the project that depends on $PWD by wrapping them in double-quotations to avoid values that contains white spaces.

Some lines I was not sure if they are Okay or not but I left them as they are. Samples (not all lines) as follows:
- commercial-paper/network-clean.sh:15:DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
- commercial-paper/network-starter.sh:15:DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
- asset-transfer-basic/chaincode-javascript/node_modules/fabric-shim/coverage/fabric-shim/lib/chaincode.js.html:997: optsCpy.pem = fs.readFileSync(process.env.CORE_PEER_TLS_ROOTCERT_FILE).toString();
- commercial-paper/organization/digibank/digibank.sh:29:export PEER_PARMS="${PEER_CONN_PARMS##*( )}"

The next sample I was not really sure, but still edited it:
- test-network/addOrg3/fabric-ca/registerEnroll.sh:68:  cp ${PWD}/../organizations/peerOrganizations/org3.example.com/peers/peer0.org3.example.com/tls/tlscacerts/* ${PWD}/../organizations/peerOrganizations/org3.example.com/peers/peer0.org3.example.com/tls/ca.crt

I deliberately ignored some lines because I think they are not problem. These lines include:
- `export` sentences
- assignment sentences like: test-network/scripts/createChannel.sh:48:  FABRIC_CFG_PATH=$PWD/../config/
- gradlew files: the line SAVED="`pwd`"
- gradlew files: the line APP_HOME="`pwd -P`"
- gradlew files: the line CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar

Signed-off-by: Waleed Mortaja <waleedmortaja@protonmail.com>

* remove unnecessary leading space trimming

Signed-off-by: Waleed Mortaja <waleedmortaja@protonmail.com>

* resolved conflict with master

Co-authored-by: Arnaud J Le Hors <lehors@us.ibm.com>
2021-01-20 16:32:38 +01:00
nikhil550
6fd327a347
Fix error that occurs with go CC and javascript app (#399)
Signed-off-by: Nikhil Gupta <ngupta@symbridge.com>
2021-01-13 15:37:34 -05:00
Brett Logan
08aaaf0313
Update Javascript and Typescript Deps (#403)
Update all of the Node deps to 2.2.<latest>
and regenerate existing package-lock.json files

Signed-off-by: Brett Logan <brett.t.logan@ibm.com>

Co-authored-by: Brett Logan <brett.t.logan@ibm.com>
2021-01-13 12:19:31 -05:00
Andrew Coleman
637ef63425
FAB-18367 Update Go client samples to use RC1 of Go SDK (#385)
Signed-off-by: andrew-coleman <andrew_coleman@uk.ibm.com>
2020-12-04 08:31:59 -05:00
Julian Castrence
d6773d502c Remove Short Names and Replace With Full Path in Samples
Signed-off-by: Julian Castrence <juliancastrence@ibm.com>
2020-12-02 23:59:42 -05:00
Rijul Aggarwal
33adb8d164
asset transfer basic - application typescript (#339)
Signed-off-by: Rijul Aggarwal <rijul.aggarwal@ibm.com>

Co-authored-by: Rijul Aggarwal <rijul.aggarwal@ibm.com>
2020-11-04 10:27:09 -05:00
Bret Harrison
524ee2d63f Have the submitTransaction look at the results of submit.
The results of the submit must be returned by the chaincode.

Signed-off-by: Bret Harrison <beharrison@nc.rr.com>
2020-10-22 14:00:28 -04:00
nikhil550
15740deec1
Include link to external chaincode builder doc (#356)
Signed-off-by: Nikhil Gupta <ngupta@symbridge.com>
2020-10-19 20:05:52 +02:00
nikhil550
d82adf3e75
Fix go SDK bug and enable go SDK test (#352)
Signed-off-by: NIKHIL E GUPTA <ngupta@symbridge.com>
2020-10-16 11:28:18 -04:00
GeonWoo Kim
7f6fa7ce0c
Fix Error message application-go (#341)
[FAB-18236]
* fix Error message
* add additional logs to transaction

Signed-off-by: KIM GEONWOO <kgw8919@gmail.com>
2020-09-22 11:57:14 +02:00
Kyohei Shimozato
b1471ef850
Fix duplicate code: asset-transfer-basic/application-go (#313)
Signed-off-by: zatton <ou4ei1@gmail.com>
2020-08-28 09:40:36 -04:00
Paul
94faa34930 Fixed code review items 2020-08-21 16:26:35 -04:00
Paul
69b96f85e0 Added javascript chaincode unit tests for asset-transfer-basic
Signed-off-by: Paul <pksingh8878@gmail.com>
2020-08-21 16:26:35 -04:00
Dereck
8bb870f930
Fix minor issues related to asset-transfer-basic application-go (#291)
* added additional logs to application.
* minor fixes

Signed-off-by: Chongxin Luo <Chongxin.Luo@ibm.com>
2020-08-20 15:40:18 -04:00
Arnaud J Le Hors
5173e73e7b Improve basic asset transfer external chaincode detect script
This change makes the way the type property is extracted from the
metadata.json file much more robust, and therefore sets a better
example.

Signed-off-by: Arnaud J Le Hors <lehors@us.ibm.com>
2020-08-20 12:36:30 -04:00
Brett Logan
11c05fa612 Add missing apps and chaincodes to CI
Adds the apps and chaincodes to linting and testing
CI that weren't added before.

Linting issues were corrected where necessary to make CI pass.

The Basic-Go application and Private-Javascript application
are currently disabled pending fixes currently being worked on.

Signed-off-by: Brett Logan <brett.t.logan@ibm.com>
2020-08-16 23:11:24 -04:00
denyeart
8f180cd5a3
Update asset-transfer-basic external chaincode readme (#300)
Minor clarifications to external chaincode readme.

Signed-off-by: David Enyeart <enyeart@us.ibm.com>
2020-08-15 09:49:06 +02:00
Arnaud J Le Hors
0bfdecd736 Add chaincode-external for asset-transfer-basic sample.
Improve on the initial PR to expand on the README with detailed
information on how to run the external chaincode in a container
on the test network and use the node application against it.

Signed-off-by: Arnaud J Le Hors <lehors@us.ibm.com>
2020-08-14 15:05:00 -04:00
Sijo Cherian
36a2d3a7d0
Switched private data JS app to commons util (#294)
* Switched private data JS app to commons util

Reusing JS app & ca utils
Refactored for Org1 & Org2
assettransfer-basic JS app update for commons util refactor

Signed-off-by: Sijo Cherian <sijo@ibm.com>

* fixed assettransfer-ledgerqueries & private usage of commons util refactor

Signed-off-by: Sijo Cherian <sijo@ibm.com>

Co-authored-by: Sijo Cherian <sijo@ibm.com>
2020-08-13 08:22:05 -04:00
Bret Harrison
f361386231 Add the javascript application for ledger queries
Add the asset-transfer-ledger-queries javascript application.
Update the CI script to run it against go and javascript chaincode.

Signed-off-by: Bret Harrison <beharrison@nc.rr.com>
2020-08-11 22:32:34 -04:00
Dereck
155a3e7e26
Adding golang application for asset-transfer-basic sample. (#211)
Signed-off-by: Chongxin Luo <Chongxin.Luo@ibm.com>
2020-08-10 10:49:04 -04:00
harrisob
c0ffb1cffb
Restructure the basic javascript application to use common code. (#281)
Use common code for reading a connection profile, enrolling the admin,
registering and enrolling a user, building a wallet, and
building a certificate authority client.

Signed-off-by: Bret Harrison <beharrison@nc.rr.com>
2020-08-06 22:07:54 +02:00
Arnaud J Le Hors
42026e2fd4 Improve unmarshalling in asset-transfer-basic Go cc
Although the current code works thanks to Go being quite
forgiving when it comes to pointers, it doesn't exhibit
the best coding style. This patch addresses this.

Signed-off-by: Arnaud J Le Hors <lehors@us.ibm.com>
2020-08-06 11:12:56 -04:00
Dereck
e2817762f1
Add chaincode-external for asset-transfer-basic sample. (#234)
Signed-off-by: Chongxin Luo <Chongxin.Luo@ibm.com>
2020-08-06 02:12:12 +02:00
r2roC
86d5a50a7c
asset-transfer-basic java application. (#276)
Matches format of js app.
Running TestApp: gradle runApp

Signed-off-by: r2roC <arturo@IBM.com>
2020-08-04 17:05:45 -04:00
Chris Gabriel
1270c8418b
Fix typo in code comment (#275)
Signed-off-by: Chris Gabriel <chris_gabriel_98@yahoo.com>
2020-08-03 22:27:16 +02:00
r2roC
e51dfb9bce asset-transfer-basic Java CC. Adapted from fabcar. Unit tests are attached. Integration testing conducted using test network and asset-transfer-basic application-js.
Signed-off-by: r2roC <arturo@IBM.com>
2020-07-31 09:00:12 -04:00
Brett Logan
4c3fe17310 Refactor GetAllAssets
GetAllAssets uses getStateByRange which returns an iterator.
Refactored code to make use of the iterator as this code did
not function in its previous state

Signed-off-by: Brett Logan <brett.t.logan@ibm.com>
2020-07-27 23:51:51 -04:00
Brett Logan
bd38f9220b Capitalize Function Names
Short of creating a second application that calls
the lowerCase version of functions, since Go requires
the functions be exported, capitalizing them in the
Node and Typescript chaincode seems the simplest solution

Signed-off-by: Brett Logan <brett.t.logan@ibm.com>
2020-07-27 23:51:51 -04:00