1.0.55 • Published 4 years ago

fabric-web3js v1.0.55

Weekly downloads
16
License
MIT
Repository
-
Last release
4 years ago

Fabric-web3js

Provide offline transaction proposal and transaction sign function.

install

yarn add fabric-web3js

npm install fabric-web3js

Sample

1. Singleton ClientProxy

ClientProxy is the main object used to do most stuff, so firstly get one and the only one instance of it.

Call method - getInstance to get the only one instance.

import { ClientProxy } from 'fabric-web3js';
// singleton instance
const clientProxy = ClientProxy.getInstance();

2. Setup Credential Store for ClientProxy Instance

ClientProxy manages keys(private/public) and certificate through credential store.

Call async method - initCredentialStores to setup credential store. It takes two string parameters:

  • one for KVS
  • one for CVS
await clientProxy.initCredentialStores(
        '/Users/zhangmingqi/Documents/fabric-ca/store/kvs/',
        '/Users/zhangmingqi/Documents/fabric-ca/store/cvs/',
);

3. Add user keys and certificate into credential store.

Call asyc method - addUser to achieve that.

It requires 4 string parameters:

  • identity name/username: unique required
  • organization MSP id
  • private key
  • certificate
import * as fs from 'fs';
import { ClientProxy } from 'fabric-web3js';

const pathOfPrivateKeyFile = '...';
const pathOfCertificateFile = '...';

const privateKeyPEM = fs.readFileSync(pathOfPrivateKeyFile).toString();
const certificate = fs.readFileSync(pathOfCertificateFile,).toString();

const user = await clientProxy.addUser('admin04.org2.test.example.com', 'Org3MSP', privateKeyPEM, certificate);

4. Get user by username

ClientProxy can manage multiple users and username is the only field used to query a user from credential store.

Call method - getUser to get a user from credential store.

const user = await clientProxy.getUser('admin04.org2.test.example.com');

5. Generate unsigned endorsement proposal

Compose a proposal request, then call method - generateUnsignedProposal to achieve that.

const proposalRequest: ProposalRequest = {
    fcn: 'invoke',
    args: ['a', 'b', '10'],
    chaincodeId: 'sample',
    channelId: 'mychannel',
};
const unsignedProposal = clientProxy.generateUnsignedProposal(proposalRequest);

API

initCredentialStores

addUser

getUser

generateUnsignedProposal

generateUnsignedTXPayload

sign

generateSignedProposal

generateSignedTXPayload

License

MIT

Keywords

fabric offline sign proposal transaction client signature

1.0.55

4 years ago

1.0.54

4 years ago

1.0.51

4 years ago

1.0.50

4 years ago

1.0.53

4 years ago

1.0.52

4 years ago

1.0.49

4 years ago

1.0.48

4 years ago

1.0.47

4 years ago

1.0.46

4 years ago

1.0.45

4 years ago

1.0.44

4 years ago

1.0.42

4 years ago

1.0.41

4 years ago

1.0.36

4 years ago

1.0.35

4 years ago