Skip to content

Commit 66e6f12

Browse files
committed
BLOCKOTUS/blockotus-organism#63 early function sendSignedTransactionProposal - not tested
1 parent 840c081 commit 66e6f12

File tree

4 files changed

+47
-2
lines changed

4 files changed

+47
-2
lines changed

api/dist/index.js

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,19 @@ var _fs = _interopRequireDefault(require("fs"));
1919

2020
var _path = _interopRequireDefault(require("path"));
2121

22+
var _hyperledgerFabricOfflineTransactionSigning = require("hyperledger-fabric-offline-transaction-signing");
23+
2224
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
2325

2426
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
2527

2628
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
2729

30+
// need types
31+
console.log({
32+
dd: _hyperledgerFabricOfflineTransactionSigning.createUser
33+
});
34+
2835
var WALLET_PATH = _path["default"].join(__dirname, '..', '..', '..', '..', 'wallet');
2936

3037
var CCP_PATH = _path["default"].resolve(__dirname, '..', '..', '..', '..', 'network', 'organizations', 'peerOrganizations', 'org1.example.com', 'connection-org1.json');

api/lib/index.ts

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
import { Gateway, Wallets } from 'fabric-network';
2+
import { Client } from 'fabric-common';
23
import fs from 'fs';
34
import path from 'path';
5+
import { sendProposal } from 'hyperledger-fabric-offline-transaction-signing';
46

57
const WALLET_PATH = path.join(__dirname, '..', '..', '..', '..', 'wallet');
68
const CCP_PATH = path.resolve(__dirname, '..', '..', '..', '..', 'network', 'organizations', 'peerOrganizations', 'org1.example.com', 'connection-org1.json');
@@ -31,3 +33,24 @@ export const getContractAndGateway = async ({username, chaincode, contract}) =>
3133
// Get the contract from the network.
3234
return {contract: network.getContract(chaincode, contract), gateway};
3335
};
36+
37+
export const sendSignedTransactionProposal = async ({
38+
username,
39+
user,
40+
chaincode,
41+
fcn,
42+
args,
43+
}) => {
44+
// Create a new file system based wallet for managing identities.
45+
const wallet = await Wallets.newFileSystemWallet(WALLET_PATH);
46+
47+
// Check to see if we've already enrolled the user.
48+
const identity = await wallet.get(username);
49+
50+
const provider = wallet.getProviderRegistry().getProvider(identity.type);
51+
const ccp = JSON.parse(fs.readFileSync(CCP_PATH, 'utf8'));
52+
const client = new Client(ccp);
53+
const userContext = await provider.getUserContext(user, username);
54+
55+
return await sendProposal({client, user: userContext, privateKeyPEM: user.credentials.privateKey, chaincode, fcn, args})
56+
}

package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,8 @@
2020
"homepage": "https://github.com/BLOCKOTUS/helper#readme",
2121
"dependencies": {
2222
"core-js": "^3.8.3",
23-
"fabric-network": "^2.2.5"
23+
"fabric-network": "^2.2.5",
24+
"hyperledger-fabric-offline-transaction-signing": "^0.0.6"
2425
},
2526
"devDependencies": {
2627
"@babel/cli": "^7.12.10",

yarn.lock

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1637,7 +1637,7 @@ eyes@0.1.x:
16371637
resolved "https://registry.yarnpkg.com/eyes/-/eyes-0.1.8.tgz#62cf120234c683785d902348a800ef3e0cc20bc0"
16381638
integrity sha1-Ys8SAjTGg3hdkCNIqADvPgzCC8A=
16391639

1640-
fabric-common@2.2.5:
1640+
fabric-common@2.2.5, fabric-common@^2.2.5:
16411641
version "2.2.5"
16421642
resolved "https://registry.yarnpkg.com/fabric-common/-/fabric-common-2.2.5.tgz#e4a12318a1b1a6b4165ee96d74515574098bf902"
16431643
integrity sha512-nAnga2klnAsyzzPlOwxW8kjKBFWqhAH/P3c987RCjh95h/C1lA0VksjyeMhmRmoo6wxFE5MHv/vY2FVh0gwNCw==
@@ -1943,6 +1943,15 @@ husky@^4.3.8:
19431943
slash "^3.0.0"
19441944
which-pm-runs "^1.0.0"
19451945

1946+
hyperledger-fabric-offline-transaction-signing@^0.0.6:
1947+
version "0.0.6"
1948+
resolved "https://registry.yarnpkg.com/hyperledger-fabric-offline-transaction-signing/-/hyperledger-fabric-offline-transaction-signing-0.0.6.tgz#618bfcbd48504c00189264c023b3fb2d949ce9a1"
1949+
integrity sha512-kDWd2T2pNlDvFS5EPtuAB2+LbVOjdNemNPaDRybvj/eyaOXAufSoDfRwzndgZZjpSF9nqFZpfgHYCpSpVHasYg==
1950+
dependencies:
1951+
elliptic "^6.5.3"
1952+
fabric-common "^2.2.5"
1953+
jsrsasign "^10.1.5"
1954+
19461955
import-fresh@^3.2.1:
19471956
version "3.3.0"
19481957
resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b"
@@ -2210,6 +2219,11 @@ jsprim@^1.2.2:
22102219
json-schema "0.2.3"
22112220
verror "1.10.0"
22122221

2222+
jsrsasign@^10.1.5:
2223+
version "10.1.12"
2224+
resolved "https://registry.yarnpkg.com/jsrsasign/-/jsrsasign-10.1.12.tgz#5df3e9198596f44833ae8b7aa1c637b8d449019a"
2225+
integrity sha512-1IWDl3DQOxXJpShE+Sb7vYOw3RhclqkqLuLagScuQrxgzwpCcp2DJcRzW92O4eSCPqMWoGdNJVfY3TKMb/JBZQ==
2226+
22132227
jsrsasign@^8.0.20:
22142228
version "8.0.24"
22152229
resolved "https://registry.yarnpkg.com/jsrsasign/-/jsrsasign-8.0.24.tgz#fc26bac45494caac3dd8f69c1f95847c4bda6c83"

0 commit comments

Comments
 (0)