Tools, FAQ, Tutorials:
redeem.js - Application to Redeem Paper
What is the Application to Redeem Pape, redeem.js?
✍: FYIcenter.com
redeem.js is a client application using the Hyperledger Fabric Node.js
SDK library to invoke the redeem() function of the papercontract
running on the PaperNet.
1. View redeem.js source code:
(balaji)$ cd ~/hyperledger-binaries/fabric-samples (balaji)$ cd commercial-paper/organization/digibank/application (balaji)$ more redeem.js /* SPDX-License-Identifier: Apache-2.0 * This application has 6 basic steps: * 1. Select an identity from a wallet * 2. Connect to network gateway * 3. Access PaperNet network * 4. Construct request to issue commercial paper * 5. Submit transaction * 6. Process response */ 'use strict'; // Bring key classes into scope, most importantly Fabric SDK network class const fs = require('fs'); const yaml = require('js-yaml'); const { FileSystemWallet, Gateway } = require('fabric-network'); const CommercialPaper = require('../contract/lib/paper.js'); // A wallet stores a collection of identities for use const wallet = new FileSystemWallet('../identity/user/balaji/wallet'); // Main program function async function main() { // A gateway defines the peers used to access Fabric networks const gateway = new Gateway(); // Main try/catch block try { // Specify userName for network access // const userName = 'isabella.issuer@magnetocorp.com'; const userName = 'Admin@org1.example.com'; // Load connection profile; will be used to locate a gateway let connectionProfile = yaml.safeLoad(fs.readFileSync('../gateway/networkConnection.yaml', 'utf8')); // Set connection options; identity and wallet let connectionOptions = { identity: userName, wallet: wallet, discovery: { enabled:false, asLocalhost: true } }; // Connect to gateway using application specified parameters console.log('Connect to Fabric gateway.'); await gateway.connect(connectionProfile, connectionOptions); // Access PaperNet network console.log('Use network channel: mychannel.'); const network = await gateway.getNetwork('mychannel'); // Get addressability to commercial paper contract console.log('Use org.papernet.commercialpaper smart contract.'); const contract = await network.getContract('papercontract', 'org.papernet.commercialpaper'); // redeem commercial paper console.log('Submit commercial paper redeem transaction.'); const redeemResponse = await contract.submitTransaction('redeem', 'MagnetoCorp', '00001', 'DigiBank', '2020-11-30'); // process response console.log('Process redeem transaction response.'); let paper = CommercialPaper.fromBuffer(redeemResponse); console.log(`${paper.issuer} commercial paper : ${paper.paperNumber} successfully redeemed with ${paper.owner}`); console.log('Transaction complete.'); } catch (error) { console.log(`Error processing transaction. ${error}`); console.log(error.stack); } finally { // Disconnect from the gateway console.log('Disconnect from Fabric gateway.') gateway.disconnect(); } } main().then(() => { console.log('Redeem program complete.'); }).catch((e) => { console.log('Redeem program exception.'); console.log(e); console.log(e.stack); process.exit(-1); });
2. Run redeem.js:
(balaji)$ node redeem.js Connect to Fabric gateway. Use network channel: mychannel. Use org.papernet.commercialpaper smart contract. Submit commercial paper redeem transaction. Process redeem transaction response. MagnetoCorp commercial paper : 00001 successfully redeemed with MagnetoCorp Transaction complete. Disconnect from Fabric gateway. Redeem program complete.
Note that how the gateway uses the networkConnection.yaml file to store the connection addresses and port number of PaperNet.
Â
⇒ Hyperledger Fabric Network
⇠buy.js - Application to Buy Paper
⇑ commercial-paper Sample Network
⇑⇑ Hyperledger Tutorials
2019-11-08, 823👍, 0💬
Popular Posts:
What Azure AD App Registration Manifest? Azure AD App Registration Manifest is JSON file that contai...
How to use "xml-to-json" Azure API Policy Statement? The "xml-to-json" Policy Statement allows you t...
How to run CMD Commands in Dockerfile to change Windows Docker images? When building a new Windows i...
Where to find tutorials on EPUB file format? I want to know how to create EPUB books. Here is a larg...
How to add request query string Parameters to my Azure API operation to make it more user friendly? ...