A node.js implementation of Hyperledger Fabric chaincode shim, to allow endorsing peers and user-provided chaincodes to communicate with each other
npm install fabric-shim

The fabric-shim provides the chaincode interface, a lower level API for implementing "Smart Contracts". To confirm that this is the same as the fabric-shim in previous versions of Hyperledger Fabric.
Detailed explanation on the concept and programming model can be found here: https://hyperledger-fabric.readthedocs.io/en/latest/smartcontract/smartcontract.html.
sh
npm install --save fabric-shim
`$3
The chaincode interface contains two methods to be implemented:
`javascript
const shim = require('fabric-shim');const Chaincode = class {
async Init(stub) {
// use the instantiate input arguments to decide initial chaincode state values
// save the initial states
await stub.putState(key, Buffer.from(aStringValue));
return shim.success(Buffer.from('Initialized Successfully!'));
}
async Invoke(stub) {
// use the invoke input arguments to decide intended changes
// retrieve existing chaincode states
let oldValue = await stub.getState(key);
// calculate new state values and saves them
let newValue = oldValue + delta;
await stub.putState(key, Buffer.from(newValue));
return shim.success(Buffer.from(newValue.toString()));
}
};
`Start the chaincode process and listen for incoming endorsement requests:
`javascript
shim.start(new Chaincode());
``This package is distributed under the
Apache License, Version 2.0,
see LICENSE.txt for more information.