diff --git a/commercial-paper/README.md b/commercial-paper/README.md index 5cc2df39..a3172271 100644 --- a/commercial-paper/README.md +++ b/commercial-paper/README.md @@ -51,9 +51,9 @@ This `README.md` file is in the the `commercial-paper` directory, the source cod ## Running the Infrastructure -In one console window, run the `./roles/network-starter.sh` script; this will start the basic infrastructure and also start monitoring all the docker containers. +In one console window, run the `./roles/network-starter.sh` script; this will start the basic infrastructure and also start monitoring all the docker containers. -You can cancel this if you wish to reuse the terminal, but it's best left open. +You can cancel this if you wish to reuse the terminal, but it's best left open. ### Install and Instantiate the contract @@ -63,7 +63,7 @@ In your 'MagnetoCorp' window run the following command `./roles/magnetocorp.sh` -This will start a docker container for Fabric CLI commands, and put you in the correct directory for the source code. +This will start a docker container for Fabric CLI commands, and put you in the correct directory for the source code. **For a JavaScript Contract:** @@ -76,12 +76,18 @@ docker exec cliMagnetoCorp peer chaincode instantiate -n papercontract -v 0 -l n **For a Java Contract:** ``` -docker exec cliMagnetoCorp peer chaincode install -n papercontract -v 0 -p /opt/gopath/src/github.com/contract-java -l java +pushd ./organization/magnetocorp/contract-java + +./gradlew installDist + +popd + +docker exec cliMagnetoCorp peer chaincode install -n papercontract -v 0 -p /opt/gopath/src/github.com/contract-java/build/install/papercontract -l java docker exec cliMagnetoCorp peer chaincode instantiate -n papercontract -v 0 -l java -c '{"Args":["org.papernet.commercialpaper:instantiate"]}' -C mychannel -P "AND ('Org1MSP.member')" ``` - -> If you want to try both a Java and JavaScript Contract, then you will need to restart the infrastructure and deploy the other contract. + +> If you want to try both a Java and JavaScript Contract, then you will need to restart the infrastructure and deploy the other contract. ## Client Applications @@ -100,16 +106,16 @@ npm install > Note that there is NO dependency between the langauge of any one client application and any contract. Mix and match as you wish! -### Issue the paper +### Issue the paper -This is running as *MagnetoCorp* so you can stay in the same window. These commands are to be run in the +This is running as *MagnetoCorp* so you can stay in the same window. These commands are to be run in the `commercial-paper/organization/magnetocorp/application` directory or the `commercial-paper/organization/magnetocorp/application-java` *Add the Identity to be used* ``` node addToWallet.js -# or +# or java -cp target/commercial-paper-0.0.1-SNAPSHOT.jar org.magnetocorp.AddToWallet ``` @@ -117,25 +123,25 @@ java -cp target/commercial-paper-0.0.1-SNAPSHOT.jar org.magnetocorp.AddToWallet ``` node issue.js -# or +# or java -cp target/commercial-paper-0.0.1-SNAPSHOT.jar org.magnetocorp.Issue ``` ### Buy and Redeem the paper -This is running as *Digibank*; you've not acted as this organization before so in your 'Digibank' window run the following command in the +This is running as *Digibank*; you've not acted as this organization before so in your 'Digibank' window run the following command in the `fabric-samples/commercial-paper/` directory -`./roles/digibank.sh` +`./roles/digibank.sh` -You can now run the applications to buy and redeem the paper. Change to either the +You can now run the applications to buy and redeem the paper. Change to either the `commercial-paper/organization/digibank/application` directory or `commercial-paper/organization/digibank/application-java` *Add the Identity to be used* ``` node addToWallet.js -# or +# or java -cp target/commercial-paper-0.0.1-SNAPSHOT.jar org.digibank.AddToWallet ``` @@ -151,6 +157,6 @@ java -cp target/commercial-paper-0.0.1-SNAPSHOT.jar org.digibank.Buy ``` node redeem.js -# or +# or java -cp target/commercial-paper-0.0.1-SNAPSHOT.jar org.digibank.Redeem ``` diff --git a/commercial-paper/organization/digibank/contract-java/.gitignore b/commercial-paper/organization/digibank/contract-java/.gitignore index 25f5f86a..ae1478ca 100644 --- a/commercial-paper/organization/digibank/contract-java/.gitignore +++ b/commercial-paper/organization/digibank/contract-java/.gitignore @@ -1,3 +1,10 @@ -.gradle/ -build/ -bin/ \ No newline at end of file +# +# SPDX-License-Identifier: Apache-2.0 +# + +/.classpath +/.gradle/ +/.project +/.settings/ +/bin/ +/build/ diff --git a/commercial-paper/organization/digibank/contract-java/build.gradle b/commercial-paper/organization/digibank/contract-java/build.gradle index 555088a1..bf7bf2b3 100644 --- a/commercial-paper/organization/digibank/contract-java/build.gradle +++ b/commercial-paper/organization/digibank/contract-java/build.gradle @@ -1,6 +1,5 @@ plugins { - id 'com.github.johnrengelman.shadow' version '2.0.3' - id 'java' + id 'java-library-distribution' } version '0.0.1' @@ -8,11 +7,10 @@ version '0.0.1' sourceCompatibility = 1.8 repositories { - mavenLocal() mavenCentral() - maven { - url 'https://jitpack.io' + maven { + url 'https://jitpack.io' } maven { url "https://nexus.hyperledger.org/content/repositories/snapshots/" @@ -21,23 +19,13 @@ repositories { } dependencies { - compile group: 'org.hyperledger.fabric-chaincode-java', name: 'fabric-chaincode-shim', version: '1.4.2' + compileOnly group: 'org.hyperledger.fabric-chaincode-java', name: 'fabric-chaincode-shim', version: '1.4.2' compile group: 'org.json', name: 'json', version: '20180813' testImplementation 'org.junit.jupiter:junit-jupiter:5.4.2' testImplementation 'org.assertj:assertj-core:3.11.1' testImplementation 'org.mockito:mockito-core:2.+' } -shadowJar { - baseName = 'chaincode' - version = null - classifier = null - - manifest { - attributes 'Main-Class': 'org.hyperledger.fabric.contract.ContractRouter' - } -} - test { useJUnitPlatform() testLogging { @@ -45,7 +33,6 @@ test { } } - tasks.withType(JavaCompile) { options.compilerArgs << "-Xlint:unchecked" << "-Xlint:deprecation" << "-parameters" } diff --git a/commercial-paper/organization/digibank/contract-java/gradle/wrapper/gradle-wrapper.jar b/commercial-paper/organization/digibank/contract-java/gradle/wrapper/gradle-wrapper.jar index f6b961fd..5c2d1cf0 100644 Binary files a/commercial-paper/organization/digibank/contract-java/gradle/wrapper/gradle-wrapper.jar and b/commercial-paper/organization/digibank/contract-java/gradle/wrapper/gradle-wrapper.jar differ diff --git a/commercial-paper/organization/digibank/contract-java/gradle/wrapper/gradle-wrapper.properties b/commercial-paper/organization/digibank/contract-java/gradle/wrapper/gradle-wrapper.properties index bf3de218..7c4388a9 100644 --- a/commercial-paper/organization/digibank/contract-java/gradle/wrapper/gradle-wrapper.properties +++ b/commercial-paper/organization/digibank/contract-java/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-4.6-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.2-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/commercial-paper/organization/digibank/contract-java/gradlew b/commercial-paper/organization/digibank/contract-java/gradlew index cccdd3d5..83f2acfd 100755 --- a/commercial-paper/organization/digibank/contract-java/gradlew +++ b/commercial-paper/organization/digibank/contract-java/gradlew @@ -1,5 +1,21 @@ #!/usr/bin/env sh +# +# Copyright 2015 the original author or authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + ############################################################################## ## ## Gradle start up script for UN*X @@ -28,7 +44,7 @@ APP_NAME="Gradle" APP_BASE_NAME=`basename "$0"` # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -DEFAULT_JVM_OPTS="" +DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' # Use the maximum available, or set MAX_FD != -1 to use that value. MAX_FD="maximum" @@ -109,8 +125,8 @@ if $darwin; then GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" fi -# For Cygwin, switch paths to Windows format before running java -if $cygwin ; then +# For Cygwin or MSYS, switch paths to Windows format before running java +if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then APP_HOME=`cygpath --path --mixed "$APP_HOME"` CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` JAVACMD=`cygpath --unix "$JAVACMD"` diff --git a/commercial-paper/organization/digibank/contract-java/gradlew.bat b/commercial-paper/organization/digibank/contract-java/gradlew.bat index e95643d6..24467a14 100644 --- a/commercial-paper/organization/digibank/contract-java/gradlew.bat +++ b/commercial-paper/organization/digibank/contract-java/gradlew.bat @@ -1,3 +1,19 @@ +@rem +@rem Copyright 2015 the original author or authors. +@rem +@rem Licensed under the Apache License, Version 2.0 (the "License"); +@rem you may not use this file except in compliance with the License. +@rem You may obtain a copy of the License at +@rem +@rem https://www.apache.org/licenses/LICENSE-2.0 +@rem +@rem Unless required by applicable law or agreed to in writing, software +@rem distributed under the License is distributed on an "AS IS" BASIS, +@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +@rem See the License for the specific language governing permissions and +@rem limitations under the License. +@rem + @if "%DEBUG%" == "" @echo off @rem ########################################################################## @rem @@ -14,7 +30,7 @@ set APP_BASE_NAME=%~n0 set APP_HOME=%DIRNAME% @rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -set DEFAULT_JVM_OPTS= +set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" @rem Find java.exe if defined JAVA_HOME goto findJavaFromJavaHome diff --git a/commercial-paper/organization/digibank/contract-java/settings.gradle b/commercial-paper/organization/digibank/contract-java/settings.gradle index 343bba0d..0c5f0723 100644 --- a/commercial-paper/organization/digibank/contract-java/settings.gradle +++ b/commercial-paper/organization/digibank/contract-java/settings.gradle @@ -1,2 +1,2 @@ -rootProject.name = 'java-contractcontract' +rootProject.name = 'papercontract' diff --git a/commercial-paper/organization/digibank/contract-java/src/main/java/org/example/CommercialPaperContract.java b/commercial-paper/organization/digibank/contract-java/src/main/java/org/example/CommercialPaperContract.java index 72836cdc..a75f47e3 100644 --- a/commercial-paper/organization/digibank/contract-java/src/main/java/org/example/CommercialPaperContract.java +++ b/commercial-paper/organization/digibank/contract-java/src/main/java/org/example/CommercialPaperContract.java @@ -74,7 +74,7 @@ public class CommercialPaperContract implements ContractInterface { // create an instance of the paper CommercialPaper paper = CommercialPaper.createInstance(issuer, paperNumber, issueDateTime, maturityDateTime, - faceValue,""); + faceValue,issuer,""); // Smart contract, rather than paper, moves paper into ISSUED state paper.setIssued(); diff --git a/commercial-paper/organization/magnetocorp/contract-java/.classpath b/commercial-paper/organization/magnetocorp/contract-java/.classpath deleted file mode 100644 index b79fc0c5..00000000 --- a/commercial-paper/organization/magnetocorp/contract-java/.classpath +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - - - - - - - - - diff --git a/commercial-paper/organization/magnetocorp/contract-java/.gitignore b/commercial-paper/organization/magnetocorp/contract-java/.gitignore index 25f5f86a..ae1478ca 100644 --- a/commercial-paper/organization/magnetocorp/contract-java/.gitignore +++ b/commercial-paper/organization/magnetocorp/contract-java/.gitignore @@ -1,3 +1,10 @@ -.gradle/ -build/ -bin/ \ No newline at end of file +# +# SPDX-License-Identifier: Apache-2.0 +# + +/.classpath +/.gradle/ +/.project +/.settings/ +/bin/ +/build/ diff --git a/commercial-paper/organization/magnetocorp/contract-java/build.gradle b/commercial-paper/organization/magnetocorp/contract-java/build.gradle index 555088a1..bf7bf2b3 100644 --- a/commercial-paper/organization/magnetocorp/contract-java/build.gradle +++ b/commercial-paper/organization/magnetocorp/contract-java/build.gradle @@ -1,6 +1,5 @@ plugins { - id 'com.github.johnrengelman.shadow' version '2.0.3' - id 'java' + id 'java-library-distribution' } version '0.0.1' @@ -8,11 +7,10 @@ version '0.0.1' sourceCompatibility = 1.8 repositories { - mavenLocal() mavenCentral() - maven { - url 'https://jitpack.io' + maven { + url 'https://jitpack.io' } maven { url "https://nexus.hyperledger.org/content/repositories/snapshots/" @@ -21,23 +19,13 @@ repositories { } dependencies { - compile group: 'org.hyperledger.fabric-chaincode-java', name: 'fabric-chaincode-shim', version: '1.4.2' + compileOnly group: 'org.hyperledger.fabric-chaincode-java', name: 'fabric-chaincode-shim', version: '1.4.2' compile group: 'org.json', name: 'json', version: '20180813' testImplementation 'org.junit.jupiter:junit-jupiter:5.4.2' testImplementation 'org.assertj:assertj-core:3.11.1' testImplementation 'org.mockito:mockito-core:2.+' } -shadowJar { - baseName = 'chaincode' - version = null - classifier = null - - manifest { - attributes 'Main-Class': 'org.hyperledger.fabric.contract.ContractRouter' - } -} - test { useJUnitPlatform() testLogging { @@ -45,7 +33,6 @@ test { } } - tasks.withType(JavaCompile) { options.compilerArgs << "-Xlint:unchecked" << "-Xlint:deprecation" << "-parameters" } diff --git a/commercial-paper/organization/magnetocorp/contract-java/gradle/wrapper/gradle-wrapper.jar b/commercial-paper/organization/magnetocorp/contract-java/gradle/wrapper/gradle-wrapper.jar index f6b961fd..5c2d1cf0 100644 Binary files a/commercial-paper/organization/magnetocorp/contract-java/gradle/wrapper/gradle-wrapper.jar and b/commercial-paper/organization/magnetocorp/contract-java/gradle/wrapper/gradle-wrapper.jar differ diff --git a/commercial-paper/organization/magnetocorp/contract-java/gradle/wrapper/gradle-wrapper.properties b/commercial-paper/organization/magnetocorp/contract-java/gradle/wrapper/gradle-wrapper.properties index bf3de218..7c4388a9 100644 --- a/commercial-paper/organization/magnetocorp/contract-java/gradle/wrapper/gradle-wrapper.properties +++ b/commercial-paper/organization/magnetocorp/contract-java/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-4.6-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.2-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/commercial-paper/organization/magnetocorp/contract-java/gradlew b/commercial-paper/organization/magnetocorp/contract-java/gradlew index cccdd3d5..83f2acfd 100755 --- a/commercial-paper/organization/magnetocorp/contract-java/gradlew +++ b/commercial-paper/organization/magnetocorp/contract-java/gradlew @@ -1,5 +1,21 @@ #!/usr/bin/env sh +# +# Copyright 2015 the original author or authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + ############################################################################## ## ## Gradle start up script for UN*X @@ -28,7 +44,7 @@ APP_NAME="Gradle" APP_BASE_NAME=`basename "$0"` # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -DEFAULT_JVM_OPTS="" +DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' # Use the maximum available, or set MAX_FD != -1 to use that value. MAX_FD="maximum" @@ -109,8 +125,8 @@ if $darwin; then GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" fi -# For Cygwin, switch paths to Windows format before running java -if $cygwin ; then +# For Cygwin or MSYS, switch paths to Windows format before running java +if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then APP_HOME=`cygpath --path --mixed "$APP_HOME"` CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` JAVACMD=`cygpath --unix "$JAVACMD"` diff --git a/commercial-paper/organization/magnetocorp/contract-java/gradlew.bat b/commercial-paper/organization/magnetocorp/contract-java/gradlew.bat index e95643d6..24467a14 100644 --- a/commercial-paper/organization/magnetocorp/contract-java/gradlew.bat +++ b/commercial-paper/organization/magnetocorp/contract-java/gradlew.bat @@ -1,3 +1,19 @@ +@rem +@rem Copyright 2015 the original author or authors. +@rem +@rem Licensed under the Apache License, Version 2.0 (the "License"); +@rem you may not use this file except in compliance with the License. +@rem You may obtain a copy of the License at +@rem +@rem https://www.apache.org/licenses/LICENSE-2.0 +@rem +@rem Unless required by applicable law or agreed to in writing, software +@rem distributed under the License is distributed on an "AS IS" BASIS, +@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +@rem See the License for the specific language governing permissions and +@rem limitations under the License. +@rem + @if "%DEBUG%" == "" @echo off @rem ########################################################################## @rem @@ -14,7 +30,7 @@ set APP_BASE_NAME=%~n0 set APP_HOME=%DIRNAME% @rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -set DEFAULT_JVM_OPTS= +set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" @rem Find java.exe if defined JAVA_HOME goto findJavaFromJavaHome diff --git a/commercial-paper/organization/magnetocorp/contract-java/settings.gradle b/commercial-paper/organization/magnetocorp/contract-java/settings.gradle index 343bba0d..0c5f0723 100644 --- a/commercial-paper/organization/magnetocorp/contract-java/settings.gradle +++ b/commercial-paper/organization/magnetocorp/contract-java/settings.gradle @@ -1,2 +1,2 @@ -rootProject.name = 'java-contractcontract' +rootProject.name = 'papercontract'