diff --git a/commercial-paper/organization/magnetocorp/application-java/.classpath b/commercial-paper/organization/magnetocorp/application-java/.classpath
deleted file mode 100644
index 149cb3c9..00000000
--- a/commercial-paper/organization/magnetocorp/application-java/.classpath
+++ /dev/null
@@ -1,20 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/commercial-paper/organization/magnetocorp/application-java/.gitignore b/commercial-paper/organization/magnetocorp/application-java/.gitignore
index 2f7896d1..90beb741 100644
--- a/commercial-paper/organization/magnetocorp/application-java/.gitignore
+++ b/commercial-paper/organization/magnetocorp/application-java/.gitignore
@@ -1 +1,4 @@
target/
+.settings/
+.idea
+.classpath
\ No newline at end of file
diff --git a/commercial-paper/organization/magnetocorp/application-java/dependency-reduced-pom.xml b/commercial-paper/organization/magnetocorp/application-java/dependency-reduced-pom.xml
deleted file mode 100644
index 7ff0d0cc..00000000
--- a/commercial-paper/organization/magnetocorp/application-java/dependency-reduced-pom.xml
+++ /dev/null
@@ -1,61 +0,0 @@
-
-
- 4.0.0
- commercial-paper
- commercial-paper
- 0.0.1-SNAPSHOT
-
- src
-
-
- maven-compiler-plugin
- 3.8.0
-
- 1.8
- 1.8
-
-
-
- maven-shade-plugin
- 3.2.0
-
-
- package
-
- shade
-
-
-
-
-
-
- *:*
-
- META-INF/*.SF
- META-INF/*.DSA
- META-INF/*.RSA
-
-
-
-
-
-
-
-
-
- hyperledger
- Hyperledger Artifactory
- https://hyperledger.jfrog.io/hyperledger/fabric-maven
-
-
- jitpack.io
- https://jitpack.io
-
-
-
- 1.4.2
- UTF-8
- 1.8
- UTF-8
-
-
diff --git a/commercial-paper/organization/magnetocorp/application-java/pom.xml b/commercial-paper/organization/magnetocorp/application-java/pom.xml
index b405e993..de2b447f 100644
--- a/commercial-paper/organization/magnetocorp/application-java/pom.xml
+++ b/commercial-paper/organization/magnetocorp/application-java/pom.xml
@@ -14,7 +14,9 @@
UTF-8
- 1.4.2
+ 2.0.0
+
+ 2.0.0
@@ -61,12 +63,6 @@
-
- hyperledger
- Hyperledger Artifactory
- https://hyperledger.jfrog.io/hyperledger/fabric-maven
-
-
jitpack.io
https://jitpack.io
@@ -75,9 +71,9 @@
- org.hyperledger
+ org.hyperledger.fabric
fabric-gateway-java
- 1.4.0-SNAPSHOT
+ ${fabric-gateway-java.version}
diff --git a/commercial-paper/organization/magnetocorp/application-java/src/org/magnetocorp/AddToWallet.java b/commercial-paper/organization/magnetocorp/application-java/src/org/magnetocorp/AddToWallet.java
index 4470021e..2dfe70b4 100644
--- a/commercial-paper/organization/magnetocorp/application-java/src/org/magnetocorp/AddToWallet.java
+++ b/commercial-paper/organization/magnetocorp/application-java/src/org/magnetocorp/AddToWallet.java
@@ -5,40 +5,64 @@ SPDX-License-Identifier: Apache-2.0
package org.magnetocorp;
import java.io.IOException;
+import java.io.Reader;
+import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
-
-import org.hyperledger.fabric.gateway.GatewayException;
+import java.security.InvalidKeyException;
+import java.security.PrivateKey;
+import java.security.cert.CertificateException;
+import java.security.cert.X509Certificate;
+import org.hyperledger.fabric.gateway.Identities;
import org.hyperledger.fabric.gateway.Wallet;
-import org.hyperledger.fabric.gateway.Wallet.Identity;
+import org.hyperledger.fabric.gateway.Wallets;
+import org.hyperledger.fabric.gateway.Identity;
public class AddToWallet {
- public static void main(String[] args) {
- try {
- // A wallet stores a collection of identities
- Path walletPath = Paths.get("..", "identity", "user", "isabella", "wallet");
- Wallet wallet = Wallet.createFileSystemWallet(walletPath);
+ private static X509Certificate readX509Certificate(final Path certificatePath) throws IOException, CertificateException {
+ try (Reader certificateReader = Files.newBufferedReader(certificatePath, StandardCharsets.UTF_8)) {
+ return Identities.readX509Certificate(certificateReader);
+ }
+ }
- // Location of credentials to be stored in the wallet
- Path credentialPath = Paths.get("..", "..",".." ,".." ,"basic-network", "crypto-config",
- "peerOrganizations", "org1.example.com", "users", "User1@org1.example.com", "msp");
- Path certificatePem = credentialPath.resolve(Paths.get("signcerts",
- "User1@org1.example.com-cert.pem"));
- Path privateKey = credentialPath.resolve(Paths.get("keystore",
- "c75bd6911aca808941c3557ee7c97e90f3952e379497dc55eb903f31b50abc83_sk"));
+ private static PrivateKey getPrivateKey(final Path privateKeyPath) throws IOException, InvalidKeyException {
+ try (Reader privateKeyReader = Files.newBufferedReader(privateKeyPath, StandardCharsets.UTF_8)) {
+ return Identities.readPrivateKey(privateKeyReader);
+ }
+ }
- // Load credentials into wallet
- String identityLabel = "User1@org1.example.com";
- Identity identity = Identity.createIdentity("Org1MSP", Files.newBufferedReader(certificatePem), Files.newBufferedReader(privateKey));
+ public static void main(String[] args) {
+ try {
+ // A wallet stores a collection of identities
+ Path walletPath = Paths.get(".", "wallet");
+ Wallet wallet = Wallets.newFileSystemWallet(walletPath);
- wallet.put(identityLabel, identity);
+ Path credentialPath = Paths.get("..", "..", "..",".." ,"test-network", "organizations",
+ "peerOrganizations", "org2.example.com", "users", "User1@org2.example.com", "msp");
+ System.out.println("credentialPath: " + credentialPath.toString());
+ Path certificatePath = credentialPath.resolve(Paths.get("signcerts",
+ "User1@org2.example.com-cert.pem"));
+ System.out.println("certificatePem: " + certificatePath.toString());
+ Path privateKeyPath = credentialPath.resolve(Paths.get("keystore",
+ "c7077781c776d90009b3f68a75b15109e1cb82ae5dbdcc0b79644ff47d280db8_sk"));
- } catch (IOException e) {
- System.err.println("Error adding to wallet");
- e.printStackTrace();
- }
- }
+ X509Certificate certificate = readX509Certificate(certificatePath);
+ PrivateKey privateKey = getPrivateKey(privateKeyPath);
-}
+ Identity identity = Identities.newX509Identity("Org2MSP", certificate, privateKey);
+
+
+ String identityLabel = "User1@org2.example.com";
+ wallet.put(identityLabel, identity);
+
+ System.out.println("成功写入钱包信息:" + walletPath.toString());
+
+ } catch (IOException | CertificateException | InvalidKeyException e) {
+ System.err.println("Error adding to wallet");
+ e.printStackTrace();
+ }
+ }
+
+}
\ No newline at end of file
diff --git a/commercial-paper/organization/magnetocorp/application-java/src/org/magnetocorp/Issue.java b/commercial-paper/organization/magnetocorp/application-java/src/org/magnetocorp/Issue.java
index 352d65d9..872d6866 100644
--- a/commercial-paper/organization/magnetocorp/application-java/src/org/magnetocorp/Issue.java
+++ b/commercial-paper/organization/magnetocorp/application-java/src/org/magnetocorp/Issue.java
@@ -15,59 +15,61 @@ import org.hyperledger.fabric.gateway.Gateway;
import org.hyperledger.fabric.gateway.GatewayException;
import org.hyperledger.fabric.gateway.Network;
import org.hyperledger.fabric.gateway.Wallet;
+import org.hyperledger.fabric.gateway.Wallets;
import org.papernet.CommercialPaper;
public class Issue {
- private static final String ENVKEY="CONTRACT_NAME";
+ private static final String ENVKEY="CONTRACT_NAME";
- public static void main(String[] args) {
+ public static void main(String[] args) {
- String contractName="papercontract";
- // get the name of the contract, in case it is overridden
- Map envvar = System.getenv();
- if (envvar.containsKey(ENVKEY)){
- contractName=envvar.get(ENVKEY);
- }
+ String contractName="papercontract";
+ // get the name of the contract, in case it is overridden
+ Map envvar = System.getenv();
+ if (envvar.containsKey(ENVKEY)){
+ contractName=envvar.get(ENVKEY);
+ }
- Gateway.Builder builder = Gateway.createBuilder();
+ Gateway.Builder builder = Gateway.createBuilder();
- try {
- // A wallet stores a collection of identities
- Path walletPath = Paths.get("..", "identity", "user", "isabella", "wallet");
- Wallet wallet = Wallet.createFileSystemWallet(walletPath);
+ try {
+ // A wallet stores a collection of identities
+ Path walletPath = Paths.get(".", "wallet");
+ Wallet wallet = Wallets.newFileSystemWallet(walletPath);
+ System.out.println("Read wallet info from: " + walletPath.toString());
- String userName = "User1@org1.example.com";
+ String userName = "User1@org2.example.com";
- Path connectionProfile = Paths.get("..", "gateway", "networkConnection.yaml");
+ Path connectionProfile = Paths.get("..", "gateway", "connection-org2.yaml");
- // Set connection options on the gateway builder
- builder.identity(wallet, userName).networkConfig(connectionProfile).discovery(false);
+ // Set connection options on the gateway builder
+ builder.identity(wallet, userName).networkConfig(connectionProfile).discovery(false);
- // Connect to gateway using application specified parameters
- try(Gateway gateway = builder.connect()) {
+ // Connect to gateway using application specified parameters
+ try(Gateway gateway = builder.connect()) {
- // Access PaperNet network
- System.out.println("Use network channel: mychannel.");
- Network network = gateway.getNetwork("mychannel");
+ // Access PaperNet network
+ System.out.println("Use network channel: mychannel.");
+ Network network = gateway.getNetwork("mychannel");
- // Get addressability to commercial paper contract
- System.out.println("Use org.papernet.commercialpaper smart contract.");
- Contract contract = network.getContract(contractName, "org.papernet.commercialpaper");
+ // Get addressability to commercial paper contract
+ System.out.println("Use org.papernet.commercialpaper smart contract.");
+ Contract contract = network.getContract(contractName, "org.papernet.commercialpaper");
- // Issue commercial paper
- System.out.println("Submit commercial paper issue transaction.");
- byte[] response = contract.submitTransaction("issue", "MagnetoCorp", "00001", "2020-05-31", "2020-11-30", "5000000");
+ // Issue commercial paper
+ System.out.println("Submit commercial paper issue transaction.");
+ byte[] response = contract.submitTransaction("issue", "MagnetoCorp", "00002", "2020-05-31", "2020-11-30", "5000000");
- // Process response
- System.out.println("Process issue transaction response.");
- CommercialPaper paper = CommercialPaper.deserialize(response);
- System.out.println(paper);
- }
- } catch (GatewayException | IOException | TimeoutException | InterruptedException e) {
- e.printStackTrace();
- System.exit(-1);
- }
- }
+ // Process response
+ System.out.println("Process issue transaction response.");
+ CommercialPaper paper = CommercialPaper.deserialize(response);
+ System.out.println(paper);
+ }
+ } catch (GatewayException | IOException | TimeoutException | InterruptedException e) {
+ e.printStackTrace();
+ System.exit(-1);
+ }
+ }
-}
+}
\ No newline at end of file