{"_id":"fabric-shim-m954","_rev":"29-da882149e501126d2f1fc8b667abbf3c","name":"fabric-shim-m954","dist-tags":{"unstable-1.4":"1.0.29-test","latest":"1.0.0-test"},"versions":{"1.0.0-test":{"name":"fabric-shim-m954","version":"1.0.0-test","tag":"unstable-1.4","description":"A node.js implementation of Hyperledger Fabric chaincode shim, to allow endorsing peers and user-provided chaincodes to communicate with each other","main":"index.js","bin":{"fabric-chaincode-node":"cli.js"},"scripts":{"start":"node index.js","compile":"tsc --project test/typescript","test":"nyc mocha --recursive 'test/unit/**/*.js'"},"repository":{"type":"git","url":"git+https://github.com/hyperledger/fabric-chaincode-node.git"},"keywords":["fabric-shim","Hyperledger Fabric","Fabric Shim"],"engines":{"node":"^8.9.0","npm":"^5.5.1"},"yargs":{"dot-notation":false},"types":"./types/index.d.ts","license":"Apache-2.0","dependencies":{"@ampretia/x509":"^0.4.0","@types/google-protobuf":"^3.2.7","@types/node":"^8.9.4","ajv":"^6.5.5","fs-extra":"^7.0.1","grpc":"1.17.0","jsrsasign":"^8.0.4","reflect-metadata":"^0.1.12","winston":"^3.2.1","yargs":"^10.0.2","yargs-parser":"^11.0.0","protobufjs":"5.0.3"},"devDependencies":{"mocha":"5.2.0","nyc":"13.1.0","typescript":"3.0.1"},"nyc":{"include":["lib/**/*.js"],"exclude":["coverage/**","test/**"],"reporter":["text-summary","html"],"all":true,"check-coverage":true,"statements":100,"branches":100,"functions":100,"lines":100},"bugs":{"url":"https://github.com/hyperledger/fabric-chaincode-node/issues"},"homepage":"https://github.com/hyperledger/fabric-chaincode-node#readme","directories":{"lib":"lib","test":"test"},"author":{"name":"m954"},"_id":"fabric-shim-m954@1.0.0-test","_nodeVersion":"10.16.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-BVheON0afkNi3oyfA0v9E4KQ1rr5HTrSfYZ9GLQ7hkCvPg3k65owzwcPow1kF3dNZZiaQfw5IlH+UPBG4qsEtg==","shasum":"49cf2b931d5e7cdc7d6b06424f463812038d6bdd","tarball":"https://registry.npmjs.org/fabric-shim-m954/-/fabric-shim-m954-1.0.0-test.tgz","fileCount":45,"unpackedSize":481712,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdVSF3CRA9TVsSAnZWagAAyAUP+QGu6iOhn8LKTW2Jazd2\n5hn/h4LWvYjgMI5o6qUdOmcw6L5ukMXUi7tVhB6UUDlRY/83pqthOPJ7DRkt\n7TriFbVWWx2CnDRR6fygO9Ys7ImspJnRT0LxKJmvT+Gq0SH2IbZEjX3CblNZ\njQaQGYSFU7gwl7VMmHzRf5M+dewVs8tkyVKod3FYSmWy4zWztMlumvrw29Kd\nLjJVrJzKEISv396zr5Cs7e1vDBijAKSGe8AyCmG5HoQtX2HKk7FdCM78Hy+c\nuI+C0rhtp8i2a/DNMSkF1Qf780KBXOPEMy/9E8JWYelVz5APRPdxn6RPRDuR\nTvcscg5E7Pp+DvWMpoG7w0j2PaoRml4fu/3MUpvGpFp1nn98VJsjGVKhUUdm\nH3dZJxHavwAZzsH+kdukdJfOV5LWGibCNBZiBzkMByYu5XW4rMVaE4o/Azme\nHucsBNdYy8yIQphLHQ7y6tlBj+r8/rz8kl0GUONN9SdrMK/0jp0OAM19eUeP\nqHOffWJ3wr7MK9cxFhwiaoUdoRCZEYQOYR+LRGzNudjC+9RAe4tFLljsTxR/\nFhoIckinCE2lsdRhzZ3mDsCjbp19TuYpaFzH4O23jv/k00KSAfkXu+8hMBT6\nEpFNNtNKA0iamnY0/ovDKlLpruY5lg79HNZiPFMdAnEgeLpmiW4XTEy6XFdr\n+yXk\r\n=dIDF\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIG4gek3V39vgD3IegLtgLbPemEmBKWPkHg4DJ5OA5TnqAiApBey9iXqECfU0Wezf1OX3VJQqASMQ9KAjJs02Dui6zg=="}]},"maintainers":[{"name":"m954","email":"xu770310@163.com"}],"_npmUser":{"name":"m954","email":"xu770310@163.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fabric-shim-m954_1.0.0-test_1565860214349_0.8198823725481121"},"_hasShrinkwrap":false},"1.0.1-test":{"name":"fabric-shim-m954","version":"1.0.1-test","tag":"unstable-1.4","description":"A node.js implementation of Hyperledger Fabric chaincode shim, to allow endorsing peers and user-provided chaincodes to communicate with each other","main":"index.js","bin":{"fabric-chaincode-node":"cli.js"},"scripts":{"start":"node index.js","compile":"tsc --project test/typescript","test":"nyc mocha --recursive 'test/unit/**/*.js'"},"repository":{"type":"git","url":"git+https://github.com/hyperledger/fabric-chaincode-node.git"},"keywords":["fabric-shim","Hyperledger Fabric","Fabric Shim"],"engines":{"node":"^8.9.0","npm":"^5.5.1"},"yargs":{"dot-notation":false},"types":"./types/index.d.ts","license":"Apache-2.0","dependencies":{"@ampretia/x509":"^0.4.0","@types/google-protobuf":"^3.2.7","@types/node":"^8.9.4","ajv":"^6.5.5","fs-extra":"^7.0.1","grpc":"1.17.0","jsrsasign":"^8.0.4","reflect-metadata":"^0.1.12","winston":"^3.2.1","yargs":"^10.0.2","yargs-parser":"^11.0.0","protobufjs":"5.0.3"},"devDependencies":{"mocha":"5.2.0","nyc":"13.1.0","typescript":"3.0.1"},"nyc":{"include":["lib/**/*.js"],"exclude":["coverage/**","test/**"],"reporter":["text-summary","html"],"all":true,"check-coverage":true,"statements":100,"branches":100,"functions":100,"lines":100},"bugs":{"url":"https://github.com/hyperledger/fabric-chaincode-node/issues"},"homepage":"https://github.com/hyperledger/fabric-chaincode-node#readme","directories":{"lib":"lib","test":"test"},"author":{"name":"m954"},"readme":"[![NPM](https://nodei.co/npm/fabric-shim.svg?downloads=true&downloadRank=true&stars=true)](https://nodei.co/npm/fabric-contract-api/)\n\n\n\n[![Version](https://badge.fury.io/js/fabric-shim.svg)](http://badge.fury.io/js/fabric-shim) [![Build Status](https://jenkins.hyperledger.org/buildStatus/icon?job=fabric-chaincode-node-merge-x86_64)](https://jenkins.hyperledger.org/view/fabric-chaincode-node/job/fabric-chaincode-node-merge-x86_64)\n\n\nThe `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.\n\nDetailed explanation on the concept and programming model can be found here: [http://hyperledger-fabric.readthedocs.io/en/latest/chaincode.html](http://hyperledger-fabric.readthedocs.io/en/latest/chaincode.html).\n\n\n## Chaincode Interface\n\n### Installation\n```sh\nnpm install --save fabric-shim\n```\n\n### Usage\nThe [chaincode interface](https://fabric-shim.github.io/ChaincodeInterface.html) contains two methods to be implemented:\n```javascript\nconst shim = require('fabric-shim');\n\nconst Chaincode = class {\n\tasync Init(stub) {\n\t\t// use the instantiate input arguments to decide initial chaincode state values\n\n\t\t// save the initial states\n\t\tawait stub.putState(key, Buffer.from(aStringValue));\n\n\t\treturn shim.success(Buffer.from('Initialized Successfully!'));\n\t}\n\n\tasync Invoke(stub) {\n\t\t// use the invoke input arguments to decide intended changes\n\n\t\t// retrieve existing chaincode states\n\t\tlet oldValue = await stub.getState(key);\n\n\t\t// calculate new state values and saves them\n\t\tlet newValue = oldValue + delta;\n\t\tawait stub.putState(key, Buffer.from(newValue));\n\n\t\treturn shim.success(Buffer.from(newValue.toString()));\n\t}\n};\n```\n\nStart the chaincode process and listen for incoming endorsement requests:\n```javascript\nshim.start(new Chaincode());\n```\n\n### API Reference\nVisit [fabric-shim.github.io](https://fabric-shim.github.io/) and click on \"Classes\" link in the navigation bar on the top to view the list of class APIs.\n\n## Support\nTested with node.js 8.9.0 (LTS).\n\n## License\n\nThis package is distributed under the\n[Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0),\nsee LICENSE.txt for more information.\n","readmeFilename":"README.md","_id":"fabric-shim-m954@1.0.1-test","_nodeVersion":"10.16.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-jM5nBB04DfXQd4CB2sEJ18EKxfgYKxjDuyCEw3/+OpsdbnKWVeJGjizW+/JIUZPTRAcXSrEpLaA/kHI1mQgyzA==","shasum":"f6ef2c4291ff33df7aaa2ddc51e8d80de20dea62","tarball":"https://registry.npmjs.org/fabric-shim-m954/-/fabric-shim-m954-1.0.1-test.tgz","fileCount":45,"unpackedSize":481714,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdVU1DCRA9TVsSAnZWagAAWiIP/js2KEjzAJzKPOUS3j3k\npahLiXKq561L77rgziCmBVET7+H+xgjspKyVV1Q0h+1nMFwaDRfNLEPQKZQr\nzDY6qJPvCAbwj4xqm3jPUwfZ/AOBUkmP3qBAkl8ZO+JXIAqFiKbjIZW7enru\n/XOEVwnR9iwKPzZUTMXjvl8IEP9rb2IIMT5wCyaxX6kktbvB2+Tlin2cWI21\noULgiOwFQwHRjOMFQKcGmOEMyKc5w/OqMN786gBfCUolJdh4YgMelehvnqM5\nLJ+YX6uAU54yjYhIv/EB2qkT5qfQYtKOFtcKm3NnKiKAMEXK39I33INuPMeX\nGAhVrZ5FepcbnI86t0nbj1aPXHeEEFQtSPfx/jH5oef/CBhKBhz6+RAflTkw\n4FVSit/Gc6IHfvMRuKNeMyvG+GOys5tmzqSVUXZhJvkdntg9IOfkEU7ieIGe\n8KnsMYjCCEUH0fpQf9xdob9cml/7wApu6UZuPyhA82LBq+cyEvGtnYMcF/61\ne8m/pf/Y7DIe3utBqAdnQ+FuKgeyTKedJQ7G8w5qaopjfOJLA1XwoFcJcgq6\n2nf4AfnqnK4g/yOKngEtjCU3raPR2dxUHsS9tHu00ZPY4rlg2JB2NxCy3R0T\nn+dm7wXyUaLndwjpdw1r0izLlmuXpsS2eyI/07Kb+4w18jB60t4ymjiohUaB\nNZDb\r\n=WQG5\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCQNO2+FmKj/6JgnsHZ3L1bwO1GQ6tBoh72SQl5TvunFwIhAKHtk4CRaWlZe79pLbrjUBLKob4E0lpq0KlruTIhsKrk"}]},"maintainers":[{"name":"m954","email":"xu770310@163.com"}],"_npmUser":{"name":"m954","email":"xu770310@163.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fabric-shim-m954_1.0.1-test_1565871426448_0.9478577904479335"},"_hasShrinkwrap":false},"1.0.2-test":{"name":"fabric-shim-m954","version":"1.0.2-test","tag":"unstable-1.4","description":"A node.js implementation of Hyperledger Fabric chaincode shim, to allow endorsing peers and user-provided chaincodes to communicate with each other","main":"index.js","bin":{"fabric-chaincode-node":"cli.js"},"scripts":{"start":"node index.js","compile":"tsc --project test/typescript","test":"nyc mocha --recursive 'test/unit/**/*.js'"},"repository":{"type":"git","url":"git+https://github.com/hyperledger/fabric-chaincode-node.git"},"keywords":["fabric-shim","Hyperledger Fabric","Fabric Shim"],"engines":{"node":"^8.9.0","npm":"^5.5.1"},"yargs":{"dot-notation":false},"types":"./types/index.d.ts","license":"Apache-2.0","dependencies":{"@ampretia/x509":"^0.4.0","@types/google-protobuf":"^3.2.7","@types/node":"^8.9.4","ajv":"^6.5.5","fs-extra":"^7.0.1","grpc":"1.17.0","jsrsasign":"^8.0.4","reflect-metadata":"^0.1.12","winston":"^3.2.1","yargs":"^10.0.2","yargs-parser":"^11.0.0","protobufjs":"5.0.3"},"devDependencies":{"mocha":"5.2.0","nyc":"13.1.0","typescript":"3.0.1"},"nyc":{"include":["lib/**/*.js"],"exclude":["coverage/**","test/**"],"reporter":["text-summary","html"],"all":true,"check-coverage":true,"statements":100,"branches":100,"functions":100,"lines":100},"bugs":{"url":"https://github.com/hyperledger/fabric-chaincode-node/issues"},"homepage":"https://github.com/hyperledger/fabric-chaincode-node#readme","directories":{"lib":"lib","test":"test"},"author":{"name":"m954"},"readme":"[![NPM](https://nodei.co/npm/fabric-shim.svg?downloads=true&downloadRank=true&stars=true)](https://nodei.co/npm/fabric-contract-api/)\n\n\n\n[![Version](https://badge.fury.io/js/fabric-shim.svg)](http://badge.fury.io/js/fabric-shim) [![Build Status](https://jenkins.hyperledger.org/buildStatus/icon?job=fabric-chaincode-node-merge-x86_64)](https://jenkins.hyperledger.org/view/fabric-chaincode-node/job/fabric-chaincode-node-merge-x86_64)\n\n\nThe `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.\n\nDetailed explanation on the concept and programming model can be found here: [http://hyperledger-fabric.readthedocs.io/en/latest/chaincode.html](http://hyperledger-fabric.readthedocs.io/en/latest/chaincode.html).\n\n\n## Chaincode Interface\n\n### Installation\n```sh\nnpm install --save fabric-shim\n```\n\n### Usage\nThe [chaincode interface](https://fabric-shim.github.io/ChaincodeInterface.html) contains two methods to be implemented:\n```javascript\nconst shim = require('fabric-shim');\n\nconst Chaincode = class {\n\tasync Init(stub) {\n\t\t// use the instantiate input arguments to decide initial chaincode state values\n\n\t\t// save the initial states\n\t\tawait stub.putState(key, Buffer.from(aStringValue));\n\n\t\treturn shim.success(Buffer.from('Initialized Successfully!'));\n\t}\n\n\tasync Invoke(stub) {\n\t\t// use the invoke input arguments to decide intended changes\n\n\t\t// retrieve existing chaincode states\n\t\tlet oldValue = await stub.getState(key);\n\n\t\t// calculate new state values and saves them\n\t\tlet newValue = oldValue + delta;\n\t\tawait stub.putState(key, Buffer.from(newValue));\n\n\t\treturn shim.success(Buffer.from(newValue.toString()));\n\t}\n};\n```\n\nStart the chaincode process and listen for incoming endorsement requests:\n```javascript\nshim.start(new Chaincode());\n```\n\n### API Reference\nVisit [fabric-shim.github.io](https://fabric-shim.github.io/) and click on \"Classes\" link in the navigation bar on the top to view the list of class APIs.\n\n## Support\nTested with node.js 8.9.0 (LTS).\n\n## License\n\nThis package is distributed under the\n[Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0),\nsee LICENSE.txt for more information.\n","readmeFilename":"README.md","_id":"fabric-shim-m954@1.0.2-test","_nodeVersion":"10.16.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-WyGuYZ99LpdvzULwhmbOgH+7A+81gyyNojdeD8b2Fy27P2xFUKLClyp3Pw/Yftb1juJwvUO4AVOhE3cIhvRidw==","shasum":"e6543c4cbb12edd4b642c184dddb6ca356fa04c2","tarball":"https://registry.npmjs.org/fabric-shim-m954/-/fabric-shim-m954-1.0.2-test.tgz","fileCount":57,"unpackedSize":535700,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdViCQCRA9TVsSAnZWagAA3D8P/R8vXlJnlpMlYSmU5Agj\nW8HoSdFOpVtCq7VcpXGp3LAodzZeU81MfBFWFFZDsYYU56dsPAi1Dn1EYupA\nPMswOFprd97euYbK7bughKK6t3QsjOIGygC1hf9ax6uc6T/2Iup/l97U2Von\nmFyEr02bZm/0wv/AxHt78WECKrDEPVJk+SzXaOaT4nw9Njvzea5qL5KQMBBR\nVWfHz7kwaO4UonJoEzzk9FkP35TTGk41d8i1+aTMCwzC24fpqmArf7jzXvxy\n0X0/K/KPsl5G50mmoIdRYFkOnImMCQx/8CtRAsQFENXTLS4xL/eFBCybB1Ay\nTnMG0SbQnkAEp0Fj/7LG+P6+IGvODCkNjSDYalVQneCSFXeQ7AKjQNYywgLg\n9npp0O5tupNb5pEsC4zRqlJAY9q8YPqtFzHQw2dKtAdkghuMa4EyP5kLQ96/\nxxWCQiLeHNpzYqH3XPmfd8L3NMJQ43e8Jvngfxvlr4ZT71hT+IEEFYpItT1a\ndP9L7/kl9ngI0uMOb6QgbiAIY/0lsa30DGXieClm+dFw7W+9cAmZkbm0VgcJ\nwjiwrzhAzd6TrIUtTKWT3Zvq0FAAcruuuoRZTohilF40AAZv+kevJLGa3WTm\nT9TcYCbAtw9P75DICttcnDM++L4uQc8tuitAk94eH2PfRovIcN4KH4po4Jeq\nEzDK\r\n=HLlk\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICfSXyGCXT8s4W3AGPoSje+KjyikjDgVYTC1xFDwMjdhAiEAm5jt4TaNIWoWq5r0K/JbQWsTsX+aW1EDOH9VfhN06E0="}]},"maintainers":[{"name":"m954","email":"xu770310@163.com"}],"_npmUser":{"name":"m954","email":"xu770310@163.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fabric-shim-m954_1.0.2-test_1565925519726_0.22051311877750268"},"_hasShrinkwrap":false},"1.0.3-test":{"name":"fabric-shim-m954","version":"1.0.3-test","tag":"unstable-1.4","description":"A node.js implementation of Hyperledger Fabric chaincode shim, to allow endorsing peers and user-provided chaincodes to communicate with each other","main":"index.js","bin":{"fabric-chaincode-node":"cli.js"},"scripts":{"start":"node index.js","compile":"tsc --project test/typescript","test":"nyc mocha --recursive 'test/unit/**/*.js'"},"repository":{"type":"git","url":"git+https://github.com/hyperledger/fabric-chaincode-node.git"},"keywords":["fabric-shim","Hyperledger Fabric","Fabric Shim"],"engines":{"node":"^8.9.0","npm":"^5.5.1"},"yargs":{"dot-notation":false},"types":"./types/index.d.ts","license":"Apache-2.0","dependencies":{"@ampretia/x509":"^0.4.0","@types/google-protobuf":"^3.2.7","@types/node":"^8.9.4","ajv":"^6.5.5","fs-extra":"^7.0.1","grpc":"1.17.0","jsrsasign":"^8.0.4","reflect-metadata":"^0.1.12","winston":"^3.2.1","yargs":"^10.0.2","yargs-parser":"^11.0.0","protobufjs":"5.0.3","threads_a_gogo":"0.1.13"},"devDependencies":{"mocha":"5.2.0","nyc":"13.1.0","typescript":"3.0.1"},"nyc":{"include":["lib/**/*.js"],"exclude":["coverage/**","test/**"],"reporter":["text-summary","html"],"all":true,"check-coverage":true,"statements":100,"branches":100,"functions":100,"lines":100},"bugs":{"url":"https://github.com/hyperledger/fabric-chaincode-node/issues"},"homepage":"https://github.com/hyperledger/fabric-chaincode-node#readme","directories":{"lib":"lib","test":"test"},"author":{"name":"m954"},"readme":"[![NPM](https://nodei.co/npm/fabric-shim.svg?downloads=true&downloadRank=true&stars=true)](https://nodei.co/npm/fabric-contract-api/)\n\n\n\n[![Version](https://badge.fury.io/js/fabric-shim.svg)](http://badge.fury.io/js/fabric-shim) [![Build Status](https://jenkins.hyperledger.org/buildStatus/icon?job=fabric-chaincode-node-merge-x86_64)](https://jenkins.hyperledger.org/view/fabric-chaincode-node/job/fabric-chaincode-node-merge-x86_64)\n\n\nThe `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.\n\nDetailed explanation on the concept and programming model can be found here: [http://hyperledger-fabric.readthedocs.io/en/latest/chaincode.html](http://hyperledger-fabric.readthedocs.io/en/latest/chaincode.html).\n\n\n## Chaincode Interface\n\n### Installation\n```sh\nnpm install --save fabric-shim\n```\n\n### Usage\nThe [chaincode interface](https://fabric-shim.github.io/ChaincodeInterface.html) contains two methods to be implemented:\n```javascript\nconst shim = require('fabric-shim');\n\nconst Chaincode = class {\n\tasync Init(stub) {\n\t\t// use the instantiate input arguments to decide initial chaincode state values\n\n\t\t// save the initial states\n\t\tawait stub.putState(key, Buffer.from(aStringValue));\n\n\t\treturn shim.success(Buffer.from('Initialized Successfully!'));\n\t}\n\n\tasync Invoke(stub) {\n\t\t// use the invoke input arguments to decide intended changes\n\n\t\t// retrieve existing chaincode states\n\t\tlet oldValue = await stub.getState(key);\n\n\t\t// calculate new state values and saves them\n\t\tlet newValue = oldValue + delta;\n\t\tawait stub.putState(key, Buffer.from(newValue));\n\n\t\treturn shim.success(Buffer.from(newValue.toString()));\n\t}\n};\n```\n\nStart the chaincode process and listen for incoming endorsement requests:\n```javascript\nshim.start(new Chaincode());\n```\n\n### API Reference\nVisit [fabric-shim.github.io](https://fabric-shim.github.io/) and click on \"Classes\" link in the navigation bar on the top to view the list of class APIs.\n\n## Support\nTested with node.js 8.9.0 (LTS).\n\n## License\n\nThis package is distributed under the\n[Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0),\nsee LICENSE.txt for more information.\n","readmeFilename":"README.md","_id":"fabric-shim-m954@1.0.3-test","_nodeVersion":"10.16.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-bReBeUQV+bQ8KYPLKobdND5F6q1HDdsbk0itRlNBcZP2cdw0Cc608JxocLl7/BLyXcIleyluoK4I16fzMKtKbA==","shasum":"b7d48ec2e2f7e1122b00656f514c57824c90ea3f","tarball":"https://registry.npmjs.org/fabric-shim-m954/-/fabric-shim-m954-1.0.3-test.tgz","fileCount":57,"unpackedSize":535732,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdVifICRA9TVsSAnZWagAAHlkP/0jTDUrpW9hRvWfQ4f2/\n8gFg3JUVQRJWYD+Iit33+ThHtcW3VKB3sxzD1qbtzX3kFxBGNph69GIi94U0\nMs5ZWtMSMKosdEjRuFWTUMVnQjXLwnSBTLzeM8r52qOwSs5sW2s8O8vf42A8\nuSJ0lX4fM4kuwHjvbrRoFwdqn5LLgtt8FozrJNrNkv9K90RcOaN5AzzOl7dI\n+MY/GPk7pbAMsXXPZtqR7g5fZ3+Tu4jR3dPirTcS0Tdqz9HiouL2TuGoO31B\nV4ZrdviIiGZOjhIGLWqPJgSq84zUu+H47HQuBw1vItySmQiX5vugI33nGyHm\n3zAey8grxGHtXhNnBpdSLxhl+I2nWTWWS9vkdGrwBadD0GtusJ/KX0SqO+3A\nIzvEPqjoL1qZO/5CjGoFX6lOXzXKVXXBIho0ka/gdt1K1yW/OTYlPqqCBGoJ\nEVYx1Nkr7z3SekZp3g28IVD4WPCv8DI2kSrrXZBSQNsO1GqZLWF8FNxO+hOC\nm+9M2RcBzcQRtAycaFCGMpi8IkfaI5mqsorTTzLDwDQq2KOPuydbo4gfmiVM\n2I7IB3GVfrz8npY8yDP+8TI8ykK6iRgItIykzfsjZreiVcJceUa0Uec7YJHA\nBdPIJFRb2+0djSAQ/Ildi2XaQ5fWbDoUgy0PPcu05WD6RkTZ2t0yw0OwmxWY\n0h0e\r\n=IygK\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIC62SuSCCouDSSFSdVcu5mMRZcZVo3Kq7zDulkiBp63oAiA/Ud7qVRSwgsHcXvPg30GXFwxHgvOeS/BmmiRdnxeWUw=="}]},"maintainers":[{"name":"m954","email":"xu770310@163.com"}],"_npmUser":{"name":"m954","email":"xu770310@163.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fabric-shim-m954_1.0.3-test_1565927367663_0.011085427174438056"},"_hasShrinkwrap":false},"1.0.4-test":{"name":"fabric-shim-m954","version":"1.0.4-test","tag":"unstable-1.4","description":"A node.js implementation of Hyperledger Fabric chaincode shim, to allow endorsing peers and user-provided chaincodes to communicate with each other","main":"index.js","bin":{"fabric-chaincode-node":"cli.js"},"scripts":{"start":"node index.js","compile":"tsc --project test/typescript","test":"nyc mocha --recursive 'test/unit/**/*.js'"},"repository":{"type":"git","url":"git+https://github.com/hyperledger/fabric-chaincode-node.git"},"keywords":["fabric-shim","Hyperledger Fabric","Fabric Shim"],"engines":{"node":"^8.9.0","npm":"^5.5.1"},"yargs":{"dot-notation":false},"types":"./types/index.d.ts","license":"Apache-2.0","dependencies":{"@ampretia/x509":"^0.4.0","@types/google-protobuf":"^3.2.7","@types/node":"^8.9.4","ajv":"^6.5.5","fs-extra":"^7.0.1","grpc":"1.17.0","jsrsasign":"^8.0.4","reflect-metadata":"^0.1.12","winston":"^3.2.1","yargs":"^10.0.2","yargs-parser":"^11.0.0","protobufjs":"5.0.3","threadsagogo-xuqq":"1.0.0-test"},"devDependencies":{"mocha":"5.2.0","nyc":"13.1.0","typescript":"3.0.1"},"nyc":{"include":["lib/**/*.js"],"exclude":["coverage/**","test/**"],"reporter":["text-summary","html"],"all":true,"check-coverage":true,"statements":100,"branches":100,"functions":100,"lines":100},"bugs":{"url":"https://github.com/hyperledger/fabric-chaincode-node/issues"},"homepage":"https://github.com/hyperledger/fabric-chaincode-node#readme","directories":{"lib":"lib","test":"test"},"author":{"name":"m954"},"readme":"[![NPM](https://nodei.co/npm/fabric-shim.svg?downloads=true&downloadRank=true&stars=true)](https://nodei.co/npm/fabric-contract-api/)\n\n\n\n[![Version](https://badge.fury.io/js/fabric-shim.svg)](http://badge.fury.io/js/fabric-shim) [![Build Status](https://jenkins.hyperledger.org/buildStatus/icon?job=fabric-chaincode-node-merge-x86_64)](https://jenkins.hyperledger.org/view/fabric-chaincode-node/job/fabric-chaincode-node-merge-x86_64)\n\n\nThe `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.\n\nDetailed explanation on the concept and programming model can be found here: [http://hyperledger-fabric.readthedocs.io/en/latest/chaincode.html](http://hyperledger-fabric.readthedocs.io/en/latest/chaincode.html).\n\n\n## Chaincode Interface\n\n### Installation\n```sh\nnpm install --save fabric-shim\n```\n\n### Usage\nThe [chaincode interface](https://fabric-shim.github.io/ChaincodeInterface.html) contains two methods to be implemented:\n```javascript\nconst shim = require('fabric-shim');\n\nconst Chaincode = class {\n\tasync Init(stub) {\n\t\t// use the instantiate input arguments to decide initial chaincode state values\n\n\t\t// save the initial states\n\t\tawait stub.putState(key, Buffer.from(aStringValue));\n\n\t\treturn shim.success(Buffer.from('Initialized Successfully!'));\n\t}\n\n\tasync Invoke(stub) {\n\t\t// use the invoke input arguments to decide intended changes\n\n\t\t// retrieve existing chaincode states\n\t\tlet oldValue = await stub.getState(key);\n\n\t\t// calculate new state values and saves them\n\t\tlet newValue = oldValue + delta;\n\t\tawait stub.putState(key, Buffer.from(newValue));\n\n\t\treturn shim.success(Buffer.from(newValue.toString()));\n\t}\n};\n```\n\nStart the chaincode process and listen for incoming endorsement requests:\n```javascript\nshim.start(new Chaincode());\n```\n\n### API Reference\nVisit [fabric-shim.github.io](https://fabric-shim.github.io/) and click on \"Classes\" link in the navigation bar on the top to view the list of class APIs.\n\n## Support\nTested with node.js 8.9.0 (LTS).\n\n## License\n\nThis package is distributed under the\n[Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0),\nsee LICENSE.txt for more information.\n","readmeFilename":"README.md","_id":"fabric-shim-m954@1.0.4-test","_npmVersion":"5.6.0","_nodeVersion":"8.10.0","_npmUser":{"name":"m954","email":"xu770310@163.com"},"dist":{"integrity":"sha512-Vl85tq6zVvlYL36o5p5QSCB8iWIDPYNQdQt/m++f/AePnCjiAZNjDsOl+mZQnF652DCLJDWChdE0lo1EhsxP0Q==","shasum":"78c26108a85d821a81ce6052a18fd08d34f6b21b","tarball":"https://registry.npmjs.org/fabric-shim-m954/-/fabric-shim-m954-1.0.4-test.tgz","fileCount":57,"unpackedSize":535742,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdVkWwCRA9TVsSAnZWagAAV9kP/1RgK54tLLHvnc7DRSRW\n4mylJ+R5Okur2+3dm5xwICFOoZ1FENbDWjBh0NebAhNPYnuc2EgupokJ/JQ8\nsj041OW6kqziF6JH3GoqlCvDosv6FxDmzdNERZ71MMESJ3VeeZ3v/IePveW3\nrH6vCh96tS3k4lqL0a+oZnavX3EWvd4AXWODuRFwV5DOESGnOMGhO7ODUNsv\nDLwjF0AIhZ00arJa01yPR6zN38geK/JujB4/Y0FW1IOfUJ2Xx3/D8nw1B6wM\nMnHwQMm53pXa8JkpH1hsqzbxOYBPURQfR4Jrh3CuL69j8722vycAJIJEBYeq\nH1rKbyXmQ0rTnizAaVg4lAPbhZcNoyLQc9oeimq5aWqi8NCtDfRq4UrSix8F\nq+/guH214KB4t1bMglx/+Bt0HKpbVHMAZX+E6eNWKC1gYaOOhUzrSLl8LJM0\nQQqiWD4HqCScO0Gi5iVWajr/LGC/ulEXgsqNAanWu3UnkKembmAfp70ed6vR\nhJ2jM92am1N2wuUKig6He0tfUXsvofLdPKoA+PzZoaSEjPEc+SeoL5EzE1vK\ndRDDucrl4CZ9ozgoyFxK2IF8/jEGAE/X52pSyEfL66quyis7vrLc0ZoX6lAY\n8swPUpWpZgcOq5M2aWKDzGjP6uYeaaz4/gfoqlO3ZkAwm82hwh1r0TPTcVco\np+Pl\r\n=FDnR\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDYt6VQ8Mp5jcOdQlSzy4AgcRj7TTk2lumppXRZ3leklQIhAPXpsADN6ZENYlFYngMT6Lvko9Z6uHgFP24KGzDiy4hQ"}]},"maintainers":[{"name":"m954","email":"xu770310@163.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fabric-shim-m954_1.0.4-test_1565935023955_0.14761154468578885"},"_hasShrinkwrap":false},"1.0.5-test":{"name":"fabric-shim-m954","version":"1.0.5-test","tag":"unstable-1.4","description":"A node.js implementation of Hyperledger Fabric chaincode shim, to allow endorsing peers and user-provided chaincodes to communicate with each other","main":"index.js","bin":{"fabric-chaincode-node":"cli.js"},"scripts":{"start":"node index.js","compile":"tsc --project test/typescript","test":"nyc mocha --recursive 'test/unit/**/*.js'"},"repository":{"type":"git","url":"git+https://github.com/hyperledger/fabric-chaincode-node.git"},"keywords":["fabric-shim","Hyperledger Fabric","Fabric Shim"],"engines":{"node":"^8.9.0","npm":"^5.5.1"},"yargs":{"dot-notation":false},"types":"./types/index.d.ts","license":"Apache-2.0","dependencies":{"@ampretia/x509":"^0.4.0","@types/google-protobuf":"^3.2.7","@types/node":"^8.9.4","ajv":"^6.5.5","fs-extra":"^7.0.1","grpc":"1.17.0","jsrsasign":"^8.0.4","reflect-metadata":"^0.1.12","winston":"^3.2.1","yargs":"^10.0.2","yargs-parser":"^11.0.0","protobufjs":"5.0.3","threadsagogo-xuqq":"1.0.0-test"},"devDependencies":{"mocha":"5.2.0","nyc":"13.1.0","typescript":"3.0.1"},"nyc":{"include":["lib/**/*.js"],"exclude":["coverage/**","test/**"],"reporter":["text-summary","html"],"all":true,"check-coverage":true,"statements":100,"branches":100,"functions":100,"lines":100},"bugs":{"url":"https://github.com/hyperledger/fabric-chaincode-node/issues"},"homepage":"https://github.com/hyperledger/fabric-chaincode-node#readme","directories":{"lib":"lib","test":"test"},"author":{"name":"m954"},"readme":"[![NPM](https://nodei.co/npm/fabric-shim.svg?downloads=true&downloadRank=true&stars=true)](https://nodei.co/npm/fabric-contract-api/)\n\n\n\n[![Version](https://badge.fury.io/js/fabric-shim.svg)](http://badge.fury.io/js/fabric-shim) [![Build Status](https://jenkins.hyperledger.org/buildStatus/icon?job=fabric-chaincode-node-merge-x86_64)](https://jenkins.hyperledger.org/view/fabric-chaincode-node/job/fabric-chaincode-node-merge-x86_64)\n\n\nThe `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.\n\nDetailed explanation on the concept and programming model can be found here: [http://hyperledger-fabric.readthedocs.io/en/latest/chaincode.html](http://hyperledger-fabric.readthedocs.io/en/latest/chaincode.html).\n\n\n## Chaincode Interface\n\n### Installation\n```sh\nnpm install --save fabric-shim\n```\n\n### Usage\nThe [chaincode interface](https://fabric-shim.github.io/ChaincodeInterface.html) contains two methods to be implemented:\n```javascript\nconst shim = require('fabric-shim');\n\nconst Chaincode = class {\n\tasync Init(stub) {\n\t\t// use the instantiate input arguments to decide initial chaincode state values\n\n\t\t// save the initial states\n\t\tawait stub.putState(key, Buffer.from(aStringValue));\n\n\t\treturn shim.success(Buffer.from('Initialized Successfully!'));\n\t}\n\n\tasync Invoke(stub) {\n\t\t// use the invoke input arguments to decide intended changes\n\n\t\t// retrieve existing chaincode states\n\t\tlet oldValue = await stub.getState(key);\n\n\t\t// calculate new state values and saves them\n\t\tlet newValue = oldValue + delta;\n\t\tawait stub.putState(key, Buffer.from(newValue));\n\n\t\treturn shim.success(Buffer.from(newValue.toString()));\n\t}\n};\n```\n\nStart the chaincode process and listen for incoming endorsement requests:\n```javascript\nshim.start(new Chaincode());\n```\n\n### API Reference\nVisit [fabric-shim.github.io](https://fabric-shim.github.io/) and click on \"Classes\" link in the navigation bar on the top to view the list of class APIs.\n\n## Support\nTested with node.js 8.9.0 (LTS).\n\n## License\n\nThis package is distributed under the\n[Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0),\nsee LICENSE.txt for more information.\n","readmeFilename":"README.md","_id":"fabric-shim-m954@1.0.5-test","_npmVersion":"5.6.0","_nodeVersion":"8.10.0","_npmUser":{"name":"m954","email":"xu770310@163.com"},"dist":{"integrity":"sha512-RCMlNAh7wfk5A01+Dq3SFbwHfmzFXi0Y9c3OaEfsSc7BdKBQhfcUEK2jLYVu5BMhze64mzhtHSgYxJwHmn2rCA==","shasum":"6895d141712ef1c41918ecf6c19345d976a52099","tarball":"https://registry.npmjs.org/fabric-shim-m954/-/fabric-shim-m954-1.0.5-test.tgz","fileCount":57,"unpackedSize":535742,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdVkfDCRA9TVsSAnZWagAAXFkP/RPNbGppDGph3815QBUv\nPF3oxMlLhAkQXbi1jQdk3Iz7777WvR8zj1yYu+bsAli11bi+8I/Vr1W2OsZv\noHdhQsDAVlymrfHhf+2rN0bIeAxUhi/j6sE9zKsxKCH4YC8OvkP5PYf4vES7\niyWx8UuFcq9EnksmZ5RlT09ry8DPHjP3ZgKxA87/qyCTAmgyCqJcCTjpeiFI\nOls9nyokcSWE+vV0KBGQ4BP3q4ltGSazxwsTZZNwIl98TGkYDfhXT/zL3Ozv\nuwJ0bfjbmv8Ijq6UL+qDeuyAUdPFu8UTjJZtJ7S6V0+fd2DkQSJvkih2MWga\nrH2Dt2XtqEYvXl6lr7/7AfR6VsCmgPfSEL9SGuPpcwgmdmuFHFVI8yoasNVW\nDI1F/JLBu1ZoxooiT83Qn9LnKUBqsNUwfHAoxvyejrMF1NDTgARgTr9UNrzM\nOwmsR2mb4Pcvqb6LXEJSYiycp4cjJbsgWWO/fqmWbdXhRZOtPkyrygsKyJ3x\nZkqFrbXnBTGAlY226CVGsyKuXkL8SVKmYpA8B46/lRvNyatqhNmLBIjFn3gT\nPZTVtQLxNGPn+Vrx+tfXIQo3d5xCCHQ7L47uh8V0ElBRq7sXSBkf9tbXVr5I\ng28YT9WEnqRE7XD2/SItfEESrPTDUFWbvHMmWMe7HdUDXJkYrwqrY7yNd4dD\n1bCZ\r\n=hj8V\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDMMfIQx8fjmnNNqUN+BPi6jIuM24gEWTMcfESWjv63tAiEA76bm7Z0yPYedKAziie6y3Kg15Ya2KerHAu0MIOP4WV4="}]},"maintainers":[{"name":"m954","email":"xu770310@163.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fabric-shim-m954_1.0.5-test_1565935555178_0.7707899120093571"},"_hasShrinkwrap":false},"1.0.7-test":{"name":"fabric-shim-m954","version":"1.0.7-test","tag":"unstable-1.4","description":"A node.js implementation of Hyperledger Fabric chaincode shim, to allow endorsing peers and user-provided chaincodes to communicate with each other","main":"index.js","bin":{"fabric-chaincode-node":"cli.js"},"scripts":{"start":"node index.js","compile":"tsc --project test/typescript","test":"nyc mocha --recursive 'test/unit/**/*.js'"},"repository":{"type":"git","url":"git+https://github.com/hyperledger/fabric-chaincode-node.git"},"keywords":["fabric-shim","Hyperledger Fabric","Fabric Shim"],"engines":{"node":"^8.9.0","npm":"^5.5.1"},"yargs":{"dot-notation":false},"types":"./types/index.d.ts","license":"Apache-2.0","dependencies":{"@ampretia/x509":"^0.4.0","@types/google-protobuf":"^3.2.7","@types/node":"^8.9.4","ajv":"^6.5.5","fs-extra":"^7.0.1","grpc":"1.17.0","jsrsasign":"^8.0.4","reflect-metadata":"^0.1.12","winston":"^3.2.1","yargs":"^10.0.2","yargs-parser":"^11.0.0","protobufjs":"5.0.3","threadsagogo-xuqq":"1.0.0-test"},"devDependencies":{"mocha":"5.2.0","nyc":"13.1.0","typescript":"3.0.1"},"nyc":{"include":["lib/**/*.js"],"exclude":["coverage/**","test/**"],"reporter":["text-summary","html"],"all":true,"check-coverage":true,"statements":100,"branches":100,"functions":100,"lines":100},"bugs":{"url":"https://github.com/hyperledger/fabric-chaincode-node/issues"},"homepage":"https://github.com/hyperledger/fabric-chaincode-node#readme","directories":{"lib":"lib","test":"test"},"author":{"name":"m954"},"readme":"[![NPM](https://nodei.co/npm/fabric-shim.svg?downloads=true&downloadRank=true&stars=true)](https://nodei.co/npm/fabric-contract-api/)\n\n\n\n[![Version](https://badge.fury.io/js/fabric-shim.svg)](http://badge.fury.io/js/fabric-shim) [![Build Status](https://jenkins.hyperledger.org/buildStatus/icon?job=fabric-chaincode-node-merge-x86_64)](https://jenkins.hyperledger.org/view/fabric-chaincode-node/job/fabric-chaincode-node-merge-x86_64)\n\n\nThe `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.\n\nDetailed explanation on the concept and programming model can be found here: [http://hyperledger-fabric.readthedocs.io/en/latest/chaincode.html](http://hyperledger-fabric.readthedocs.io/en/latest/chaincode.html).\n\n\n## Chaincode Interface\n\n### Installation\n```sh\nnpm install --save fabric-shim\n```\n\n### Usage\nThe [chaincode interface](https://fabric-shim.github.io/ChaincodeInterface.html) contains two methods to be implemented:\n```javascript\nconst shim = require('fabric-shim');\n\nconst Chaincode = class {\n\tasync Init(stub) {\n\t\t// use the instantiate input arguments to decide initial chaincode state values\n\n\t\t// save the initial states\n\t\tawait stub.putState(key, Buffer.from(aStringValue));\n\n\t\treturn shim.success(Buffer.from('Initialized Successfully!'));\n\t}\n\n\tasync Invoke(stub) {\n\t\t// use the invoke input arguments to decide intended changes\n\n\t\t// retrieve existing chaincode states\n\t\tlet oldValue = await stub.getState(key);\n\n\t\t// calculate new state values and saves them\n\t\tlet newValue = oldValue + delta;\n\t\tawait stub.putState(key, Buffer.from(newValue));\n\n\t\treturn shim.success(Buffer.from(newValue.toString()));\n\t}\n};\n```\n\nStart the chaincode process and listen for incoming endorsement requests:\n```javascript\nshim.start(new Chaincode());\n```\n\n### API Reference\nVisit [fabric-shim.github.io](https://fabric-shim.github.io/) and click on \"Classes\" link in the navigation bar on the top to view the list of class APIs.\n\n## Support\nTested with node.js 8.9.0 (LTS).\n\n## License\n\nThis package is distributed under the\n[Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0),\nsee LICENSE.txt for more information.\n","readmeFilename":"README.md","_id":"fabric-shim-m954@1.0.7-test","_npmVersion":"5.6.0","_nodeVersion":"8.10.0","_npmUser":{"name":"m954","email":"xu770310@163.com"},"dist":{"integrity":"sha512-J//DGKzpUfUigIUd9xrNeLcg1FjkdP9e+Em1scyL3wxq+KWM44aV7bASwF57Wks0cfAN4m5y57f/dd36BGDVCw==","shasum":"d5fbabacbd5f0c3b0df6f2dd130242b350c85858","tarball":"https://registry.npmjs.org/fabric-shim-m954/-/fabric-shim-m954-1.0.7-test.tgz","fileCount":57,"unpackedSize":535832,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdVlJeCRA9TVsSAnZWagAAzQ4QAJl1LKDNbwyQcaaEB2z1\nc9WZ8SezUrdBbmJQm4a4EQ1Gu5LduLpzP8ibHTjtzRc/V4vVBVpVCKGgGGCW\nv9tA0jYjgPJyh6g/Rd34ZlFAXs/HoVV4luiPJx0dvlB9vqO22wiJlsWjxHiZ\n3uNcug8ynrNpZYhnmQqhKAHUm4V24mD2SQARB0rzJgCR2nYIyVTxIsHl4oMr\nyxX07wxhrlJ6A16fv6gRqJ6lLZcs1PL1lCL65uJFZQy5RbrZx8DKhis8gj3s\nqwlC6MISUQEtqB58EUk/jII9yuwnCqsRrlz12oLM+JJzOxudBZex7BXJ0Ajs\ngMYKdXgD9DV9PRx8vvMO/wYNQiZ7Ptl9o7wfWN/SFfLxhwluKyEKcUA2jep4\npRk0p1UyOZD1uevfMwye3GMHvVB8CxK4OtzRyWukeME/xd5Lu9KsEmUHfLxn\n6c7eE8RnrXSthfanIIbNaNIJcNxNLqdVjeHqE8T1+fQPqPPN7R0dCA3YUF7k\nx4YflVTaILjUKT68jWAxzilCZe3ZrGjglQiHXzQ8azc/Yf8gHJu3hHyVMWhM\n4hqN+Tls0VkygMuy6GfM60zGYK6Q0rViiDir0zpuRkjWZFogq3MMAX2h3GO5\nRkn0HtidHlXS5ShrHNmu+qCUOJ7ZZtV4TdFyX1kw1PCES0Txd3SnJoYf+UYj\nMwli\r\n=J4S8\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDBYK4oJqwzuEVdHU+v2jfkQqvuvhA8EHSOO0XeB1I4jwIhAKrO3z7q44wPFByrdtCffUVtJINtaLAQa1bGw25tr7ma"}]},"maintainers":[{"name":"m954","email":"xu770310@163.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fabric-shim-m954_1.0.7-test_1565938269621_0.33518670020004504"},"_hasShrinkwrap":false},"1.0.8-test":{"name":"fabric-shim-m954","version":"1.0.8-test","tag":"unstable-1.4","description":"A node.js implementation of Hyperledger Fabric chaincode shim, to allow endorsing peers and user-provided chaincodes to communicate with each other","main":"index.js","bin":{"fabric-chaincode-node":"cli.js"},"scripts":{"start":"node index.js","compile":"tsc --project test/typescript","test":"nyc mocha --recursive 'test/unit/**/*.js'"},"repository":{"type":"git","url":"git+https://github.com/hyperledger/fabric-chaincode-node.git"},"keywords":["fabric-shim","Hyperledger Fabric","Fabric Shim"],"engines":{"node":"^8.9.0","npm":"^5.5.1"},"yargs":{"dot-notation":false},"types":"./types/index.d.ts","license":"Apache-2.0","dependencies":{"@ampretia/x509":"^0.4.0","@types/google-protobuf":"^3.2.7","@types/node":"^8.9.4","ajv":"^6.5.5","fs-extra":"^7.0.1","grpc":"1.17.0","jsrsasign":"^8.0.4","reflect-metadata":"^0.1.12","winston":"^3.2.1","yargs":"^10.0.2","yargs-parser":"^11.0.0","protobufjs":"5.0.3","threadsagogo-xuqq":"1.0.0-test"},"devDependencies":{"mocha":"5.2.0","nyc":"13.1.0","typescript":"3.0.1"},"nyc":{"include":["lib/**/*.js"],"exclude":["coverage/**","test/**"],"reporter":["text-summary","html"],"all":true,"check-coverage":true,"statements":100,"branches":100,"functions":100,"lines":100},"bugs":{"url":"https://github.com/hyperledger/fabric-chaincode-node/issues"},"homepage":"https://github.com/hyperledger/fabric-chaincode-node#readme","directories":{"lib":"lib","test":"test"},"author":{"name":"m954"},"readme":"[![NPM](https://nodei.co/npm/fabric-shim.svg?downloads=true&downloadRank=true&stars=true)](https://nodei.co/npm/fabric-contract-api/)\n\n\n\n[![Version](https://badge.fury.io/js/fabric-shim.svg)](http://badge.fury.io/js/fabric-shim) [![Build Status](https://jenkins.hyperledger.org/buildStatus/icon?job=fabric-chaincode-node-merge-x86_64)](https://jenkins.hyperledger.org/view/fabric-chaincode-node/job/fabric-chaincode-node-merge-x86_64)\n\n\nThe `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.\n\nDetailed explanation on the concept and programming model can be found here: [http://hyperledger-fabric.readthedocs.io/en/latest/chaincode.html](http://hyperledger-fabric.readthedocs.io/en/latest/chaincode.html).\n\n\n## Chaincode Interface\n\n### Installation\n```sh\nnpm install --save fabric-shim\n```\n\n### Usage\nThe [chaincode interface](https://fabric-shim.github.io/ChaincodeInterface.html) contains two methods to be implemented:\n```javascript\nconst shim = require('fabric-shim');\n\nconst Chaincode = class {\n\tasync Init(stub) {\n\t\t// use the instantiate input arguments to decide initial chaincode state values\n\n\t\t// save the initial states\n\t\tawait stub.putState(key, Buffer.from(aStringValue));\n\n\t\treturn shim.success(Buffer.from('Initialized Successfully!'));\n\t}\n\n\tasync Invoke(stub) {\n\t\t// use the invoke input arguments to decide intended changes\n\n\t\t// retrieve existing chaincode states\n\t\tlet oldValue = await stub.getState(key);\n\n\t\t// calculate new state values and saves them\n\t\tlet newValue = oldValue + delta;\n\t\tawait stub.putState(key, Buffer.from(newValue));\n\n\t\treturn shim.success(Buffer.from(newValue.toString()));\n\t}\n};\n```\n\nStart the chaincode process and listen for incoming endorsement requests:\n```javascript\nshim.start(new Chaincode());\n```\n\n### API Reference\nVisit [fabric-shim.github.io](https://fabric-shim.github.io/) and click on \"Classes\" link in the navigation bar on the top to view the list of class APIs.\n\n## Support\nTested with node.js 8.9.0 (LTS).\n\n## License\n\nThis package is distributed under the\n[Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0),\nsee LICENSE.txt for more information.\n","readmeFilename":"README.md","_id":"fabric-shim-m954@1.0.8-test","_npmVersion":"5.6.0","_nodeVersion":"8.10.0","_npmUser":{"name":"m954","email":"xu770310@163.com"},"dist":{"integrity":"sha512-X32JikeHY492WDtNvjcprttLxLhi9wN8xCIsXG+iQG3ubUQkMeyojEBuj3LvpH6DmFOW2iB/K1vPYNZvxYFQ8Q==","shasum":"0eba70431c47210058876bd875d8f3f807493ddd","tarball":"https://registry.npmjs.org/fabric-shim-m954/-/fabric-shim-m954-1.0.8-test.tgz","fileCount":57,"unpackedSize":535859,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdVlP/CRA9TVsSAnZWagAA7ZIQAJ+vDODYQAdv4n+1c3By\n8HSM+hvTIVVptuwM/b01ldjjPTVcnZ1Sk8zvb9kF+K5TtsahAlucBYctuav2\neHclxTvYRzJUcyABiGryP7rYd5BIZxsDj6feyRfbdeIxtdNYHByt+AO6tRVe\nOfHNQw7lfg74NaZtjcXoCE6JHiLxzuP07HTg1/sSShR4tlJBHXSsoJFpzC7o\nPxxEa7sauWDCVR+G2tFxP3vFr89QWbhbTuN80res3HkiUFUyjZXkCjQznpno\nlTRg4SzxjnAxhdtcEMVM3mF+UGGlCeRjox62cA+XoMnchjoB4gnzJ/d3fsOw\nRjme2c7dFiXL4xPn4Ea5n6zBbN4U26r7xRYKfzEuXMYIKFWZksEdI7h1sJ/Z\nxHtT4xzL4uWzZCWxpmanof4iFuC8Hqzeqmhf1LoVFYf6wph2f+7LHrgataJj\nsmPtaeToEVG+gHtcznMjYmPmn/MMBeq8UuJVBtPVDpsJliNt4fORTVSrAzFu\nrijtLWrBNUzcNz6FNHb8W8j3vgTAG+2r0NuIFeClBzS51VXdrBWeRnyge8VF\ns08uGwHJG6Qw/9VnDMqD9Iwlnw3EoyeQrmTamE1HeIoM1aM9XdjPp0iLmrcV\nig39FOS2YFOaFX14sh4kvALrgdiQibhVpdXigFYseXpbtoLpQo9aGe1pQ7Yz\n0sgt\r\n=5U/0\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDPxMmJX4LR+s8J9WDlxBbbZW8W5nurSXls1xpyJNaqfgIhAMnWgFMwmbMrbxmrpfqsaZvPLODLTEYzcaVHi5ml9EnS"}]},"maintainers":[{"name":"m954","email":"xu770310@163.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fabric-shim-m954_1.0.8-test_1565938686862_0.3628909850525035"},"_hasShrinkwrap":false},"1.0.9-test":{"name":"fabric-shim-m954","version":"1.0.9-test","tag":"unstable-1.4","description":"A node.js implementation of Hyperledger Fabric chaincode shim, to allow endorsing peers and user-provided chaincodes to communicate with each other","main":"index.js","bin":{"fabric-chaincode-node":"cli.js"},"scripts":{"start":"node index.js","compile":"tsc --project test/typescript","test":"nyc mocha --recursive 'test/unit/**/*.js'"},"repository":{"type":"git","url":"git+https://github.com/hyperledger/fabric-chaincode-node.git"},"keywords":["fabric-shim","Hyperledger Fabric","Fabric Shim"],"engines":{"node":"^8.9.0","npm":"^5.5.1"},"yargs":{"dot-notation":false},"types":"./types/index.d.ts","license":"Apache-2.0","dependencies":{"@ampretia/x509":"^0.4.0","@types/google-protobuf":"^3.2.7","@types/node":"^8.9.4","ajv":"^6.5.5","fs-extra":"^7.0.1","grpc":"1.17.0","jsrsasign":"^8.0.4","reflect-metadata":"^0.1.12","winston":"^3.2.1","yargs":"^10.0.2","yargs-parser":"^11.0.0","protobufjs":"5.0.3","threadsagogo-xuqq":"1.0.0-test"},"devDependencies":{"mocha":"5.2.0","nyc":"13.1.0","typescript":"3.0.1"},"nyc":{"include":["lib/**/*.js"],"exclude":["coverage/**","test/**"],"reporter":["text-summary","html"],"all":true,"check-coverage":true,"statements":100,"branches":100,"functions":100,"lines":100},"bugs":{"url":"https://github.com/hyperledger/fabric-chaincode-node/issues"},"homepage":"https://github.com/hyperledger/fabric-chaincode-node#readme","directories":{"lib":"lib","test":"test"},"author":{"name":"m954"},"readme":"[![NPM](https://nodei.co/npm/fabric-shim.svg?downloads=true&downloadRank=true&stars=true)](https://nodei.co/npm/fabric-contract-api/)\n\n\n\n[![Version](https://badge.fury.io/js/fabric-shim.svg)](http://badge.fury.io/js/fabric-shim) [![Build Status](https://jenkins.hyperledger.org/buildStatus/icon?job=fabric-chaincode-node-merge-x86_64)](https://jenkins.hyperledger.org/view/fabric-chaincode-node/job/fabric-chaincode-node-merge-x86_64)\n\n\nThe `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.\n\nDetailed explanation on the concept and programming model can be found here: [http://hyperledger-fabric.readthedocs.io/en/latest/chaincode.html](http://hyperledger-fabric.readthedocs.io/en/latest/chaincode.html).\n\n\n## Chaincode Interface\n\n### Installation\n```sh\nnpm install --save fabric-shim\n```\n\n### Usage\nThe [chaincode interface](https://fabric-shim.github.io/ChaincodeInterface.html) contains two methods to be implemented:\n```javascript\nconst shim = require('fabric-shim');\n\nconst Chaincode = class {\n\tasync Init(stub) {\n\t\t// use the instantiate input arguments to decide initial chaincode state values\n\n\t\t// save the initial states\n\t\tawait stub.putState(key, Buffer.from(aStringValue));\n\n\t\treturn shim.success(Buffer.from('Initialized Successfully!'));\n\t}\n\n\tasync Invoke(stub) {\n\t\t// use the invoke input arguments to decide intended changes\n\n\t\t// retrieve existing chaincode states\n\t\tlet oldValue = await stub.getState(key);\n\n\t\t// calculate new state values and saves them\n\t\tlet newValue = oldValue + delta;\n\t\tawait stub.putState(key, Buffer.from(newValue));\n\n\t\treturn shim.success(Buffer.from(newValue.toString()));\n\t}\n};\n```\n\nStart the chaincode process and listen for incoming endorsement requests:\n```javascript\nshim.start(new Chaincode());\n```\n\n### API Reference\nVisit [fabric-shim.github.io](https://fabric-shim.github.io/) and click on \"Classes\" link in the navigation bar on the top to view the list of class APIs.\n\n## Support\nTested with node.js 8.9.0 (LTS).\n\n## License\n\nThis package is distributed under the\n[Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0),\nsee LICENSE.txt for more information.\n","readmeFilename":"README.md","_id":"fabric-shim-m954@1.0.9-test","_npmVersion":"5.6.0","_nodeVersion":"8.10.0","_npmUser":{"name":"m954","email":"xu770310@163.com"},"dist":{"integrity":"sha512-++5OGm1mLw+QP8epO9v7gYLGDcyhsiXpX2BczTJnjBpw8MLvLTzYeb7Bq90xJz0GImnHwv0c+Y1LFQiw59Tv7A==","shasum":"841e635b0784d645f41e4946f5450626ba1dcb23","tarball":"https://registry.npmjs.org/fabric-shim-m954/-/fabric-shim-m954-1.0.9-test.tgz","fileCount":57,"unpackedSize":535938,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdVlr6CRA9TVsSAnZWagAAtGEQAJZv/iYjmslk5DTDC9TM\n7M8Kb2NoLnhCr6e67rwjBN6JV4+y0LhrpvJ7BPz0vt1JGptyf0Y6xEvLy+KH\ngWp5tJh4x6AGQB+ppIZs5DtWaDofqscNTXSi//VSmT6D5K5CRdDibIln1inf\neKr6OgGhloNwUtLpEZeU4ru1O96XS5Th5HK3dcbL4xKnph6Z7uG4u6eYQcpg\nK8zily59jAMmjxIKCw2LrgGJGEMBneNZGCZE5jI46iB6QKniUIvC3Xytxd3x\nmMXxvt23E3FWvvOE+ZSph9vn8wXVHSIqq4aFgEvjgBsRVbLygfYgKhvG9KmW\nLurLI3acEmbW8GbrxybZCrIYmh8IdjQ/50mpZK5NME1hycdon3drFbtIjnTh\na95OLnlMWOKadOJykfvs9KQuhiETz5HAOor4Ciiem5FAAHBSwRcOkThp5Eu3\nZgfykrKV86iCrDVMnLcW2ERlDl7vLge6wL/YtmZAA/M/Wc/rOSUIMBjZT+E5\ngf4z4GXTsleayKSfdDiVI42WzTl3+Tg2T7Zibod9UUCdL2A439kHVy2js+x/\n2560MQkjvWf9CLHf8oqQRDl+Uy/kh5pyGmBxqHL/IlAo0rNDY2fiolfKAU2e\nOLdlH1o/97soX97gDmxTzThxUrMwjaQMy5JJNZZdNZDWxWiQS/emPZaAP9pv\nREmU\r\n=KRIM\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAd1cMXuIouMl+ktuIP12gBJRbaeRRhktcLwj0Pdv7VxAiA2LbgIwbmIe49PJIS4BUViPAcrOoYXgvRY8gX+Zml47g=="}]},"maintainers":[{"name":"m954","email":"xu770310@163.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fabric-shim-m954_1.0.9-test_1565940473874_0.36003583418198426"},"_hasShrinkwrap":false},"1.0.10-test":{"name":"fabric-shim-m954","version":"1.0.10-test","tag":"unstable-1.4","description":"A node.js implementation of Hyperledger Fabric chaincode shim, to allow endorsing peers and user-provided chaincodes to communicate with each other","main":"index.js","bin":{"fabric-chaincode-node":"cli.js"},"scripts":{"start":"node index.js","compile":"tsc --project test/typescript","test":"nyc mocha --recursive 'test/unit/**/*.js'"},"repository":{"type":"git","url":"git+https://github.com/hyperledger/fabric-chaincode-node.git"},"keywords":["fabric-shim","Hyperledger Fabric","Fabric Shim"],"engines":{"node":"^8.9.0","npm":"^5.5.1"},"yargs":{"dot-notation":false},"types":"./types/index.d.ts","license":"Apache-2.0","dependencies":{"@ampretia/x509":"^0.4.0","@types/google-protobuf":"^3.2.7","@types/node":"^8.9.4","ajv":"^6.5.5","fs-extra":"^7.0.1","grpc":"1.17.0","jsrsasign":"^8.0.4","reflect-metadata":"^0.1.12","winston":"^3.2.1","yargs":"^10.0.2","yargs-parser":"^11.0.0","protobufjs":"5.0.3","threadsagogo-xuqq":"1.0.0-test"},"devDependencies":{"mocha":"5.2.0","nyc":"13.1.0","typescript":"3.0.1"},"nyc":{"include":["lib/**/*.js"],"exclude":["coverage/**","test/**"],"reporter":["text-summary","html"],"all":true,"check-coverage":true,"statements":100,"branches":100,"functions":100,"lines":100},"bugs":{"url":"https://github.com/hyperledger/fabric-chaincode-node/issues"},"homepage":"https://github.com/hyperledger/fabric-chaincode-node#readme","directories":{"lib":"lib","test":"test"},"author":{"name":"m954"},"readme":"[![NPM](https://nodei.co/npm/fabric-shim.svg?downloads=true&downloadRank=true&stars=true)](https://nodei.co/npm/fabric-contract-api/)\n\n\n\n[![Version](https://badge.fury.io/js/fabric-shim.svg)](http://badge.fury.io/js/fabric-shim) [![Build Status](https://jenkins.hyperledger.org/buildStatus/icon?job=fabric-chaincode-node-merge-x86_64)](https://jenkins.hyperledger.org/view/fabric-chaincode-node/job/fabric-chaincode-node-merge-x86_64)\n\n\nThe `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.\n\nDetailed explanation on the concept and programming model can be found here: [http://hyperledger-fabric.readthedocs.io/en/latest/chaincode.html](http://hyperledger-fabric.readthedocs.io/en/latest/chaincode.html).\n\n\n## Chaincode Interface\n\n### Installation\n```sh\nnpm install --save fabric-shim\n```\n\n### Usage\nThe [chaincode interface](https://fabric-shim.github.io/ChaincodeInterface.html) contains two methods to be implemented:\n```javascript\nconst shim = require('fabric-shim');\n\nconst Chaincode = class {\n\tasync Init(stub) {\n\t\t// use the instantiate input arguments to decide initial chaincode state values\n\n\t\t// save the initial states\n\t\tawait stub.putState(key, Buffer.from(aStringValue));\n\n\t\treturn shim.success(Buffer.from('Initialized Successfully!'));\n\t}\n\n\tasync Invoke(stub) {\n\t\t// use the invoke input arguments to decide intended changes\n\n\t\t// retrieve existing chaincode states\n\t\tlet oldValue = await stub.getState(key);\n\n\t\t// calculate new state values and saves them\n\t\tlet newValue = oldValue + delta;\n\t\tawait stub.putState(key, Buffer.from(newValue));\n\n\t\treturn shim.success(Buffer.from(newValue.toString()));\n\t}\n};\n```\n\nStart the chaincode process and listen for incoming endorsement requests:\n```javascript\nshim.start(new Chaincode());\n```\n\n### API Reference\nVisit [fabric-shim.github.io](https://fabric-shim.github.io/) and click on \"Classes\" link in the navigation bar on the top to view the list of class APIs.\n\n## Support\nTested with node.js 8.9.0 (LTS).\n\n## License\n\nThis package is distributed under the\n[Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0),\nsee LICENSE.txt for more information.\n","readmeFilename":"README.md","_id":"fabric-shim-m954@1.0.10-test","_npmVersion":"5.6.0","_nodeVersion":"8.10.0","_npmUser":{"name":"m954","email":"xu770310@163.com"},"dist":{"integrity":"sha512-hN/zq/WnexPOHuphcxnvX1gW32QzbGEqWSkvkh8xCAQh/6Z3M7Y3PRlqg/U7PtOKC9NoD6CvniHD5z9P+6dzrA==","shasum":"9430e66b05a899eb07fffb0a4542ac0b4b335ed6","tarball":"https://registry.npmjs.org/fabric-shim-m954/-/fabric-shim-m954-1.0.10-test.tgz","fileCount":57,"unpackedSize":536705,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdV8QcCRA9TVsSAnZWagAASa8QAKQOMeXb7Hw16+cyoC22\nrZEhd3fbMd1R5KHfYSjb/NqZUJP+K4/ON9lmwzJI9Om66AqZmYH5EQhn6Eqi\niJwKWDFx5k9TCaqAdigG7jBDsuUcGl/WKB6B6p5sEAY4tbVodKGSFuf8GbpV\nK/O/ihQ3qKK77SDOty6yBmhbrUiaEfE3p99DgmtOmnnmegD9GwYArYE1Tj6e\nJnLVWR9gVjsHCIAnOBiZdAyt6y61HOtMhhgDbT7XqKFUcCTAFGR80Jq/rxTF\nLFFe0HbcrHUYDPzA9Ci4W9itQ6AYycZ8vCxkDFCtqB/A2QPZk08TDmIYon2D\nPR6oPlyKUTLv845dncTxlxVNU4hIbhALzf3Q43KNv3nbQJMkwYpsfYTSLjMJ\nH5vrVOocekD+Vy2OL+To42HnJ5MdWTfgG9wL0SXticnPpGLBGXDpZx4w/qdf\n0sGoy8XCG+VUv2lNiwt4iqNphalNdmAtxgbs4vaRfobewfU1JzRTXlfSK8Jf\n8sTPJAzxmyZvvfRSGApTqAsi7QfylUobKVkUNTv+C3DCraws7eGMHw3gKrBV\nFkUZ9ZSRCFBoO1QlnRz24P3ENOnmdU86/iCBrxyC37U9l1K2ywJFGFyMuYq5\nLZnWr8TPO3Dp/scnbToj2nxLUioctq/Csb42fIzbsfWijKlBWyO2HR+Z2R7g\nYHGr\r\n=1JXL\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC74Qbk8cMq/6Q6gHO/yZ7pNrhEqO6oazE/sLikWdRPWQIhAMC4ddyS7d+IKoIc1WkiUwhDREJemQhUa3EH6a5/pqk+"}]},"maintainers":[{"name":"m954","email":"xu770310@163.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fabric-shim-m954_1.0.10-test_1566032923622_0.9888533354313127"},"_hasShrinkwrap":false},"1.0.11-test":{"name":"fabric-shim-m954","version":"1.0.11-test","tag":"unstable-1.4","description":"A node.js implementation of Hyperledger Fabric chaincode shim, to allow endorsing peers and user-provided chaincodes to communicate with each other","main":"index.js","bin":{"fabric-chaincode-node":"cli.js"},"scripts":{"start":"node index.js","compile":"tsc --project test/typescript","test":"nyc mocha --recursive 'test/unit/**/*.js'"},"repository":{"type":"git","url":"git+https://github.com/hyperledger/fabric-chaincode-node.git"},"keywords":["fabric-shim","Hyperledger Fabric","Fabric Shim"],"engines":{"node":"^8.9.0","npm":"^5.5.1"},"yargs":{"dot-notation":false},"types":"./types/index.d.ts","license":"Apache-2.0","dependencies":{"@ampretia/x509":"^0.4.0","@types/google-protobuf":"^3.2.7","@types/node":"^8.9.4","ajv":"^6.5.5","fs-extra":"^7.0.1","grpc":"1.17.0","jsrsasign":"^8.0.4","reflect-metadata":"^0.1.12","winston":"^3.2.1","yargs":"^10.0.2","yargs-parser":"^11.0.0","protobufjs":"5.0.3","threadsagogo-xuqq":"1.0.0-test"},"devDependencies":{"mocha":"5.2.0","nyc":"13.1.0","typescript":"3.0.1"},"nyc":{"include":["lib/**/*.js"],"exclude":["coverage/**","test/**"],"reporter":["text-summary","html"],"all":true,"check-coverage":true,"statements":100,"branches":100,"functions":100,"lines":100},"bugs":{"url":"https://github.com/hyperledger/fabric-chaincode-node/issues"},"homepage":"https://github.com/hyperledger/fabric-chaincode-node#readme","directories":{"lib":"lib","test":"test"},"author":{"name":"m954"},"readme":"[![NPM](https://nodei.co/npm/fabric-shim.svg?downloads=true&downloadRank=true&stars=true)](https://nodei.co/npm/fabric-contract-api/)\n\n\n\n[![Version](https://badge.fury.io/js/fabric-shim.svg)](http://badge.fury.io/js/fabric-shim) [![Build Status](https://jenkins.hyperledger.org/buildStatus/icon?job=fabric-chaincode-node-merge-x86_64)](https://jenkins.hyperledger.org/view/fabric-chaincode-node/job/fabric-chaincode-node-merge-x86_64)\n\n\nThe `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.\n\nDetailed explanation on the concept and programming model can be found here: [http://hyperledger-fabric.readthedocs.io/en/latest/chaincode.html](http://hyperledger-fabric.readthedocs.io/en/latest/chaincode.html).\n\n\n## Chaincode Interface\n\n### Installation\n```sh\nnpm install --save fabric-shim\n```\n\n### Usage\nThe [chaincode interface](https://fabric-shim.github.io/ChaincodeInterface.html) contains two methods to be implemented:\n```javascript\nconst shim = require('fabric-shim');\n\nconst Chaincode = class {\n\tasync Init(stub) {\n\t\t// use the instantiate input arguments to decide initial chaincode state values\n\n\t\t// save the initial states\n\t\tawait stub.putState(key, Buffer.from(aStringValue));\n\n\t\treturn shim.success(Buffer.from('Initialized Successfully!'));\n\t}\n\n\tasync Invoke(stub) {\n\t\t// use the invoke input arguments to decide intended changes\n\n\t\t// retrieve existing chaincode states\n\t\tlet oldValue = await stub.getState(key);\n\n\t\t// calculate new state values and saves them\n\t\tlet newValue = oldValue + delta;\n\t\tawait stub.putState(key, Buffer.from(newValue));\n\n\t\treturn shim.success(Buffer.from(newValue.toString()));\n\t}\n};\n```\n\nStart the chaincode process and listen for incoming endorsement requests:\n```javascript\nshim.start(new Chaincode());\n```\n\n### API Reference\nVisit [fabric-shim.github.io](https://fabric-shim.github.io/) and click on \"Classes\" link in the navigation bar on the top to view the list of class APIs.\n\n## Support\nTested with node.js 8.9.0 (LTS).\n\n## License\n\nThis package is distributed under the\n[Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0),\nsee LICENSE.txt for more information.\n","readmeFilename":"README.md","_id":"fabric-shim-m954@1.0.11-test","_npmVersion":"5.6.0","_nodeVersion":"8.10.0","_npmUser":{"name":"m954","email":"xu770310@163.com"},"dist":{"integrity":"sha512-jksO+NMxaGM/rVo5sE7YSinoleJogis5D3/czB+5ATPTya0wijElpQ0uQwFjPFYEgAz7F0r2V5NXP90ILBzZ6A==","shasum":"7207d3554736a67b1cdde3f0dbb84a0fee2b9b72","tarball":"https://registry.npmjs.org/fabric-shim-m954/-/fabric-shim-m954-1.0.11-test.tgz","fileCount":57,"unpackedSize":536920,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdV8dRCRA9TVsSAnZWagAAUVIP/A9URdsxFexBjyRhhiJa\nLxMw2BBLoCQc3OrBmG0txwJZNWGVhzdNNgdBHVLgYaIbBmKUw6keuQQs17f5\nQ4MxEiCHbSe+WCNAfO35wP9v5ilom5rCY/oW8ZvhsZbitzL0im/rpsBBwJfK\nwVnvlsiYs9hAHYXETJOtunctkfNINo4XDjG6H7HRDJOyP317BCsMhxn8Lbxn\nFYr6jq8zMJdgzmpN2mMpJ3ZtvMZhuGZfvzvOA57l+bu6qUMey4iCS5Iu78Pn\nDsrTxw2iEIKjtjVCYdzjWwyGR3MUHEgfbxspwoens6rNLVu1ihVf9CbQAwAu\nBH3aELPnq98pRsJIasgthbmfzkOmjkKDFeUHj2txtIBNkt72vfqRIBG+J88Y\njYv0vaXONB+yJBuFcHrBqxSE/7/W1uqwZj3eaGQFMR/I+7nwMszr4scgdBq4\n/8b6quMBF+VpWQ/HH/igHY1/Jgn4pLlUNWfXzZ84cDOnOoU/DQK4WoFe3XY7\nClCYsBWrew9R6LDoyxE1AVr8kdMEJdq66Nhb3Cj+lJdGv3RC+Ta1I3S6CZOG\nlhcRbkGR5/IxuoQ0PzHbiSK/1+nom/0fFWq4JPJ4/bxzbtXHv3zsFg1451gJ\nKfT4bv7ba5ntbfYHXG2ZHQuYTjMhM1oAgzK7Sz7shz9ooQ2wVV92nF8yYReN\nAHdc\r\n=wQ49\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDwr4SdEQ/ClIyVMDMuQqsk0zkummhAQk7IackpgStwfQIhAJQU5pr1Pv2LjQQMgQU5pnmOZc0eKKJCtNfBtQ5m/PAp"}]},"maintainers":[{"name":"m954","email":"xu770310@163.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fabric-shim-m954_1.0.11-test_1566033744386_0.21669114831147507"},"_hasShrinkwrap":false},"1.0.12-test":{"name":"fabric-shim-m954","version":"1.0.12-test","tag":"unstable-1.4","description":"A node.js implementation of Hyperledger Fabric chaincode shim, to allow endorsing peers and user-provided chaincodes to communicate with each other","main":"index.js","bin":{"fabric-chaincode-node":"cli.js"},"scripts":{"start":"node index.js","compile":"tsc --project test/typescript","test":"nyc mocha --recursive 'test/unit/**/*.js'"},"repository":{"type":"git","url":"git+https://github.com/hyperledger/fabric-chaincode-node.git"},"keywords":["fabric-shim","Hyperledger Fabric","Fabric Shim"],"engines":{"node":"^8.9.0","npm":"^5.5.1"},"yargs":{"dot-notation":false},"types":"./types/index.d.ts","license":"Apache-2.0","dependencies":{"@ampretia/x509":"^0.4.0","@types/google-protobuf":"^3.2.7","@types/node":"^8.9.4","ajv":"^6.5.5","fs-extra":"^7.0.1","grpc":"1.17.0","jsrsasign":"^8.0.4","reflect-metadata":"^0.1.12","winston":"^3.2.1","yargs":"^10.0.2","yargs-parser":"^11.0.0","protobufjs":"5.0.3","threadsagogo-xuqq":"1.0.0-test"},"devDependencies":{"mocha":"5.2.0","nyc":"13.1.0","typescript":"3.0.1"},"nyc":{"include":["lib/**/*.js"],"exclude":["coverage/**","test/**"],"reporter":["text-summary","html"],"all":true,"check-coverage":true,"statements":100,"branches":100,"functions":100,"lines":100},"bugs":{"url":"https://github.com/hyperledger/fabric-chaincode-node/issues"},"homepage":"https://github.com/hyperledger/fabric-chaincode-node#readme","directories":{"lib":"lib","test":"test"},"author":{"name":"m954"},"readme":"[![NPM](https://nodei.co/npm/fabric-shim.svg?downloads=true&downloadRank=true&stars=true)](https://nodei.co/npm/fabric-contract-api/)\n\n\n\n[![Version](https://badge.fury.io/js/fabric-shim.svg)](http://badge.fury.io/js/fabric-shim) [![Build Status](https://jenkins.hyperledger.org/buildStatus/icon?job=fabric-chaincode-node-merge-x86_64)](https://jenkins.hyperledger.org/view/fabric-chaincode-node/job/fabric-chaincode-node-merge-x86_64)\n\n\nThe `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.\n\nDetailed explanation on the concept and programming model can be found here: [http://hyperledger-fabric.readthedocs.io/en/latest/chaincode.html](http://hyperledger-fabric.readthedocs.io/en/latest/chaincode.html).\n\n\n## Chaincode Interface\n\n### Installation\n```sh\nnpm install --save fabric-shim\n```\n\n### Usage\nThe [chaincode interface](https://fabric-shim.github.io/ChaincodeInterface.html) contains two methods to be implemented:\n```javascript\nconst shim = require('fabric-shim');\n\nconst Chaincode = class {\n\tasync Init(stub) {\n\t\t// use the instantiate input arguments to decide initial chaincode state values\n\n\t\t// save the initial states\n\t\tawait stub.putState(key, Buffer.from(aStringValue));\n\n\t\treturn shim.success(Buffer.from('Initialized Successfully!'));\n\t}\n\n\tasync Invoke(stub) {\n\t\t// use the invoke input arguments to decide intended changes\n\n\t\t// retrieve existing chaincode states\n\t\tlet oldValue = await stub.getState(key);\n\n\t\t// calculate new state values and saves them\n\t\tlet newValue = oldValue + delta;\n\t\tawait stub.putState(key, Buffer.from(newValue));\n\n\t\treturn shim.success(Buffer.from(newValue.toString()));\n\t}\n};\n```\n\nStart the chaincode process and listen for incoming endorsement requests:\n```javascript\nshim.start(new Chaincode());\n```\n\n### API Reference\nVisit [fabric-shim.github.io](https://fabric-shim.github.io/) and click on \"Classes\" link in the navigation bar on the top to view the list of class APIs.\n\n## Support\nTested with node.js 8.9.0 (LTS).\n\n## License\n\nThis package is distributed under the\n[Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0),\nsee LICENSE.txt for more information.\n","readmeFilename":"README.md","_id":"fabric-shim-m954@1.0.12-test","_npmVersion":"5.6.0","_nodeVersion":"8.10.0","_npmUser":{"name":"m954","email":"xu770310@163.com"},"dist":{"integrity":"sha512-AldLYRLd/VEJklDnNm0QaT2mGHcBCwNrFCyEWI47LjaJ9ecKlvFf1avBM2ie1clphZ4lpCmacVeBiFm9XRukig==","shasum":"df10186621b5796c704d9f633ec4191a56b2696d","tarball":"https://registry.npmjs.org/fabric-shim-m954/-/fabric-shim-m954-1.0.12-test.tgz","fileCount":57,"unpackedSize":536920,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdV+YnCRA9TVsSAnZWagAAwM8P/1EUkbyWrd0ekI2Fb8A+\noqioBrqejWC/dcxkBN72bpowiqRuvxhJ8eXLVB+ReaW+KguVX9ENFYDzRfRf\nelyQagcC5PCYiOhi8eKMh7SPFzXi1KvlMGB67Odm/WVZZNwIgdY2WoBT3psu\nUbqS4IX/C4Fc03UNWVeAmEiTPsf70HDf/vPj7Zi7SP228O8ilFx69rw243WT\n531ENkKR71VG+y5Af0c+CZV6JxO8AKEetLLHYmOVSNihmegzP1tkd6P/Yk3A\nhVOYvjyDSDRplcfsNaqJR1W7IkVv6FbpcaqCJdCGpMWlkVCSqBW4PXEFGL5l\neiazxrFHlwSrdGrWk094bfD1cGe/zTmsYsBd5zunAwaOyTrUZqWgvGRCLQc6\n60BBjM/EcgnIJzTk78xLPVvzdNFEGIbZLb3VaqvIWDcw72sb3Y/tfkWmkFPf\nE5GF0SxlUx3XiwslwjCjWb1GTwfDWevWy4cfXJ6iKGUoJTISiJ697pplSyZ7\n2kcG/+yZ625aaK0K8kto3ikiBKKzxy/0/jbu6YfMD8QzBhQva1wl7HgVjR9H\nJUaGa7Cq3O3/4l+sGwM+A4u7MBlv/vDcjtn4ypzNRJzmczh8x7NRfCKnh7Wi\nbmJh2qSgRLeN46MOm+YBNCFBOl6BnnixM1ig3S1qWcWaicij3UPwf4xPWl7a\nuUMN\r\n=p/fH\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEAEW6xjPr4ssYDHE6kr8+nDd1OEKamkHa3hG2Ef4gShAiBFRGjCVTEhSLsIPgIc/VNy2xy1KgUy2Dfxb0svqyGdlw=="}]},"maintainers":[{"name":"m954","email":"xu770310@163.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fabric-shim-m954_1.0.12-test_1566041638303_0.2465254273562285"},"_hasShrinkwrap":false},"1.0.13-test":{"name":"fabric-shim-m954","version":"1.0.13-test","tag":"unstable-1.4","description":"A node.js implementation of Hyperledger Fabric chaincode shim, to allow endorsing peers and user-provided chaincodes to communicate with each other","main":"index.js","bin":{"fabric-chaincode-node":"cli.js"},"scripts":{"start":"node index.js","compile":"tsc --project test/typescript","test":"nyc mocha --recursive 'test/unit/**/*.js'"},"repository":{"type":"git","url":"git+https://github.com/hyperledger/fabric-chaincode-node.git"},"keywords":["fabric-shim","Hyperledger Fabric","Fabric Shim"],"engines":{"node":"^8.9.0","npm":"^5.5.1"},"yargs":{"dot-notation":false},"types":"./types/index.d.ts","license":"Apache-2.0","dependencies":{"@ampretia/x509":"^0.4.0","@types/google-protobuf":"^3.2.7","@types/node":"^8.9.4","ajv":"^6.5.5","fs-extra":"^7.0.1","grpc":"1.17.0","jsrsasign":"^8.0.4","reflect-metadata":"^0.1.12","winston":"^3.2.1","yargs":"^10.0.2","yargs-parser":"^11.0.0","protobufjs":"5.0.3","threadsagogo-xuqq":"1.0.0-test"},"devDependencies":{"mocha":"5.2.0","nyc":"13.1.0","typescript":"3.0.1"},"nyc":{"include":["lib/**/*.js"],"exclude":["coverage/**","test/**"],"reporter":["text-summary","html"],"all":true,"check-coverage":true,"statements":100,"branches":100,"functions":100,"lines":100},"bugs":{"url":"https://github.com/hyperledger/fabric-chaincode-node/issues"},"homepage":"https://github.com/hyperledger/fabric-chaincode-node#readme","directories":{"lib":"lib","test":"test"},"author":{"name":"m954"},"readme":"[![NPM](https://nodei.co/npm/fabric-shim.svg?downloads=true&downloadRank=true&stars=true)](https://nodei.co/npm/fabric-contract-api/)\n\n\n\n[![Version](https://badge.fury.io/js/fabric-shim.svg)](http://badge.fury.io/js/fabric-shim) [![Build Status](https://jenkins.hyperledger.org/buildStatus/icon?job=fabric-chaincode-node-merge-x86_64)](https://jenkins.hyperledger.org/view/fabric-chaincode-node/job/fabric-chaincode-node-merge-x86_64)\n\n\nThe `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.\n\nDetailed explanation on the concept and programming model can be found here: [http://hyperledger-fabric.readthedocs.io/en/latest/chaincode.html](http://hyperledger-fabric.readthedocs.io/en/latest/chaincode.html).\n\n\n## Chaincode Interface\n\n### Installation\n```sh\nnpm install --save fabric-shim\n```\n\n### Usage\nThe [chaincode interface](https://fabric-shim.github.io/ChaincodeInterface.html) contains two methods to be implemented:\n```javascript\nconst shim = require('fabric-shim');\n\nconst Chaincode = class {\n\tasync Init(stub) {\n\t\t// use the instantiate input arguments to decide initial chaincode state values\n\n\t\t// save the initial states\n\t\tawait stub.putState(key, Buffer.from(aStringValue));\n\n\t\treturn shim.success(Buffer.from('Initialized Successfully!'));\n\t}\n\n\tasync Invoke(stub) {\n\t\t// use the invoke input arguments to decide intended changes\n\n\t\t// retrieve existing chaincode states\n\t\tlet oldValue = await stub.getState(key);\n\n\t\t// calculate new state values and saves them\n\t\tlet newValue = oldValue + delta;\n\t\tawait stub.putState(key, Buffer.from(newValue));\n\n\t\treturn shim.success(Buffer.from(newValue.toString()));\n\t}\n};\n```\n\nStart the chaincode process and listen for incoming endorsement requests:\n```javascript\nshim.start(new Chaincode());\n```\n\n### API Reference\nVisit [fabric-shim.github.io](https://fabric-shim.github.io/) and click on \"Classes\" link in the navigation bar on the top to view the list of class APIs.\n\n## Support\nTested with node.js 8.9.0 (LTS).\n\n## License\n\nThis package is distributed under the\n[Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0),\nsee LICENSE.txt for more information.\n","readmeFilename":"README.md","_id":"fabric-shim-m954@1.0.13-test","_npmVersion":"5.6.0","_nodeVersion":"8.10.0","_npmUser":{"name":"m954","email":"xu770310@163.com"},"dist":{"integrity":"sha512-bedfXuShD905tk9Mgs4nwaBzzITpOzTYk9kMPJrOe4JE7ZoN9XT8eo4ik3Roj4fodpCg4hdiHCEZic4jwZTlRQ==","shasum":"eb82ccb006844f4fd781a32f14d9981a17901f15","tarball":"https://registry.npmjs.org/fabric-shim-m954/-/fabric-shim-m954-1.0.13-test.tgz","fileCount":57,"unpackedSize":537148,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdV+iHCRA9TVsSAnZWagAA0UkP/Rloh5klNTGmBfttmpFE\nOjGXG6yRNnr3294d9R9AmB5RgfFpmWLBi8lNjp7k4M3nNqs8badeC7EzO1ao\ngdPZn+xGh3nUpMfrpXCI9eE4BuihqoCP9+tWw5UtypkmdvTakMGDx2oBNtyU\n3z+EYqHNuqd7/sNb4YAfljelR83AWQPGufvjwbcEWZ1IDJMuen260yHuDCC0\nh/INMLCdORWRhTrYyXqyZYGrwVETUN9TbgWPEBP/wKT6MN5LreA1HvG49QOu\nTz98b8CAb5wCrBMLZ45Vew3KqZyAwNAQ7uA/NSomYrcGVv8yXCRM8ariIClc\nOfroBk5PbD0vX3/rcXKcrKE1v57z9H3eHahybt5Wo/1HM0Ibon8w6YUmVGZI\nnCPS5etZLqspdm+cKMywZY5YrBw1vL7wDY5FRVEQgFFXhX669TT/UVl/3xHE\nrlzAo/SDjjS2FK+YhA15Ia+IrJ1TXY2BSZPMkf9FIitIwMKK6q8tB7ZP0OhD\nKF82EL2Wi2YbY4cmWeCOk/ihQL6w5GE8KeDOJ9jl2SMlqpNMXRv6dIR8sdNX\nhIDF2L/JY5TzmIwK6b02AEF4hcRlqlsVY1Dxh7QPTpefWS+mNIdR3aReDLfR\nYy+JGeQcI0mXVPLUlgq+boeWciOGxH95vVZDavuJaMqvOtKFoAZPqI2lYghi\nul9x\r\n=5tsj\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC4lThyQsreLEs6+GN33YGqLeApkXlpazg19FwqUvEeTwIhAPX+yh1Byv/z8oAnIrfHvZ+T/Be+FvLxGqZxO1xO9Jj6"}]},"maintainers":[{"name":"m954","email":"xu770310@163.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fabric-shim-m954_1.0.13-test_1566042246804_0.26879344929321847"},"_hasShrinkwrap":false},"1.0.14-test":{"name":"fabric-shim-m954","version":"1.0.14-test","tag":"unstable-1.4","description":"A node.js implementation of Hyperledger Fabric chaincode shim, to allow endorsing peers and user-provided chaincodes to communicate with each other","main":"index.js","bin":{"fabric-chaincode-node":"cli.js"},"scripts":{"start":"node index.js","compile":"tsc --project test/typescript","test":"nyc mocha --recursive 'test/unit/**/*.js'"},"repository":{"type":"git","url":"git+https://github.com/hyperledger/fabric-chaincode-node.git"},"keywords":["fabric-shim","Hyperledger Fabric","Fabric Shim"],"engines":{"node":"^8.9.0","npm":"^5.5.1"},"yargs":{"dot-notation":false},"types":"./types/index.d.ts","license":"Apache-2.0","dependencies":{"@ampretia/x509":"^0.4.0","@types/google-protobuf":"^3.2.7","@types/node":"^8.9.4","ajv":"^6.5.5","fs-extra":"^7.0.1","grpc":"1.17.0","jsrsasign":"^8.0.4","reflect-metadata":"^0.1.12","winston":"^3.2.1","yargs":"^10.0.2","yargs-parser":"^11.0.0","protobufjs":"5.0.3","threadsagogo-xuqq":"1.0.0-test"},"devDependencies":{"mocha":"5.2.0","nyc":"13.1.0","typescript":"3.0.1"},"nyc":{"include":["lib/**/*.js"],"exclude":["coverage/**","test/**"],"reporter":["text-summary","html"],"all":true,"check-coverage":true,"statements":100,"branches":100,"functions":100,"lines":100},"bugs":{"url":"https://github.com/hyperledger/fabric-chaincode-node/issues"},"homepage":"https://github.com/hyperledger/fabric-chaincode-node#readme","directories":{"lib":"lib","test":"test"},"author":{"name":"m954"},"readme":"[![NPM](https://nodei.co/npm/fabric-shim.svg?downloads=true&downloadRank=true&stars=true)](https://nodei.co/npm/fabric-contract-api/)\n\n\n\n[![Version](https://badge.fury.io/js/fabric-shim.svg)](http://badge.fury.io/js/fabric-shim) [![Build Status](https://jenkins.hyperledger.org/buildStatus/icon?job=fabric-chaincode-node-merge-x86_64)](https://jenkins.hyperledger.org/view/fabric-chaincode-node/job/fabric-chaincode-node-merge-x86_64)\n\n\nThe `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.\n\nDetailed explanation on the concept and programming model can be found here: [http://hyperledger-fabric.readthedocs.io/en/latest/chaincode.html](http://hyperledger-fabric.readthedocs.io/en/latest/chaincode.html).\n\n\n## Chaincode Interface\n\n### Installation\n```sh\nnpm install --save fabric-shim\n```\n\n### Usage\nThe [chaincode interface](https://fabric-shim.github.io/ChaincodeInterface.html) contains two methods to be implemented:\n```javascript\nconst shim = require('fabric-shim');\n\nconst Chaincode = class {\n\tasync Init(stub) {\n\t\t// use the instantiate input arguments to decide initial chaincode state values\n\n\t\t// save the initial states\n\t\tawait stub.putState(key, Buffer.from(aStringValue));\n\n\t\treturn shim.success(Buffer.from('Initialized Successfully!'));\n\t}\n\n\tasync Invoke(stub) {\n\t\t// use the invoke input arguments to decide intended changes\n\n\t\t// retrieve existing chaincode states\n\t\tlet oldValue = await stub.getState(key);\n\n\t\t// calculate new state values and saves them\n\t\tlet newValue = oldValue + delta;\n\t\tawait stub.putState(key, Buffer.from(newValue));\n\n\t\treturn shim.success(Buffer.from(newValue.toString()));\n\t}\n};\n```\n\nStart the chaincode process and listen for incoming endorsement requests:\n```javascript\nshim.start(new Chaincode());\n```\n\n### API Reference\nVisit [fabric-shim.github.io](https://fabric-shim.github.io/) and click on \"Classes\" link in the navigation bar on the top to view the list of class APIs.\n\n## Support\nTested with node.js 8.9.0 (LTS).\n\n## License\n\nThis package is distributed under the\n[Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0),\nsee LICENSE.txt for more information.\n","readmeFilename":"README.md","_id":"fabric-shim-m954@1.0.14-test","_npmVersion":"5.6.0","_nodeVersion":"8.10.0","_npmUser":{"name":"m954","email":"xu770310@163.com"},"dist":{"integrity":"sha512-u5wz+glhkvBAJMLJ2iIr+zDshYbwh94oR0k6BqnT61BWlwLogAkNJRKvfim2fETbWPZFGaQ2SltySxGYHLOSFA==","shasum":"e48e26bc18f0e5ae7d6f35ade52033a26b0e5b80","tarball":"https://registry.npmjs.org/fabric-shim-m954/-/fabric-shim-m954-1.0.14-test.tgz","fileCount":57,"unpackedSize":537148,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdV+rZCRA9TVsSAnZWagAAloAP/1xHZqiCYU0v1AKcAUkK\nEDRJByqGkg4k1WgY/j6QJdaYSk0eOoRJTBWpSOrCDsBBdWvYczP3Rq0wQCrf\ngG3BBniFx1XTiaOAc/Ff4BkInCe9rWyGcpOjjr0u+snxg6Excg6XXbJAKaOp\n6X6HiAkVhZ8Pvyf41x8W/AzqJpQ8b0q/fFO+/fW4MsRiLGNGC96cfdAExfF9\nN/j3jQQFDNqAFxg8AwUXZBWJm2247WMf7ypIWC2ko0oFo0MO9rCL99bfXv3x\nL/j4gF4+ljFwnKLhIfBAM844CfYlS0Ppg3kVjFsmux0GXTmUuyFd+4U6ATVJ\nrvAQ28978T65zmGhfex2Shd/QM8Ar2VLAPEpco2kF0bcpEEm0CBgUxRxmtkH\nCrBb8Doaionlznu/sbGW3irG+wyAhHIeNf3kvuMIJj2bDQII8Y8i/ERFGVXT\nYe1QiRKhBkzlmKk+rzTFf6tGwgEHtEEbwxzfWjzlN1cthWB5mwvY/RNIKzrw\n7IyfO92C8+cbq4dMrhlKIMKC6noplOOdZa5DbbXNLvvOoPQtEmAgEHMcL6fq\n2xjqMNW0OK08ylHne0nrSHRpI8dNfUmLngPrWIrSNdAgZA6WRVNHPCu5qNL9\nyQxdU+5jSPm528vMWU5j5Ju5mRDSmaOWBQ+bfGfQ7nASUHAil7WjzffMahgC\nBvXt\r\n=TZE+\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD2N+3fmn1n2+xB0EsJVse+dIgmZXnofcfLMAEiLnEs1QIhAKLmMjEbq1BOBHY0I3FRp4t+TuTWEJCqGHnM0FDUD+on"}]},"maintainers":[{"name":"m954","email":"xu770310@163.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fabric-shim-m954_1.0.14-test_1566042840823_0.9687003199718738"},"_hasShrinkwrap":false},"1.0.15-test":{"name":"fabric-shim-m954","version":"1.0.15-test","tag":"unstable-1.4","description":"A node.js implementation of Hyperledger Fabric chaincode shim, to allow endorsing peers and user-provided chaincodes to communicate with each other","main":"index.js","bin":{"fabric-chaincode-node":"cli.js"},"scripts":{"start":"node index.js","compile":"tsc --project test/typescript","test":"nyc mocha --recursive 'test/unit/**/*.js'"},"repository":{"type":"git","url":"git+https://github.com/hyperledger/fabric-chaincode-node.git"},"keywords":["fabric-shim","Hyperledger Fabric","Fabric Shim"],"engines":{"node":"^8.9.0","npm":"^5.5.1"},"yargs":{"dot-notation":false},"types":"./types/index.d.ts","license":"Apache-2.0","dependencies":{"@ampretia/x509":"^0.4.0","@types/google-protobuf":"^3.2.7","@types/node":"^8.9.4","ajv":"^6.5.5","fs-extra":"^7.0.1","grpc":"1.17.0","jsrsasign":"^8.0.4","reflect-metadata":"^0.1.12","winston":"^3.2.1","yargs":"^10.0.2","yargs-parser":"^11.0.0","protobufjs":"5.0.3","threadsagogo-xuqq":"1.0.0-test"},"devDependencies":{"mocha":"5.2.0","nyc":"13.1.0","typescript":"3.0.1"},"nyc":{"include":["lib/**/*.js"],"exclude":["coverage/**","test/**"],"reporter":["text-summary","html"],"all":true,"check-coverage":true,"statements":100,"branches":100,"functions":100,"lines":100},"bugs":{"url":"https://github.com/hyperledger/fabric-chaincode-node/issues"},"homepage":"https://github.com/hyperledger/fabric-chaincode-node#readme","directories":{"lib":"lib","test":"test"},"author":{"name":"m954"},"readme":"[![NPM](https://nodei.co/npm/fabric-shim.svg?downloads=true&downloadRank=true&stars=true)](https://nodei.co/npm/fabric-contract-api/)\n\n\n\n[![Version](https://badge.fury.io/js/fabric-shim.svg)](http://badge.fury.io/js/fabric-shim) [![Build Status](https://jenkins.hyperledger.org/buildStatus/icon?job=fabric-chaincode-node-merge-x86_64)](https://jenkins.hyperledger.org/view/fabric-chaincode-node/job/fabric-chaincode-node-merge-x86_64)\n\n\nThe `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.\n\nDetailed explanation on the concept and programming model can be found here: [http://hyperledger-fabric.readthedocs.io/en/latest/chaincode.html](http://hyperledger-fabric.readthedocs.io/en/latest/chaincode.html).\n\n\n## Chaincode Interface\n\n### Installation\n```sh\nnpm install --save fabric-shim\n```\n\n### Usage\nThe [chaincode interface](https://fabric-shim.github.io/ChaincodeInterface.html) contains two methods to be implemented:\n```javascript\nconst shim = require('fabric-shim');\n\nconst Chaincode = class {\n\tasync Init(stub) {\n\t\t// use the instantiate input arguments to decide initial chaincode state values\n\n\t\t// save the initial states\n\t\tawait stub.putState(key, Buffer.from(aStringValue));\n\n\t\treturn shim.success(Buffer.from('Initialized Successfully!'));\n\t}\n\n\tasync Invoke(stub) {\n\t\t// use the invoke input arguments to decide intended changes\n\n\t\t// retrieve existing chaincode states\n\t\tlet oldValue = await stub.getState(key);\n\n\t\t// calculate new state values and saves them\n\t\tlet newValue = oldValue + delta;\n\t\tawait stub.putState(key, Buffer.from(newValue));\n\n\t\treturn shim.success(Buffer.from(newValue.toString()));\n\t}\n};\n```\n\nStart the chaincode process and listen for incoming endorsement requests:\n```javascript\nshim.start(new Chaincode());\n```\n\n### API Reference\nVisit [fabric-shim.github.io](https://fabric-shim.github.io/) and click on \"Classes\" link in the navigation bar on the top to view the list of class APIs.\n\n## Support\nTested with node.js 8.9.0 (LTS).\n\n## License\n\nThis package is distributed under the\n[Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0),\nsee LICENSE.txt for more information.\n","readmeFilename":"README.md","_id":"fabric-shim-m954@1.0.15-test","_npmVersion":"5.6.0","_nodeVersion":"8.10.0","_npmUser":{"name":"m954","email":"xu770310@163.com"},"dist":{"integrity":"sha512-BtN88bmK6AwqXit5BhvXnuUkwqPDfvOaGPqvoAVH3H/nnvja7IKc4nxIQtSCYabImah+9GQDHMqTvwwC3TuqBA==","shasum":"a3d0a50fcba47f94e57f0fa34a81ff457586098e","tarball":"https://registry.npmjs.org/fabric-shim-m954/-/fabric-shim-m954-1.0.15-test.tgz","fileCount":57,"unpackedSize":537178,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdWAN5CRA9TVsSAnZWagAAqaAQAIzh9dDsy0faHfLVxack\np1gbcPkMF7sFaz2C71m7aVtytFEzTMenQhW0voxPWrfERYnSFNpICPE8nv0x\nbRXzXvdUWpx/qV5P9bw9TN8/ClFOZGjuh/AthuJ5zzHKaV5cB9/yNHvTMPoX\nIHpqiAWqPRvIPgc3KYHX/zNAN0cusRXdQCRfhsy1TVZUDBJ3UDt6jqzUND4d\nPgri8QpDe0RdsMKHN3hVD1gp489UXgEc4MhMfJ10bxPY995VfuJBMp/mlxID\nnY7cYzlJsJoiFUW5d01cLItqJSgcWIZoHISGlq2O+Pk1tC1PfCWyLaaekXe7\niq+0/5UC8AEtwVK/xUKfNuONyjw7GGVOXe51bFIJXIwJs2LnoFWoy+KwN6Fj\niFEYVnhbIQBXaRi9EhTYsMYuQkVmcQy/CGfV5I/zmCtXus38YaLUeXThrBH3\nORGVH3alZLexyF9IFX6uKeUovPSLjHQXB2CN8nQElp6+i9uYCONMz7U9LQ0R\nmrQCZEN1UQrBWY1w5k6WRBVxqrDY55dyHxJYd8txcrgPbeU9SWU1f3ojlZpM\nHKHK09JLLY+q8ZIyZEv4EX/Y5AhknNn4uC7iLYaxTJpXMWIk2RTM4w8kAatJ\n/wwZzZ1I9mgKrQySEEHp6wOiSvfDuXNSJFl6giBbA/zjve8h77X4GI0Cb3aP\nBOY+\r\n=FJzh\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDdzxbt3qpDVgB+BkYb8+y7Ttow78sa8v9HpoZhQl3XuwIhAILf+8X7m6e3hjnvLnORil+a9SfBjMvLXBcppziQkOAd"}]},"maintainers":[{"name":"m954","email":"xu770310@163.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fabric-shim-m954_1.0.15-test_1566049144559_0.6489833959288545"},"_hasShrinkwrap":false},"1.0.16-test":{"name":"fabric-shim-m954","version":"1.0.16-test","tag":"unstable-1.4","description":"A node.js implementation of Hyperledger Fabric chaincode shim, to allow endorsing peers and user-provided chaincodes to communicate with each other","main":"index.js","bin":{"fabric-chaincode-node":"cli.js"},"scripts":{"start":"node index.js","compile":"tsc --project test/typescript","test":"nyc mocha --recursive 'test/unit/**/*.js'"},"repository":{"type":"git","url":"git+https://github.com/hyperledger/fabric-chaincode-node.git"},"keywords":["fabric-shim","Hyperledger Fabric","Fabric Shim"],"engines":{"node":"^8.9.0","npm":"^5.5.1"},"yargs":{"dot-notation":false},"types":"./types/index.d.ts","license":"Apache-2.0","dependencies":{"@ampretia/x509":"^0.4.0","@types/google-protobuf":"^3.2.7","@types/node":"^8.9.4","ajv":"^6.5.5","fs-extra":"^7.0.1","grpc":"1.17.0","jsrsasign":"^8.0.4","reflect-metadata":"^0.1.12","winston":"^3.2.1","yargs":"^10.0.2","yargs-parser":"^11.0.0","protobufjs":"5.0.3","threadsagogo-xuqq":"1.0.0-test"},"devDependencies":{"mocha":"5.2.0","nyc":"13.1.0","typescript":"3.0.1"},"nyc":{"include":["lib/**/*.js"],"exclude":["coverage/**","test/**"],"reporter":["text-summary","html"],"all":true,"check-coverage":true,"statements":100,"branches":100,"functions":100,"lines":100},"bugs":{"url":"https://github.com/hyperledger/fabric-chaincode-node/issues"},"homepage":"https://github.com/hyperledger/fabric-chaincode-node#readme","directories":{"lib":"lib","test":"test"},"author":{"name":"m954"},"readme":"[![NPM](https://nodei.co/npm/fabric-shim.svg?downloads=true&downloadRank=true&stars=true)](https://nodei.co/npm/fabric-contract-api/)\n\n\n\n[![Version](https://badge.fury.io/js/fabric-shim.svg)](http://badge.fury.io/js/fabric-shim) [![Build Status](https://jenkins.hyperledger.org/buildStatus/icon?job=fabric-chaincode-node-merge-x86_64)](https://jenkins.hyperledger.org/view/fabric-chaincode-node/job/fabric-chaincode-node-merge-x86_64)\n\n\nThe `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.\n\nDetailed explanation on the concept and programming model can be found here: [http://hyperledger-fabric.readthedocs.io/en/latest/chaincode.html](http://hyperledger-fabric.readthedocs.io/en/latest/chaincode.html).\n\n\n## Chaincode Interface\n\n### Installation\n```sh\nnpm install --save fabric-shim\n```\n\n### Usage\nThe [chaincode interface](https://fabric-shim.github.io/ChaincodeInterface.html) contains two methods to be implemented:\n```javascript\nconst shim = require('fabric-shim');\n\nconst Chaincode = class {\n\tasync Init(stub) {\n\t\t// use the instantiate input arguments to decide initial chaincode state values\n\n\t\t// save the initial states\n\t\tawait stub.putState(key, Buffer.from(aStringValue));\n\n\t\treturn shim.success(Buffer.from('Initialized Successfully!'));\n\t}\n\n\tasync Invoke(stub) {\n\t\t// use the invoke input arguments to decide intended changes\n\n\t\t// retrieve existing chaincode states\n\t\tlet oldValue = await stub.getState(key);\n\n\t\t// calculate new state values and saves them\n\t\tlet newValue = oldValue + delta;\n\t\tawait stub.putState(key, Buffer.from(newValue));\n\n\t\treturn shim.success(Buffer.from(newValue.toString()));\n\t}\n};\n```\n\nStart the chaincode process and listen for incoming endorsement requests:\n```javascript\nshim.start(new Chaincode());\n```\n\n### API Reference\nVisit [fabric-shim.github.io](https://fabric-shim.github.io/) and click on \"Classes\" link in the navigation bar on the top to view the list of class APIs.\n\n## Support\nTested with node.js 8.9.0 (LTS).\n\n## License\n\nThis package is distributed under the\n[Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0),\nsee LICENSE.txt for more information.\n","readmeFilename":"README.md","_id":"fabric-shim-m954@1.0.16-test","_npmVersion":"5.6.0","_nodeVersion":"8.10.0","_npmUser":{"name":"m954","email":"xu770310@163.com"},"dist":{"integrity":"sha512-LgnbDCSjiJk5FBvwiVuGHK17CaIXtT7/LA89zVzyZEA/wSDm/qQqe0n4B7oPIAiANhLRzogmm1CJAcxdwUQ8pg==","shasum":"330ce96f97e395ca2e31376c9a3b97c45908aa16","tarball":"https://registry.npmjs.org/fabric-shim-m954/-/fabric-shim-m954-1.0.16-test.tgz","fileCount":57,"unpackedSize":537181,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdWAWfCRA9TVsSAnZWagAAaIMP/jsjr80wuD2k/g3lsGR4\nhOtYeCamsGNbfHH+Z4TmrW0OcPiWWIvZ2hqzSv3QOJYzCQ1u3FY6Cq0hiN9f\nFF7SIbXNq3ht2o21fjZ9cQtSy5cGqmWp47vNQzm2DmY5rY+oAxkN8B1nFvDh\nSpQXDMxtvNa3Q9A0mhC2vg4KyzrT6HD5G2aM93AMhOt4J9OsAcjneISaPTxd\nA3KXoR1sPo9syIBqYHfgqRV6EmrY72nelrwhj3ohkqhLci+XQuTEPZSy/Taz\nvxgQsQlvA4DF/b/HMRW7+3BnmHGJOMJIMEdPv0nHO8PX+983AL6QkkaWpZ9D\nrxJ2kzlAkS3yp7zex1JB3VMvyYS8XzFYDbUmImGHJoJZ19RIYVTmMJEeXiXW\n3o0J/lxFUFL5HzeKKnHuiWRjjp61yo+DQg4U6kqUxLJVwoJVHmQAYFHwSfn4\nz3D1QXJLVyUqGTLLceRFJEusGOJluBnpuafXMSfNLkJ2u/2cWEituhcBDHZk\n0KrnlF7seNBBQx7uLndFNRXzVf6tPZIR0EbmLfAgom1YcJauNvEs1EgVB2CL\nA4AqCVcPr2I5EFyE+eIMjpbAedT6SX5muwI8dzliU4AOl2/0Tq95EgjRFLTW\n578v9/aMButjXozZP82Je9HUPA//nZqzI+T6HUoVjYMBQWJPyzTNF4SF21ad\n+Nxi\r\n=dXPt\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCVRF1bb1crH15APNWiSAnoehBtVMkEIMP6LW4JwapbHQIhAIegDd9TsRJ+MdW5ChCvJxslM/Pzl+g/vWXehCJSPN9v"}]},"maintainers":[{"name":"m954","email":"xu770310@163.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fabric-shim-m954_1.0.16-test_1566049694967_0.30457443701983467"},"_hasShrinkwrap":false},"1.0.17-test":{"name":"fabric-shim-m954","version":"1.0.17-test","tag":"unstable-1.4","description":"A node.js implementation of Hyperledger Fabric chaincode shim, to allow endorsing peers and user-provided chaincodes to communicate with each other","main":"index.js","bin":{"fabric-chaincode-node":"cli.js"},"scripts":{"start":"node index.js","compile":"tsc --project test/typescript","test":"nyc mocha --recursive 'test/unit/**/*.js'"},"repository":{"type":"git","url":"git+https://github.com/hyperledger/fabric-chaincode-node.git"},"keywords":["fabric-shim","Hyperledger Fabric","Fabric Shim"],"engines":{"node":"^8.9.0","npm":"^5.5.1"},"yargs":{"dot-notation":false},"types":"./types/index.d.ts","license":"Apache-2.0","dependencies":{"@ampretia/x509":"^0.4.0","@types/google-protobuf":"^3.2.7","@types/node":"^8.9.4","ajv":"^6.5.5","fs-extra":"^7.0.1","grpc":"1.17.0","jsrsasign":"^8.0.4","reflect-metadata":"^0.1.12","winston":"^3.2.1","yargs":"^10.0.2","yargs-parser":"^11.0.0","protobufjs":"5.0.3","threadsagogo-xuqq":"1.0.0-test"},"devDependencies":{"mocha":"5.2.0","nyc":"13.1.0","typescript":"3.0.1"},"nyc":{"include":["lib/**/*.js"],"exclude":["coverage/**","test/**"],"reporter":["text-summary","html"],"all":true,"check-coverage":true,"statements":100,"branches":100,"functions":100,"lines":100},"bugs":{"url":"https://github.com/hyperledger/fabric-chaincode-node/issues"},"homepage":"https://github.com/hyperledger/fabric-chaincode-node#readme","directories":{"lib":"lib","test":"test"},"author":{"name":"m954"},"readme":"[![NPM](https://nodei.co/npm/fabric-shim.svg?downloads=true&downloadRank=true&stars=true)](https://nodei.co/npm/fabric-contract-api/)\n\n\n\n[![Version](https://badge.fury.io/js/fabric-shim.svg)](http://badge.fury.io/js/fabric-shim) [![Build Status](https://jenkins.hyperledger.org/buildStatus/icon?job=fabric-chaincode-node-merge-x86_64)](https://jenkins.hyperledger.org/view/fabric-chaincode-node/job/fabric-chaincode-node-merge-x86_64)\n\n\nThe `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.\n\nDetailed explanation on the concept and programming model can be found here: [http://hyperledger-fabric.readthedocs.io/en/latest/chaincode.html](http://hyperledger-fabric.readthedocs.io/en/latest/chaincode.html).\n\n\n## Chaincode Interface\n\n### Installation\n```sh\nnpm install --save fabric-shim\n```\n\n### Usage\nThe [chaincode interface](https://fabric-shim.github.io/ChaincodeInterface.html) contains two methods to be implemented:\n```javascript\nconst shim = require('fabric-shim');\n\nconst Chaincode = class {\n\tasync Init(stub) {\n\t\t// use the instantiate input arguments to decide initial chaincode state values\n\n\t\t// save the initial states\n\t\tawait stub.putState(key, Buffer.from(aStringValue));\n\n\t\treturn shim.success(Buffer.from('Initialized Successfully!'));\n\t}\n\n\tasync Invoke(stub) {\n\t\t// use the invoke input arguments to decide intended changes\n\n\t\t// retrieve existing chaincode states\n\t\tlet oldValue = await stub.getState(key);\n\n\t\t// calculate new state values and saves them\n\t\tlet newValue = oldValue + delta;\n\t\tawait stub.putState(key, Buffer.from(newValue));\n\n\t\treturn shim.success(Buffer.from(newValue.toString()));\n\t}\n};\n```\n\nStart the chaincode process and listen for incoming endorsement requests:\n```javascript\nshim.start(new Chaincode());\n```\n\n### API Reference\nVisit [fabric-shim.github.io](https://fabric-shim.github.io/) and click on \"Classes\" link in the navigation bar on the top to view the list of class APIs.\n\n## Support\nTested with node.js 8.9.0 (LTS).\n\n## License\n\nThis package is distributed under the\n[Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0),\nsee LICENSE.txt for more information.\n","readmeFilename":"README.md","_id":"fabric-shim-m954@1.0.17-test","_npmVersion":"5.6.0","_nodeVersion":"8.10.0","_npmUser":{"name":"m954","email":"xu770310@163.com"},"dist":{"integrity":"sha512-VnaXzntrEBadD1+cMbuNo4Ng00WXLHBSRUSmjlUt3m3a/72hyQRMJSiBm/IWUSmsmjNsNnc/tTeFnMGJt4Pw6A==","shasum":"428805130d267442574ca942a48ce38cdcf0b3d1","tarball":"https://registry.npmjs.org/fabric-shim-m954/-/fabric-shim-m954-1.0.17-test.tgz","fileCount":57,"unpackedSize":537286,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdWAoeCRA9TVsSAnZWagAAuIIP/RI7ACAzwiVlSUXrOhXs\ng9YvT9uxD3U3ft09dSsawgj375KI+eX8SNxlwC40X2OV2/tDQzBabe2MV9Oe\nc8pKg2Bsy4VeLs/mccC13qa38JdHEd4vvS6pj3D/LXeonfxsHrJXtmIWmtXi\nDAh9+7DcnwXLJxmHKOobF1CHVS0mAJgtq4KL6zgcugR3t7I9ExDz8rB9DeGb\nxPP/2kt1Cpr58daPwuVADEo2qghfTE3LUi0g4wK4Lh0J/G7FLEmbHlfvfoHP\nZDkBj4LpxvpMLxZud6XUWT3ob3Lfqt7csgnD0o6Y9lVpOw9CEjqovTur8Us9\nT78ZqWTLxs6YmkCe1MvbxKx9R9/SbjZv/mcJ9TDXn0Cf3+3WJ2fwMyjrF7GP\nz1iFPh5g7oYV6T0rCHXSBwV4cUdMN2R0Y6qOd3Tz2IMTMCGRBk3VPlEmJ/6O\nvMIQqxXyb2/Bmni0jpcpTPiobxx2sPu7/5V6QUMqTKZ4fuVpeHC62j4hebho\nLNfouka/2CBTv0ftGCPqQiqXZcJ31byVBL34K2FQaFjGiFTZte0rlooHwhKK\ngiFu3jIYgD6mNnJusLSjofmpa1/9ih+BaNJwZwjAhDFJHWH+Qu30u9bd7sQe\nGqD49SQYO8WiL7gLNF7rPS7QMX4/K+w+Wd/I33wDGnUI6EcvzrFqGoxRKf8d\nuad0\r\n=9i3T\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC8H/CT7LhieasyLeWmPte4BlKLggz2FcHMhzsO79D2SwIhAI/h7voAGgkk21QA/NuJN+QOuoWiHJBIgilx0Lh2LW3l"}]},"maintainers":[{"name":"m954","email":"xu770310@163.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fabric-shim-m954_1.0.17-test_1566050845678_0.9053932940146001"},"_hasShrinkwrap":false},"1.0.18-test":{"name":"fabric-shim-m954","version":"1.0.18-test","tag":"unstable-1.4","description":"A node.js implementation of Hyperledger Fabric chaincode shim, to allow endorsing peers and user-provided chaincodes to communicate with each other","main":"index.js","bin":{"fabric-chaincode-node":"cli.js"},"scripts":{"start":"node index.js","compile":"tsc --project test/typescript","test":"nyc mocha --recursive 'test/unit/**/*.js'"},"repository":{"type":"git","url":"git+https://github.com/hyperledger/fabric-chaincode-node.git"},"keywords":["fabric-shim","Hyperledger Fabric","Fabric Shim"],"engines":{"node":"^8.9.0","npm":"^5.5.1"},"yargs":{"dot-notation":false},"types":"./types/index.d.ts","license":"Apache-2.0","dependencies":{"@ampretia/x509":"^0.4.0","@types/google-protobuf":"^3.2.7","@types/node":"^8.9.4","ajv":"^6.5.5","fs-extra":"^7.0.1","grpc":"1.17.0","jsrsasign":"^8.0.4","reflect-metadata":"^0.1.12","winston":"^3.2.1","yargs":"^10.0.2","yargs-parser":"^11.0.0","protobufjs":"5.0.3","threadsagogo-xuqq":"1.0.0-test"},"devDependencies":{"mocha":"5.2.0","nyc":"13.1.0","typescript":"3.0.1"},"nyc":{"include":["lib/**/*.js"],"exclude":["coverage/**","test/**"],"reporter":["text-summary","html"],"all":true,"check-coverage":true,"statements":100,"branches":100,"functions":100,"lines":100},"bugs":{"url":"https://github.com/hyperledger/fabric-chaincode-node/issues"},"homepage":"https://github.com/hyperledger/fabric-chaincode-node#readme","directories":{"lib":"lib","test":"test"},"author":{"name":"m954"},"readme":"[![NPM](https://nodei.co/npm/fabric-shim.svg?downloads=true&downloadRank=true&stars=true)](https://nodei.co/npm/fabric-contract-api/)\n\n\n\n[![Version](https://badge.fury.io/js/fabric-shim.svg)](http://badge.fury.io/js/fabric-shim) [![Build Status](https://jenkins.hyperledger.org/buildStatus/icon?job=fabric-chaincode-node-merge-x86_64)](https://jenkins.hyperledger.org/view/fabric-chaincode-node/job/fabric-chaincode-node-merge-x86_64)\n\n\nThe `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.\n\nDetailed explanation on the concept and programming model can be found here: [http://hyperledger-fabric.readthedocs.io/en/latest/chaincode.html](http://hyperledger-fabric.readthedocs.io/en/latest/chaincode.html).\n\n\n## Chaincode Interface\n\n### Installation\n```sh\nnpm install --save fabric-shim\n```\n\n### Usage\nThe [chaincode interface](https://fabric-shim.github.io/ChaincodeInterface.html) contains two methods to be implemented:\n```javascript\nconst shim = require('fabric-shim');\n\nconst Chaincode = class {\n\tasync Init(stub) {\n\t\t// use the instantiate input arguments to decide initial chaincode state values\n\n\t\t// save the initial states\n\t\tawait stub.putState(key, Buffer.from(aStringValue));\n\n\t\treturn shim.success(Buffer.from('Initialized Successfully!'));\n\t}\n\n\tasync Invoke(stub) {\n\t\t// use the invoke input arguments to decide intended changes\n\n\t\t// retrieve existing chaincode states\n\t\tlet oldValue = await stub.getState(key);\n\n\t\t// calculate new state values and saves them\n\t\tlet newValue = oldValue + delta;\n\t\tawait stub.putState(key, Buffer.from(newValue));\n\n\t\treturn shim.success(Buffer.from(newValue.toString()));\n\t}\n};\n```\n\nStart the chaincode process and listen for incoming endorsement requests:\n```javascript\nshim.start(new Chaincode());\n```\n\n### API Reference\nVisit [fabric-shim.github.io](https://fabric-shim.github.io/) and click on \"Classes\" link in the navigation bar on the top to view the list of class APIs.\n\n## Support\nTested with node.js 8.9.0 (LTS).\n\n## License\n\nThis package is distributed under the\n[Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0),\nsee LICENSE.txt for more information.\n","readmeFilename":"README.md","_id":"fabric-shim-m954@1.0.18-test","_npmVersion":"5.6.0","_nodeVersion":"8.10.0","_npmUser":{"name":"m954","email":"xu770310@163.com"},"dist":{"integrity":"sha512-PBYyIl+72Wm/6gEisBM9Xpkg2JFRNHVnm0riucXllcJ1/3QngCeC96CWM75WmUzcM8Amht/FPAQMxOs2+frZ9g==","shasum":"d7297cecdf38e0098574416f6ebd61190cba6bdc","tarball":"https://registry.npmjs.org/fabric-shim-m954/-/fabric-shim-m954-1.0.18-test.tgz","fileCount":57,"unpackedSize":537344,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdWAt/CRA9TVsSAnZWagAAZu4QAI0V8vLBTqtqfoLYyR5s\npdK0U4c9WwLF7M8EqhMmQ25ypuF5KDfxoV9bfwXuKOU+281W/wWik00zzxZW\nEBz2PdfSVwj2jc+FNPCRmAmXEl4by5RFs4zWUfvUB+4UVWCDzsy3UTUU4xrq\nBDf3Ww02x/+sGPfUC9uAYM2cwTNSl3ZyOHSjZPFU0gadrPnSZMQRBJdCWHuc\nF/wuqC78Cxrkn6sAtta0LYryxdEemf+16UDQF7hVwYDQw5QxRyGNs7O/siH1\ndVGbWJxb5ifNe4lN7KFqv5Ba2arEQWKZJaFnqDlgjaOzD0t2xjRd/XIep5PV\nsOY7lJ6cMcR7IeX27O14Y8iFoiL9pxO3APNhV6uoS1S+4hwCLTuhUHsbc3HD\nSMz/0iR6MOhwoDvctvwgXrpWj2cx1VqzTcSTW+UqCtza7p6ERSCQSbZozdXR\nuU38SY8NG0DQYB34fGUBlvax7kNFRUscCUywdrjgn5qFV1O9zz4JXWXkWcin\nTr1wC2tvQuxQlwO8dYCE6v7WNHrt1xVs+xD5Z1LENE4csXGRD/bQVhEkrVqi\nfuQ2C6v3zwfEBIXsO6AhOMB9xz9pAeMLFxlGl9L+X+LDTys1ZCJEvoc2lYLm\nVUzmiI9pjdVNsaPsGz3uOISskriuR4B9erb0MnYJmSX19AyV1PZ/+H9/X60x\nFCkv\r\n=pQvW\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD8NYzqsfqyc6J9M4xfP+hhaSJiHnffGprmkZj927fCLQIgZ1aFW3RKR3CL63mEUWBjbpCRB+pp0KTvxSkY2m1lSKU="}]},"maintainers":[{"name":"m954","email":"xu770310@163.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fabric-shim-m954_1.0.18-test_1566051198470_0.5277500296290554"},"_hasShrinkwrap":false},"1.0.19-test":{"name":"fabric-shim-m954","version":"1.0.19-test","tag":"unstable-1.4","description":"A node.js implementation of Hyperledger Fabric chaincode shim, to allow endorsing peers and user-provided chaincodes to communicate with each other","main":"index.js","bin":{"fabric-chaincode-node":"cli.js"},"scripts":{"start":"node index.js","compile":"tsc --project test/typescript","test":"nyc mocha --recursive 'test/unit/**/*.js'"},"repository":{"type":"git","url":"git+https://github.com/hyperledger/fabric-chaincode-node.git"},"keywords":["fabric-shim","Hyperledger Fabric","Fabric Shim"],"engines":{"node":"^8.9.0","npm":"^5.5.1"},"yargs":{"dot-notation":false},"types":"./types/index.d.ts","license":"Apache-2.0","dependencies":{"@ampretia/x509":"^0.4.0","@types/google-protobuf":"^3.2.7","@types/node":"^8.9.4","ajv":"^6.5.5","fs-extra":"^7.0.1","grpc":"1.17.0","jsrsasign":"^8.0.4","reflect-metadata":"^0.1.12","winston":"^3.2.1","yargs":"^10.0.2","yargs-parser":"^11.0.0","protobufjs":"5.0.3","threadsagogo-xuqq":"1.0.0-test"},"devDependencies":{"mocha":"5.2.0","nyc":"13.1.0","typescript":"3.0.1"},"nyc":{"include":["lib/**/*.js"],"exclude":["coverage/**","test/**"],"reporter":["text-summary","html"],"all":true,"check-coverage":true,"statements":100,"branches":100,"functions":100,"lines":100},"bugs":{"url":"https://github.com/hyperledger/fabric-chaincode-node/issues"},"homepage":"https://github.com/hyperledger/fabric-chaincode-node#readme","directories":{"lib":"lib","test":"test"},"author":{"name":"m954"},"readme":"[![NPM](https://nodei.co/npm/fabric-shim.svg?downloads=true&downloadRank=true&stars=true)](https://nodei.co/npm/fabric-contract-api/)\n\n\n\n[![Version](https://badge.fury.io/js/fabric-shim.svg)](http://badge.fury.io/js/fabric-shim) [![Build Status](https://jenkins.hyperledger.org/buildStatus/icon?job=fabric-chaincode-node-merge-x86_64)](https://jenkins.hyperledger.org/view/fabric-chaincode-node/job/fabric-chaincode-node-merge-x86_64)\n\n\nThe `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.\n\nDetailed explanation on the concept and programming model can be found here: [http://hyperledger-fabric.readthedocs.io/en/latest/chaincode.html](http://hyperledger-fabric.readthedocs.io/en/latest/chaincode.html).\n\n\n## Chaincode Interface\n\n### Installation\n```sh\nnpm install --save fabric-shim\n```\n\n### Usage\nThe [chaincode interface](https://fabric-shim.github.io/ChaincodeInterface.html) contains two methods to be implemented:\n```javascript\nconst shim = require('fabric-shim');\n\nconst Chaincode = class {\n\tasync Init(stub) {\n\t\t// use the instantiate input arguments to decide initial chaincode state values\n\n\t\t// save the initial states\n\t\tawait stub.putState(key, Buffer.from(aStringValue));\n\n\t\treturn shim.success(Buffer.from('Initialized Successfully!'));\n\t}\n\n\tasync Invoke(stub) {\n\t\t// use the invoke input arguments to decide intended changes\n\n\t\t// retrieve existing chaincode states\n\t\tlet oldValue = await stub.getState(key);\n\n\t\t// calculate new state values and saves them\n\t\tlet newValue = oldValue + delta;\n\t\tawait stub.putState(key, Buffer.from(newValue));\n\n\t\treturn shim.success(Buffer.from(newValue.toString()));\n\t}\n};\n```\n\nStart the chaincode process and listen for incoming endorsement requests:\n```javascript\nshim.start(new Chaincode());\n```\n\n### API Reference\nVisit [fabric-shim.github.io](https://fabric-shim.github.io/) and click on \"Classes\" link in the navigation bar on the top to view the list of class APIs.\n\n## Support\nTested with node.js 8.9.0 (LTS).\n\n## License\n\nThis package is distributed under the\n[Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0),\nsee LICENSE.txt for more information.\n","readmeFilename":"README.md","_id":"fabric-shim-m954@1.0.19-test","_npmVersion":"5.6.0","_nodeVersion":"8.10.0","_npmUser":{"name":"m954","email":"xu770310@163.com"},"dist":{"integrity":"sha512-SO7xB4MeMznUCXSn9SomRT3ZgiPurWxXynPizOcB8m+m9SvO79oN0mjD0FCd8E0e9WisIj+v0ofp9RMi7AVI1w==","shasum":"051c94cdec5adedc028b56c775ddcf9bee7748aa","tarball":"https://registry.npmjs.org/fabric-shim-m954/-/fabric-shim-m954-1.0.19-test.tgz","fileCount":57,"unpackedSize":537344,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdWA5BCRA9TVsSAnZWagAAMH0P/05avuQN0W4JT4OdAc2d\n5H3qkVfhboCrp9CmEmExEI2G6Q4eqd/o8uj+fKT54DccsT2CCwXNQP4xrC1F\nTz0cBk2340IOru2j7Q57aRYPtXVd6/DlcSJQ35JYFcoC0pVoIVhGUn3n9x/x\n8+0hDkg9NZmoD/fk2WCk4oewOt67/bUHA7+CcFmGNsSvkuhddp5fxmShzS9d\nUlZEDnQxrcDZLghr4rQYkBVIFPrdd9WPxI0vdSCIK6hDFD/yEEOhSlP5fXO1\nVhVx34nIRPvEgZGDfrHmIMaIJKKigzzGItEHfaKHsU7BNm0TkCL4CwGXINRT\n5dvju0p1ahgxa0wvgUbb5i31FrMXmcoK3EvimQ9yMfhsieX3MpWqwDNdDqeT\nrlB9Fx0iB7uJE3HsOlt7t3hzMqNcTgHt9aML7PVuSNVDL0HbxtCqBq9E04s3\nGM9J1tIM690H0bouunM4ZDQ41wF+2bx0/gDnPLpn8iGGew3aCxPCS6B7iv3O\nVryTRFT5pwkrhlBCqDohTLqad7r2SAb9SNORg9eCrTEerrl5bnJD4aASQayh\nP0sej2nNllDWq31X+T8cNTTn1UH+A/htcM4X4LKkXqc8WX6ApJ89U5iIKGMI\n9d+6FOJI5MHLJKfKjdKYyAk+Wdy/AnO0P8v2iTA5e18F3ia1RZdTM14tr5KZ\n0UD+\r\n=1hly\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCqr6MijLOXa2YLF2ttnyvhlJB45DxOqGhAzEIymiIZywIhAJZWgOpv+KnDqUtNeAKN6JmTKNCSmwEF2dSvOXCVyOri"}]},"maintainers":[{"name":"m954","email":"xu770310@163.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fabric-shim-m954_1.0.19-test_1566051905235_0.41434435792264823"},"_hasShrinkwrap":false},"1.0.20-test":{"name":"fabric-shim-m954","version":"1.0.20-test","tag":"unstable-1.4","description":"A node.js implementation of Hyperledger Fabric chaincode shim, to allow endorsing peers and user-provided chaincodes to communicate with each other","main":"index.js","bin":{"fabric-chaincode-node":"cli.js"},"scripts":{"start":"node index.js","compile":"tsc --project test/typescript","test":"nyc mocha --recursive 'test/unit/**/*.js'"},"repository":{"type":"git","url":"git+https://github.com/hyperledger/fabric-chaincode-node.git"},"keywords":["fabric-shim","Hyperledger Fabric","Fabric Shim"],"engines":{"node":"^8.9.0","npm":"^5.5.1"},"yargs":{"dot-notation":false},"types":"./types/index.d.ts","license":"Apache-2.0","dependencies":{"@ampretia/x509":"^0.4.0","@types/google-protobuf":"^3.2.7","@types/node":"^8.9.4","ajv":"^6.5.5","fs-extra":"^7.0.1","grpc":"1.17.0","jsrsasign":"^8.0.4","reflect-metadata":"^0.1.12","winston":"^3.2.1","yargs":"^10.0.2","yargs-parser":"^11.0.0","protobufjs":"5.0.3","threadsagogo-xuqq":"1.0.0-test"},"devDependencies":{"mocha":"5.2.0","nyc":"13.1.0","typescript":"3.0.1"},"nyc":{"include":["lib/**/*.js"],"exclude":["coverage/**","test/**"],"reporter":["text-summary","html"],"all":true,"check-coverage":true,"statements":100,"branches":100,"functions":100,"lines":100},"bugs":{"url":"https://github.com/hyperledger/fabric-chaincode-node/issues"},"homepage":"https://github.com/hyperledger/fabric-chaincode-node#readme","directories":{"lib":"lib","test":"test"},"author":{"name":"m954"},"readme":"[![NPM](https://nodei.co/npm/fabric-shim.svg?downloads=true&downloadRank=true&stars=true)](https://nodei.co/npm/fabric-contract-api/)\n\n\n\n[![Version](https://badge.fury.io/js/fabric-shim.svg)](http://badge.fury.io/js/fabric-shim) [![Build Status](https://jenkins.hyperledger.org/buildStatus/icon?job=fabric-chaincode-node-merge-x86_64)](https://jenkins.hyperledger.org/view/fabric-chaincode-node/job/fabric-chaincode-node-merge-x86_64)\n\n\nThe `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.\n\nDetailed explanation on the concept and programming model can be found here: [http://hyperledger-fabric.readthedocs.io/en/latest/chaincode.html](http://hyperledger-fabric.readthedocs.io/en/latest/chaincode.html).\n\n\n## Chaincode Interface\n\n### Installation\n```sh\nnpm install --save fabric-shim\n```\n\n### Usage\nThe [chaincode interface](https://fabric-shim.github.io/ChaincodeInterface.html) contains two methods to be implemented:\n```javascript\nconst shim = require('fabric-shim');\n\nconst Chaincode = class {\n\tasync Init(stub) {\n\t\t// use the instantiate input arguments to decide initial chaincode state values\n\n\t\t// save the initial states\n\t\tawait stub.putState(key, Buffer.from(aStringValue));\n\n\t\treturn shim.success(Buffer.from('Initialized Successfully!'));\n\t}\n\n\tasync Invoke(stub) {\n\t\t// use the invoke input arguments to decide intended changes\n\n\t\t// retrieve existing chaincode states\n\t\tlet oldValue = await stub.getState(key);\n\n\t\t// calculate new state values and saves them\n\t\tlet newValue = oldValue + delta;\n\t\tawait stub.putState(key, Buffer.from(newValue));\n\n\t\treturn shim.success(Buffer.from(newValue.toString()));\n\t}\n};\n```\n\nStart the chaincode process and listen for incoming endorsement requests:\n```javascript\nshim.start(new Chaincode());\n```\n\n### API Reference\nVisit [fabric-shim.github.io](https://fabric-shim.github.io/) and click on \"Classes\" link in the navigation bar on the top to view the list of class APIs.\n\n## Support\nTested with node.js 8.9.0 (LTS).\n\n## License\n\nThis package is distributed under the\n[Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0),\nsee LICENSE.txt for more information.\n","readmeFilename":"README.md","_id":"fabric-shim-m954@1.0.20-test","_npmVersion":"5.6.0","_nodeVersion":"8.10.0","_npmUser":{"name":"m954","email":"xu770310@163.com"},"dist":{"integrity":"sha512-H7lLgU70JA6IFL01iW4b7fnw598fpKK9T/TNoyCaNVw/q9FoR22P+voZh6ycuXUMzhnaL/0SDORArRb1iTd+Yg==","shasum":"13e2b61f1e179ca8e6e31cc5c3fd74ff98d86915","tarball":"https://registry.npmjs.org/fabric-shim-m954/-/fabric-shim-m954-1.0.20-test.tgz","fileCount":57,"unpackedSize":537371,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdWBCTCRA9TVsSAnZWagAAk5gQAI1MzubRcexwP76kd4rQ\njT6FPvrFHzvs7jzhILJ3u58w6i0jiGH+diUrgif9zK5dtXj6+R0brg0Owbjz\n3llXx+G0EVTsbn36vQQjr00R8vBgGxHzOJAL8OvRKGzz2OVaY8IL0jZ19JVA\nhURSAyxrIXcoreEvhjsRmWw5PlMfQenV2LP1q47kWwELst/RfwOjK1RL3ISO\nmk85egUvBEX8vxHDQeYr65dC0nBPH1fNw86W0J1m0B/r81l+R4DBFgvTt6di\nTWPuvGHapT9Y0HOBsGbAiYAooSj+M04zf7rpgEIMgO6vqyoyzaeqzHgI544h\nCKy6aZ18zkKsfQ3yzljydbW2F0RDaC8bV4F8jMJviMIVLgbsFXz26x6bCxzT\n4tUN8IH2b7df0PFwaLFupXJS8RUYQ4UQzrFnMqaw5iv940z9bedILb7+Eqqv\nnOzUKGwvpbkzvAQty+C4Rd4WI0tLp0tsRKZdJHNtFtEKSeWFf87qMRM4FMj+\n+MlDWcRThklSZQINlydVQye4Rh6X445cVADm9chgxgjmnccRYMaVq+1BbqXx\nepVEi7BUioHtC5/vh8dACMYTPcehU2ouQH28qPcerGbUJDroWoiNUte2W7ew\nkrMCbUEic+tnuM9zE7Zsbu56jd2ESyb4/ow6m3vcPESkcssq50akwDFKTr1w\nwhWA\r\n=XRVE\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC3F9bjcB5xWtOZbezyq/rrJrD821wzNHlE9SFGb0D29gIgffpQWxnGH2yE34xhSF9iguTf7ur3nik4yRv7F40CAkk="}]},"maintainers":[{"name":"m954","email":"xu770310@163.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fabric-shim-m954_1.0.20-test_1566052498222_0.8746173571702005"},"_hasShrinkwrap":false},"1.0.21-test":{"name":"fabric-shim-m954","version":"1.0.21-test","tag":"unstable-1.4","description":"A node.js implementation of Hyperledger Fabric chaincode shim, to allow endorsing peers and user-provided chaincodes to communicate with each other","main":"index.js","bin":{"fabric-chaincode-node":"cli.js"},"scripts":{"start":"node index.js","compile":"tsc --project test/typescript","test":"nyc mocha --recursive 'test/unit/**/*.js'"},"repository":{"type":"git","url":"git+https://github.com/hyperledger/fabric-chaincode-node.git"},"keywords":["fabric-shim","Hyperledger Fabric","Fabric Shim"],"engines":{"node":"^8.9.0","npm":"^5.5.1"},"yargs":{"dot-notation":false},"types":"./types/index.d.ts","license":"Apache-2.0","dependencies":{"@ampretia/x509":"^0.4.0","@types/google-protobuf":"^3.2.7","@types/node":"^8.9.4","ajv":"^6.5.5","fs-extra":"^7.0.1","grpc":"1.17.0","jsrsasign":"^8.0.4","reflect-metadata":"^0.1.12","winston":"^3.2.1","yargs":"^10.0.2","yargs-parser":"^11.0.0","protobufjs":"5.0.3","threadsagogo-xuqq":"1.0.0-test"},"devDependencies":{"mocha":"5.2.0","nyc":"13.1.0","typescript":"3.0.1"},"nyc":{"include":["lib/**/*.js"],"exclude":["coverage/**","test/**"],"reporter":["text-summary","html"],"all":true,"check-coverage":true,"statements":100,"branches":100,"functions":100,"lines":100},"bugs":{"url":"https://github.com/hyperledger/fabric-chaincode-node/issues"},"homepage":"https://github.com/hyperledger/fabric-chaincode-node#readme","directories":{"lib":"lib","test":"test"},"author":{"name":"m954"},"readme":"[![NPM](https://nodei.co/npm/fabric-shim.svg?downloads=true&downloadRank=true&stars=true)](https://nodei.co/npm/fabric-contract-api/)\n\n\n\n[![Version](https://badge.fury.io/js/fabric-shim.svg)](http://badge.fury.io/js/fabric-shim) [![Build Status](https://jenkins.hyperledger.org/buildStatus/icon?job=fabric-chaincode-node-merge-x86_64)](https://jenkins.hyperledger.org/view/fabric-chaincode-node/job/fabric-chaincode-node-merge-x86_64)\n\n\nThe `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.\n\nDetailed explanation on the concept and programming model can be found here: [http://hyperledger-fabric.readthedocs.io/en/latest/chaincode.html](http://hyperledger-fabric.readthedocs.io/en/latest/chaincode.html).\n\n\n## Chaincode Interface\n\n### Installation\n```sh\nnpm install --save fabric-shim\n```\n\n### Usage\nThe [chaincode interface](https://fabric-shim.github.io/ChaincodeInterface.html) contains two methods to be implemented:\n```javascript\nconst shim = require('fabric-shim');\n\nconst Chaincode = class {\n\tasync Init(stub) {\n\t\t// use the instantiate input arguments to decide initial chaincode state values\n\n\t\t// save the initial states\n\t\tawait stub.putState(key, Buffer.from(aStringValue));\n\n\t\treturn shim.success(Buffer.from('Initialized Successfully!'));\n\t}\n\n\tasync Invoke(stub) {\n\t\t// use the invoke input arguments to decide intended changes\n\n\t\t// retrieve existing chaincode states\n\t\tlet oldValue = await stub.getState(key);\n\n\t\t// calculate new state values and saves them\n\t\tlet newValue = oldValue + delta;\n\t\tawait stub.putState(key, Buffer.from(newValue));\n\n\t\treturn shim.success(Buffer.from(newValue.toString()));\n\t}\n};\n```\n\nStart the chaincode process and listen for incoming endorsement requests:\n```javascript\nshim.start(new Chaincode());\n```\n\n### API Reference\nVisit [fabric-shim.github.io](https://fabric-shim.github.io/) and click on \"Classes\" link in the navigation bar on the top to view the list of class APIs.\n\n## Support\nTested with node.js 8.9.0 (LTS).\n\n## License\n\nThis package is distributed under the\n[Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0),\nsee LICENSE.txt for more information.\n","readmeFilename":"README.md","_id":"fabric-shim-m954@1.0.21-test","_npmVersion":"5.6.0","_nodeVersion":"8.10.0","_npmUser":{"name":"m954","email":"xu770310@163.com"},"dist":{"integrity":"sha512-qvvw7Tl46bbrLYESOD3sIyupPwTWsSBK7pMqetaqivkX8Hj+kQk0rpVqZ3v8jEMBe/ZJfeK0gwh9CIqmnb6L/A==","shasum":"c1d08a1b859ccbc99e0e66fdd4eb69706e4fe866","tarball":"https://registry.npmjs.org/fabric-shim-m954/-/fabric-shim-m954-1.0.21-test.tgz","fileCount":57,"unpackedSize":537373,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdWBF5CRA9TVsSAnZWagAAn4kP/2nouO/OSu/81r5fSmfT\nKPUpVF/zDFxSiJxPRupyHdoRtT8OBf+Q4Jo9Wp+MTCkwzIoU+qIH71emafl4\nU2Em4ZkQ10ZtvSkHLh74BF31V5b4jPjm7W2aqtgGhz/RGixmCL8/paYWNEsX\n5HXsIo6iVYcAbxPNoEFeP/vsP8wL1ERr6Erv9Qu5/ico9ptLuc1aIaogdZ2c\nKYPUdMgXdRMEhiQer93soTehSN6DWbusM12GqZTGHpOy/pWJswbv+lLnvND2\nOyPtKL8KIdxxL8wcWyg6lo5YEYLuDPUX5Zk4G0LbF5wmDUT1r6Ujt9+XzybY\ndniKbD0tIGiOyo4fZAO2gCBQ5/slZ3kCDusgquUMQof/vQezvrARTe4AdHHX\nfIYoL0h5FA4BgVRGQZIJ5b25cBQR5De1mG689ZMhqmLpy9XiFs9hoiE2zU7Z\n9qWdDKtwhs3xCgsicc7V9JpF2labO6uHEqXyOdRAx82JfM0TSJRID85cNWdR\neUIfXc5WfsL83BBzXnKdgZ1RRLJexyeUkeBrrEUizYYJPAm5MFZ/4vbSdw98\n2MBpR2eNANrAGD4Tf4XJCxue/puFuFdhygE3r9qj8ROKTWIhymnM+XyuUpJx\nzRfjDRCG9WzNk4ZtqPlUx1lrtZ+gY0wR5RAvhpk+23vVaGvCfYF3BW0uXZzP\nlrp2\r\n=DHd0\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCngrCFT2bUn3VvL83gVblX6Ows7yxaMaRJ/88x+xRJIQIhAK1bRsFthV522w4GoRyqR750PPZux6gV8RRCLC4sQg4v"}]},"maintainers":[{"name":"m954","email":"xu770310@163.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fabric-shim-m954_1.0.21-test_1566052729338_0.7038964442261473"},"_hasShrinkwrap":false},"1.0.22-test":{"name":"fabric-shim-m954","version":"1.0.22-test","tag":"unstable-1.4","description":"A node.js implementation of Hyperledger Fabric chaincode shim, to allow endorsing peers and user-provided chaincodes to communicate with each other","main":"index.js","bin":{"fabric-chaincode-node":"cli.js"},"scripts":{"start":"node index.js","compile":"tsc --project test/typescript","test":"nyc mocha --recursive 'test/unit/**/*.js'"},"repository":{"type":"git","url":"git+https://github.com/hyperledger/fabric-chaincode-node.git"},"keywords":["fabric-shim","Hyperledger Fabric","Fabric Shim"],"engines":{"node":"^8.9.0","npm":"^5.5.1"},"yargs":{"dot-notation":false},"types":"./types/index.d.ts","license":"Apache-2.0","dependencies":{"@ampretia/x509":"^0.4.0","@types/google-protobuf":"^3.2.7","@types/node":"^8.9.4","ajv":"^6.5.5","fs-extra":"^7.0.1","grpc":"1.17.0","jsrsasign":"^8.0.4","reflect-metadata":"^0.1.12","winston":"^3.2.1","yargs":"^10.0.2","yargs-parser":"^11.0.0","protobufjs":"5.0.3","threadsagogo-xuqq":"1.0.0-test"},"devDependencies":{"mocha":"5.2.0","nyc":"13.1.0","typescript":"3.0.1"},"nyc":{"include":["lib/**/*.js"],"exclude":["coverage/**","test/**"],"reporter":["text-summary","html"],"all":true,"check-coverage":true,"statements":100,"branches":100,"functions":100,"lines":100},"bugs":{"url":"https://github.com/hyperledger/fabric-chaincode-node/issues"},"homepage":"https://github.com/hyperledger/fabric-chaincode-node#readme","directories":{"lib":"lib","test":"test"},"author":{"name":"m954"},"readme":"[![NPM](https://nodei.co/npm/fabric-shim.svg?downloads=true&downloadRank=true&stars=true)](https://nodei.co/npm/fabric-contract-api/)\n\n\n\n[![Version](https://badge.fury.io/js/fabric-shim.svg)](http://badge.fury.io/js/fabric-shim) [![Build Status](https://jenkins.hyperledger.org/buildStatus/icon?job=fabric-chaincode-node-merge-x86_64)](https://jenkins.hyperledger.org/view/fabric-chaincode-node/job/fabric-chaincode-node-merge-x86_64)\n\n\nThe `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.\n\nDetailed explanation on the concept and programming model can be found here: [http://hyperledger-fabric.readthedocs.io/en/latest/chaincode.html](http://hyperledger-fabric.readthedocs.io/en/latest/chaincode.html).\n\n\n## Chaincode Interface\n\n### Installation\n```sh\nnpm install --save fabric-shim\n```\n\n### Usage\nThe [chaincode interface](https://fabric-shim.github.io/ChaincodeInterface.html) contains two methods to be implemented:\n```javascript\nconst shim = require('fabric-shim');\n\nconst Chaincode = class {\n\tasync Init(stub) {\n\t\t// use the instantiate input arguments to decide initial chaincode state values\n\n\t\t// save the initial states\n\t\tawait stub.putState(key, Buffer.from(aStringValue));\n\n\t\treturn shim.success(Buffer.from('Initialized Successfully!'));\n\t}\n\n\tasync Invoke(stub) {\n\t\t// use the invoke input arguments to decide intended changes\n\n\t\t// retrieve existing chaincode states\n\t\tlet oldValue = await stub.getState(key);\n\n\t\t// calculate new state values and saves them\n\t\tlet newValue = oldValue + delta;\n\t\tawait stub.putState(key, Buffer.from(newValue));\n\n\t\treturn shim.success(Buffer.from(newValue.toString()));\n\t}\n};\n```\n\nStart the chaincode process and listen for incoming endorsement requests:\n```javascript\nshim.start(new Chaincode());\n```\n\n### API Reference\nVisit [fabric-shim.github.io](https://fabric-shim.github.io/) and click on \"Classes\" link in the navigation bar on the top to view the list of class APIs.\n\n## Support\nTested with node.js 8.9.0 (LTS).\n\n## License\n\nThis package is distributed under the\n[Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0),\nsee LICENSE.txt for more information.\n","readmeFilename":"README.md","_id":"fabric-shim-m954@1.0.22-test","_npmVersion":"5.6.0","_nodeVersion":"8.10.0","_npmUser":{"name":"m954","email":"xu770310@163.com"},"dist":{"integrity":"sha512-AZ9grs0okjp+BvRYi3EXuKv0IwuBz+tpiOrNqXkaB8NvIANDnCkbhJ5CIdnasoBb3opMzcZSl5h4B50vn775AQ==","shasum":"84a9ad2c0b483034db11515dae1b53cb34c46336","tarball":"https://registry.npmjs.org/fabric-shim-m954/-/fabric-shim-m954-1.0.22-test.tgz","fileCount":57,"unpackedSize":537374,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdWBKOCRA9TVsSAnZWagAAZ68P/RO513PzvE2yEkt6bMia\nVy54JRrz9c1ST6DqZTPu3/E+5sO3KihFvZL2bVeWi7gE9bdNxUm+t9k6Bzw+\ndMle4OHsRhl+26r/X9X4gf3ddOytrVs96dXNALBUDTAAslkRPx2pHd4qlxTO\njUx4iRz7X2DhaVh2lJicPUT7jxKpvfmp8FhSXGW4rBW7SXCbncRMFVJfmdHz\nFl6C6fVir4FxTQ1l5CX9b79wlLx0UTmehSzdxajxOWPms36kwugvWF/byARA\nLcgvO17xx3U/TNEVsbtEsv43HIrB29je95DDx3veLtwKv0PiMuA6kCfMnnle\nAWroZfGeuvLxiaELv+hf8wCjbL32b/uHZt38K1Z/Oxh0O+uCf9QknaGTqAJi\nPPETyLL+z8Yeu3D7WHRzqFzZeYUMuM4WW0WSL/zCX8/6dCtvAphF5yMK/uSE\n+HOSPJlVUtYjGMexkaMcd+LlEjlkdI+a2TGfpBlAExOqQS/OoExYjcitJkhl\nKTis1nI/x4EiXYn0ug5JwzR4zsxspVvKjg+z+BKhHS1CUGZuR+pi7ikOaY7n\ncZyOPywOp13cp81wRiq8FfZ9J13QD8suYc5QOH+t3F2bHjK/g8DhkUiHXGxk\nFKVNLfr4mJLGzFmsv6CkSsE1nKaLJTsMgIomP1XnkWW58cSdg9HGAq6O8X7/\nNz19\r\n=o9JN\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCMsAvHjrCQzFlfar2b/hlSYJTc9b/ONHCQSJPuauXZ7QIhAIKbUBhAEQRTBbjjdNRBoqnG60v8l2KwE93YVM74QvVl"}]},"maintainers":[{"name":"m954","email":"xu770310@163.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fabric-shim-m954_1.0.22-test_1566053005632_0.4135784433502767"},"_hasShrinkwrap":false},"1.0.23-test":{"name":"fabric-shim-m954","version":"1.0.23-test","tag":"unstable-1.4","description":"A node.js implementation of Hyperledger Fabric chaincode shim, to allow endorsing peers and user-provided chaincodes to communicate with each other","main":"index.js","bin":{"fabric-chaincode-node":"cli.js"},"scripts":{"start":"node index.js","compile":"tsc --project test/typescript","test":"nyc mocha --recursive 'test/unit/**/*.js'"},"repository":{"type":"git","url":"git+https://github.com/hyperledger/fabric-chaincode-node.git"},"keywords":["fabric-shim","Hyperledger Fabric","Fabric Shim"],"engines":{"node":"^8.9.0","npm":"^5.5.1"},"yargs":{"dot-notation":false},"types":"./types/index.d.ts","license":"Apache-2.0","dependencies":{"@ampretia/x509":"^0.4.0","@types/google-protobuf":"^3.2.7","@types/node":"^8.9.4","ajv":"^6.5.5","fs-extra":"^7.0.1","grpc":"1.17.0","jsrsasign":"^8.0.4","reflect-metadata":"^0.1.12","winston":"^3.2.1","yargs":"^10.0.2","yargs-parser":"^11.0.0","protobufjs":"5.0.3","threadsagogo-xuqq":"1.0.0-test"},"devDependencies":{"mocha":"5.2.0","nyc":"13.1.0","typescript":"3.0.1"},"nyc":{"include":["lib/**/*.js"],"exclude":["coverage/**","test/**"],"reporter":["text-summary","html"],"all":true,"check-coverage":true,"statements":100,"branches":100,"functions":100,"lines":100},"bugs":{"url":"https://github.com/hyperledger/fabric-chaincode-node/issues"},"homepage":"https://github.com/hyperledger/fabric-chaincode-node#readme","directories":{"lib":"lib","test":"test"},"author":{"name":"m954"},"readme":"[![NPM](https://nodei.co/npm/fabric-shim.svg?downloads=true&downloadRank=true&stars=true)](https://nodei.co/npm/fabric-contract-api/)\n\n\n\n[![Version](https://badge.fury.io/js/fabric-shim.svg)](http://badge.fury.io/js/fabric-shim) [![Build Status](https://jenkins.hyperledger.org/buildStatus/icon?job=fabric-chaincode-node-merge-x86_64)](https://jenkins.hyperledger.org/view/fabric-chaincode-node/job/fabric-chaincode-node-merge-x86_64)\n\n\nThe `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.\n\nDetailed explanation on the concept and programming model can be found here: [http://hyperledger-fabric.readthedocs.io/en/latest/chaincode.html](http://hyperledger-fabric.readthedocs.io/en/latest/chaincode.html).\n\n\n## Chaincode Interface\n\n### Installation\n```sh\nnpm install --save fabric-shim\n```\n\n### Usage\nThe [chaincode interface](https://fabric-shim.github.io/ChaincodeInterface.html) contains two methods to be implemented:\n```javascript\nconst shim = require('fabric-shim');\n\nconst Chaincode = class {\n\tasync Init(stub) {\n\t\t// use the instantiate input arguments to decide initial chaincode state values\n\n\t\t// save the initial states\n\t\tawait stub.putState(key, Buffer.from(aStringValue));\n\n\t\treturn shim.success(Buffer.from('Initialized Successfully!'));\n\t}\n\n\tasync Invoke(stub) {\n\t\t// use the invoke input arguments to decide intended changes\n\n\t\t// retrieve existing chaincode states\n\t\tlet oldValue = await stub.getState(key);\n\n\t\t// calculate new state values and saves them\n\t\tlet newValue = oldValue + delta;\n\t\tawait stub.putState(key, Buffer.from(newValue));\n\n\t\treturn shim.success(Buffer.from(newValue.toString()));\n\t}\n};\n```\n\nStart the chaincode process and listen for incoming endorsement requests:\n```javascript\nshim.start(new Chaincode());\n```\n\n### API Reference\nVisit [fabric-shim.github.io](https://fabric-shim.github.io/) and click on \"Classes\" link in the navigation bar on the top to view the list of class APIs.\n\n## Support\nTested with node.js 8.9.0 (LTS).\n\n## License\n\nThis package is distributed under the\n[Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0),\nsee LICENSE.txt for more information.\n","readmeFilename":"README.md","_id":"fabric-shim-m954@1.0.23-test","_npmVersion":"5.6.0","_nodeVersion":"8.10.0","_npmUser":{"name":"m954","email":"xu770310@163.com"},"dist":{"integrity":"sha512-2hE2oV2lJjieEY4h7OnVI9yvrkUk0qz4F/Z3RkvaKoLfE+1ZO+HCy8xALhyEcA9KjrqjwPditRE64qHrmXtfew==","shasum":"629232e9ca6cdea7bee4b7ea4b82cb9788a1e050","tarball":"https://registry.npmjs.org/fabric-shim-m954/-/fabric-shim-m954-1.0.23-test.tgz","fileCount":57,"unpackedSize":537439,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdWLtQCRA9TVsSAnZWagAA6a0P/2UZrNly13uYoal13eF+\nwQOkGmEgvHoSC0U2NrSN/QluyZCSXkB59mN1B5d72IHOWEmOqQ2X4KZUwaO1\nZVuZYLxmWhDrsSdypLqxzg5EzTHUSMtscwkPmbwQXctrHGXSbjMa1q8g3Bx0\n1IV+jakr7vKvhngYUSjZtfP7ogAw4XGrqQpU4Dx0ecNlFcUPqxNCkT5koDo2\ntnYJD5y04h5z4JwLphORDk1xLtU0u4tkXSEe9hBK4nnrVQVoh3oabX8pTTkz\ndY1UtSCnfk20IAyfgm+fl/KcnT5laJsiEZyc0c/BJ/Ab7xnHSIx3yxKceOsu\nLNTk3WLOEDkxluOLF3aLYzCM58fiUrBrphd7LbzwJkWzg4MKsv1u9giTPQh1\nwtMBru536coL3Q6cqEBMKykPKebG3fSueQx8dOuIuB1yGKpCSSLha7XWLUtH\nGuz6puoTq3BLqwHC94QyTRzZ1dncZj2L4ozKQks4hXOPL5uSC4lG6QsnpHiE\ndxHsOuEPEpNszKEDEGgDfFKR/3LF1tr+Xt+mSOS1iHTOnzPQ1oKI9Qx9cRdw\nDOybzjZfDpsdjflzLtIVjkvpXWsFuGpiwMVf8gjq8oyoL4Sh7Wtcb33BTtcz\nJkGUloSvK0W9PmDzywiAqvK6cE1oeQb3Ka9/IYt5SE8e1vkK+jsoQBCIQz9M\nCP8u\r\n=GKcz\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIE2WS3d9/66GJBTbAKI9nvc4qz50yXGlgLli0KN9gCNyAiEA5AR5eRjWbgmqBP3oEvBRFlTdHnungx+aLOxRJ3C1PqU="}]},"maintainers":[{"name":"m954","email":"xu770310@163.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fabric-shim-m954_1.0.23-test_1566096207769_0.021028634243079436"},"_hasShrinkwrap":false},"1.0.24-test":{"name":"fabric-shim-m954","version":"1.0.24-test","tag":"unstable-1.4","description":"A node.js implementation of Hyperledger Fabric chaincode shim, to allow endorsing peers and user-provided chaincodes to communicate with each other","main":"index.js","bin":{"fabric-chaincode-node":"cli.js"},"scripts":{"start":"node index.js","compile":"tsc --project test/typescript","test":"nyc mocha --recursive 'test/unit/**/*.js'"},"repository":{"type":"git","url":"git+https://github.com/hyperledger/fabric-chaincode-node.git"},"keywords":["fabric-shim","Hyperledger Fabric","Fabric Shim"],"engines":{"node":"^8.9.0","npm":"^5.5.1"},"yargs":{"dot-notation":false},"types":"./types/index.d.ts","license":"Apache-2.0","dependencies":{"@ampretia/x509":"^0.4.0","@types/google-protobuf":"^3.2.7","@types/node":"^8.9.4","ajv":"^6.5.5","fs-extra":"^7.0.1","grpc":"1.17.0","jsrsasign":"^8.0.4","reflect-metadata":"^0.1.12","winston":"^3.2.1","yargs":"^10.0.2","yargs-parser":"^11.0.0","protobufjs":"5.0.3","threadsagogo-xuqq":"1.0.0-test"},"devDependencies":{"mocha":"5.2.0","nyc":"13.1.0","typescript":"3.0.1"},"nyc":{"include":["lib/**/*.js"],"exclude":["coverage/**","test/**"],"reporter":["text-summary","html"],"all":true,"check-coverage":true,"statements":100,"branches":100,"functions":100,"lines":100},"bugs":{"url":"https://github.com/hyperledger/fabric-chaincode-node/issues"},"homepage":"https://github.com/hyperledger/fabric-chaincode-node#readme","directories":{"lib":"lib","test":"test"},"author":{"name":"m954"},"readme":"[![NPM](https://nodei.co/npm/fabric-shim.svg?downloads=true&downloadRank=true&stars=true)](https://nodei.co/npm/fabric-contract-api/)\n\n\n\n[![Version](https://badge.fury.io/js/fabric-shim.svg)](http://badge.fury.io/js/fabric-shim) [![Build Status](https://jenkins.hyperledger.org/buildStatus/icon?job=fabric-chaincode-node-merge-x86_64)](https://jenkins.hyperledger.org/view/fabric-chaincode-node/job/fabric-chaincode-node-merge-x86_64)\n\n\nThe `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.\n\nDetailed explanation on the concept and programming model can be found here: [http://hyperledger-fabric.readthedocs.io/en/latest/chaincode.html](http://hyperledger-fabric.readthedocs.io/en/latest/chaincode.html).\n\n\n## Chaincode Interface\n\n### Installation\n```sh\nnpm install --save fabric-shim\n```\n\n### Usage\nThe [chaincode interface](https://fabric-shim.github.io/ChaincodeInterface.html) contains two methods to be implemented:\n```javascript\nconst shim = require('fabric-shim');\n\nconst Chaincode = class {\n\tasync Init(stub) {\n\t\t// use the instantiate input arguments to decide initial chaincode state values\n\n\t\t// save the initial states\n\t\tawait stub.putState(key, Buffer.from(aStringValue));\n\n\t\treturn shim.success(Buffer.from('Initialized Successfully!'));\n\t}\n\n\tasync Invoke(stub) {\n\t\t// use the invoke input arguments to decide intended changes\n\n\t\t// retrieve existing chaincode states\n\t\tlet oldValue = await stub.getState(key);\n\n\t\t// calculate new state values and saves them\n\t\tlet newValue = oldValue + delta;\n\t\tawait stub.putState(key, Buffer.from(newValue));\n\n\t\treturn shim.success(Buffer.from(newValue.toString()));\n\t}\n};\n```\n\nStart the chaincode process and listen for incoming endorsement requests:\n```javascript\nshim.start(new Chaincode());\n```\n\n### API Reference\nVisit [fabric-shim.github.io](https://fabric-shim.github.io/) and click on \"Classes\" link in the navigation bar on the top to view the list of class APIs.\n\n## Support\nTested with node.js 8.9.0 (LTS).\n\n## License\n\nThis package is distributed under the\n[Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0),\nsee LICENSE.txt for more information.\n","readmeFilename":"README.md","_id":"fabric-shim-m954@1.0.24-test","_npmVersion":"5.6.0","_nodeVersion":"8.10.0","_npmUser":{"name":"m954","email":"xu770310@163.com"},"dist":{"integrity":"sha512-qDJpt3HLDAoTBBD7gEGWLGjEKnZtG3XKVDVSUivoNQ/+e/9JKr716Fbgee3JbOs0hNxYYKFeW2IYToItYhW2uA==","shasum":"05752e07bf96f147a9c2e8474f5bfc72e8fed291","tarball":"https://registry.npmjs.org/fabric-shim-m954/-/fabric-shim-m954-1.0.24-test.tgz","fileCount":57,"unpackedSize":537612,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdWL+/CRA9TVsSAnZWagAAzJ0P/RwuSyuMiNzkIG/+JhaP\nn5gtPdnCUXC3JfEbhz2bccMKxkxH9tbz25eEbDwwmF9p9YkA5cdbg0iE52ha\n/WbetppZIq+EEeFbWXs+Uxjo5MKaQfSmGB+tek9aqnT8Cj3Fv5+f8kV27fQ0\nElG4lWJenppKS4GKghFDRlC7fyMu1QWsqY+kl0ShwJ09InrkaUroQqoERTM1\nWAbcUCmO24m4NjfZSARQzRx2s1rI91D/yuVEx0ARh3Q+zRbJUPcx8C4VmfIi\nQ7DAsm2iwUGcG+ccejw4uz962x2dhun1XQB/V9tc8Wnu+mgRpVAtA0monRXD\n/alnU/ppdiS/Bha1/AKJY7hFCNvDSnUmzrTbnH6UKq6F+K9I7LkW0kUq5Hzo\nMSP3cY9Ms3Fc8YzqWQwke5hHdxvsh/zId+muHxte0+2mHxuc1tVMdmVjfpga\ntwyPysolkVP3/BZiXXxU8CSN3HxwwQM+s4cMkD9Rdg6qZ1N3sUrhzd4BxMLR\nFUxUOfd6ALKG5q2vEoae2mxVLomY89FVyKQKUJg+0KmcPxWL08LMcaIYJ+4D\nmg0IV4A7/+fdMtlGl5N4eofnqmXH/eaBinH+5zi0rcKE2Zu2oB1EQD9EeTSM\npk2SmXcbFc4LtpqmILtjds7xwXoGZilVZzqjkWXHDNzl9VhPeWQLhAB/sHzS\nmcNA\r\n=yPpV\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHhkTDNV0KQUGvWO5wPbkUD1iP1J2RBLr8cVII8sGKb+AiBGDmSlJ1CNTNtYE5wcxdH825w7MJXExXnPJ6lldeVyKA=="}]},"maintainers":[{"name":"m954","email":"xu770310@163.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fabric-shim-m954_1.0.24-test_1566097342758_0.7309983919549499"},"_hasShrinkwrap":false},"1.0.25-test":{"name":"fabric-shim-m954","version":"1.0.25-test","tag":"unstable-1.4","description":"A node.js implementation of Hyperledger Fabric chaincode shim, to allow endorsing peers and user-provided chaincodes to communicate with each other","main":"index.js","bin":{"fabric-chaincode-node":"cli.js"},"scripts":{"start":"node index.js","compile":"tsc --project test/typescript","test":"nyc mocha --recursive 'test/unit/**/*.js'"},"repository":{"type":"git","url":"git+https://github.com/hyperledger/fabric-chaincode-node.git"},"keywords":["fabric-shim","Hyperledger Fabric","Fabric Shim"],"engines":{"node":"^8.9.0","npm":"^5.5.1"},"yargs":{"dot-notation":false},"types":"./types/index.d.ts","license":"Apache-2.0","dependencies":{"@ampretia/x509":"^0.4.0","@types/google-protobuf":"^3.2.7","@types/node":"^8.9.4","ajv":"^6.5.5","fs-extra":"^7.0.1","grpc":"1.17.0","jsrsasign":"^8.0.4","reflect-metadata":"^0.1.12","winston":"^3.2.1","yargs":"^10.0.2","yargs-parser":"^11.0.0","protobufjs":"5.0.3","threadsagogo-xuqq":"1.0.0-test"},"devDependencies":{"mocha":"5.2.0","nyc":"13.1.0","typescript":"3.0.1"},"nyc":{"include":["lib/**/*.js"],"exclude":["coverage/**","test/**"],"reporter":["text-summary","html"],"all":true,"check-coverage":true,"statements":100,"branches":100,"functions":100,"lines":100},"bugs":{"url":"https://github.com/hyperledger/fabric-chaincode-node/issues"},"homepage":"https://github.com/hyperledger/fabric-chaincode-node#readme","directories":{"lib":"lib","test":"test"},"author":{"name":"m954"},"readme":"[![NPM](https://nodei.co/npm/fabric-shim.svg?downloads=true&downloadRank=true&stars=true)](https://nodei.co/npm/fabric-contract-api/)\n\n\n\n[![Version](https://badge.fury.io/js/fabric-shim.svg)](http://badge.fury.io/js/fabric-shim) [![Build Status](https://jenkins.hyperledger.org/buildStatus/icon?job=fabric-chaincode-node-merge-x86_64)](https://jenkins.hyperledger.org/view/fabric-chaincode-node/job/fabric-chaincode-node-merge-x86_64)\n\n\nThe `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.\n\nDetailed explanation on the concept and programming model can be found here: [http://hyperledger-fabric.readthedocs.io/en/latest/chaincode.html](http://hyperledger-fabric.readthedocs.io/en/latest/chaincode.html).\n\n\n## Chaincode Interface\n\n### Installation\n```sh\nnpm install --save fabric-shim\n```\n\n### Usage\nThe [chaincode interface](https://fabric-shim.github.io/ChaincodeInterface.html) contains two methods to be implemented:\n```javascript\nconst shim = require('fabric-shim');\n\nconst Chaincode = class {\n\tasync Init(stub) {\n\t\t// use the instantiate input arguments to decide initial chaincode state values\n\n\t\t// save the initial states\n\t\tawait stub.putState(key, Buffer.from(aStringValue));\n\n\t\treturn shim.success(Buffer.from('Initialized Successfully!'));\n\t}\n\n\tasync Invoke(stub) {\n\t\t// use the invoke input arguments to decide intended changes\n\n\t\t// retrieve existing chaincode states\n\t\tlet oldValue = await stub.getState(key);\n\n\t\t// calculate new state values and saves them\n\t\tlet newValue = oldValue + delta;\n\t\tawait stub.putState(key, Buffer.from(newValue));\n\n\t\treturn shim.success(Buffer.from(newValue.toString()));\n\t}\n};\n```\n\nStart the chaincode process and listen for incoming endorsement requests:\n```javascript\nshim.start(new Chaincode());\n```\n\n### API Reference\nVisit [fabric-shim.github.io](https://fabric-shim.github.io/) and click on \"Classes\" link in the navigation bar on the top to view the list of class APIs.\n\n## Support\nTested with node.js 8.9.0 (LTS).\n\n## License\n\nThis package is distributed under the\n[Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0),\nsee LICENSE.txt for more information.\n","readmeFilename":"README.md","_id":"fabric-shim-m954@1.0.25-test","_npmVersion":"5.6.0","_nodeVersion":"8.10.0","_npmUser":{"name":"m954","email":"xu770310@163.com"},"dist":{"integrity":"sha512-XKMIomGloGtokuyZL4kANizlas9+D50VbwjWswrxkRhio2bj+CwMUm4pKxHH1jGIT1QIb502t4haGSPKygIO+A==","shasum":"c380b38c1b32b5e5112ff38dfa2fff9e58e5d107","tarball":"https://registry.npmjs.org/fabric-shim-m954/-/fabric-shim-m954-1.0.25-test.tgz","fileCount":57,"unpackedSize":537646,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdWMIBCRA9TVsSAnZWagAAwxEP/1Kp7ok8rsTz6V2QsDWr\nrBkuPgscifE+S7G/uZaM4II6sTQYJEwRNHSYTXOOmKmj7RRL/ifH2Hyrp9A6\nFmtL+ytlmp51CqqtAZzw0LF5A7SGKDskOMY5UCjEVIn7A5ElOjrNySxw2OeF\nCOTLIEpntnsWvzHF5FeptoO2JKr6LC9gP0nhmqoY53s27DemYUtLtyEUnE6h\nkP6jW5RsX3MR3mY5MUoVZ45V9U74Vr47BAGKs5te6qOfmbKfKfVyDpnZ/5Ou\nBZ6Xx7FydRWJVHkUP+A6Awi3rafBLmTXfI4beuugo5+CVj6iH06T3YYGgjnO\n73K196NQEzB8y+rebmFsrbaGIW5LfvzJSpb4FawwH+GJNi5LxeSJQrk2awkl\nlxYTiT37FgrINhl202ueaPxyPsagHb7f/zDFN7wn0PY4aS0BBM2Q+u69rgTt\nyLhgV62th9Ba4Ckjnm/YPNl0NBqt5w0aoHtmSDGxqJHBu/+RAvuiLWphGpIE\nTKeRgLoChH24nQ0w9xRgzhNh84kmWHwW+Uc5Lg1JP5pOg8xx1i2wQqDW8ie9\nxnuCJz5b69BV1jLlZJdmrSNA6RKPHLsRFz8ZFn4T4M3hNjkJ8pL8ryc6YknT\nVGRL3VJJUrs0r8DBP0Cn6Ij/id0IlHRnovH2lfCfb2uBy2XSAfhh3Hkuk+Po\n6eot\r\n=w8q6\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDlEaZKKrdHsvtbXdRVZEh0b3oUKl4n8zQ0kXmgZPgEsAiAJgk2to2o/S+XFa+eaznhOZBZOMNy5En+KaE21oTwgow=="}]},"maintainers":[{"name":"m954","email":"xu770310@163.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fabric-shim-m954_1.0.25-test_1566097920507_0.4334645316832817"},"_hasShrinkwrap":false},"1.0.26":{"name":"fabric-shim-m954","version":"1.0.26","tag":"unstable-1.4","description":"A node.js implementation of Hyperledger Fabric chaincode shim, to allow endorsing peers and user-provided chaincodes to communicate with each other","main":"index.js","bin":{"fabric-chaincode-node":"cli.js"},"scripts":{"start":"node index.js","compile":"tsc --project test/typescript","test":"nyc mocha --recursive 'test/unit/**/*.js'"},"repository":{"type":"git","url":"git+https://github.com/hyperledger/fabric-chaincode-node.git"},"keywords":["fabric-shim","Hyperledger Fabric","Fabric Shim"],"engines":{"node":"^8.9.0","npm":"^5.5.1"},"yargs":{"dot-notation":false},"types":"./types/index.d.ts","license":"Apache-2.0","dependencies":{"@ampretia/x509":"^0.4.0","@types/google-protobuf":"^3.2.7","@types/node":"^8.9.4","ajv":"^6.5.5","fs-extra":"^7.0.1","grpc":"1.17.0","jsrsasign":"^8.0.4","reflect-metadata":"^0.1.12","winston":"^3.2.1","yargs":"^10.0.2","yargs-parser":"^11.0.0","protobufjs":"5.0.3","threadsagogo-xuqq":"1.0.0-test"},"devDependencies":{"mocha":"5.2.0","nyc":"13.1.0","typescript":"3.0.1"},"nyc":{"include":["lib/**/*.js"],"exclude":["coverage/**","test/**"],"reporter":["text-summary","html"],"all":true,"check-coverage":true,"statements":100,"branches":100,"functions":100,"lines":100},"bugs":{"url":"https://github.com/hyperledger/fabric-chaincode-node/issues"},"homepage":"https://github.com/hyperledger/fabric-chaincode-node#readme","directories":{"lib":"lib","test":"test"},"author":{"name":"m954"},"readme":"[![NPM](https://nodei.co/npm/fabric-shim.svg?downloads=true&downloadRank=true&stars=true)](https://nodei.co/npm/fabric-contract-api/)\n\n\n\n[![Version](https://badge.fury.io/js/fabric-shim.svg)](http://badge.fury.io/js/fabric-shim) [![Build Status](https://jenkins.hyperledger.org/buildStatus/icon?job=fabric-chaincode-node-merge-x86_64)](https://jenkins.hyperledger.org/view/fabric-chaincode-node/job/fabric-chaincode-node-merge-x86_64)\n\n\nThe `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.\n\nDetailed explanation on the concept and programming model can be found here: [http://hyperledger-fabric.readthedocs.io/en/latest/chaincode.html](http://hyperledger-fabric.readthedocs.io/en/latest/chaincode.html).\n\n\n## Chaincode Interface\n\n### Installation\n```sh\nnpm install --save fabric-shim\n```\n\n### Usage\nThe [chaincode interface](https://fabric-shim.github.io/ChaincodeInterface.html) contains two methods to be implemented:\n```javascript\nconst shim = require('fabric-shim');\n\nconst Chaincode = class {\n\tasync Init(stub) {\n\t\t// use the instantiate input arguments to decide initial chaincode state values\n\n\t\t// save the initial states\n\t\tawait stub.putState(key, Buffer.from(aStringValue));\n\n\t\treturn shim.success(Buffer.from('Initialized Successfully!'));\n\t}\n\n\tasync Invoke(stub) {\n\t\t// use the invoke input arguments to decide intended changes\n\n\t\t// retrieve existing chaincode states\n\t\tlet oldValue = await stub.getState(key);\n\n\t\t// calculate new state values and saves them\n\t\tlet newValue = oldValue + delta;\n\t\tawait stub.putState(key, Buffer.from(newValue));\n\n\t\treturn shim.success(Buffer.from(newValue.toString()));\n\t}\n};\n```\n\nStart the chaincode process and listen for incoming endorsement requests:\n```javascript\nshim.start(new Chaincode());\n```\n\n### API Reference\nVisit [fabric-shim.github.io](https://fabric-shim.github.io/) and click on \"Classes\" link in the navigation bar on the top to view the list of class APIs.\n\n## Support\nTested with node.js 8.9.0 (LTS).\n\n## License\n\nThis package is distributed under the\n[Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0),\nsee LICENSE.txt for more information.\n","readmeFilename":"README.md","_id":"fabric-shim-m954@1.0.26","_npmVersion":"5.6.0","_nodeVersion":"8.10.0","_npmUser":{"name":"m954","email":"xu770310@163.com"},"dist":{"integrity":"sha512-/rsgNiyTrN3J95nx5wl468WeqRhj4+1gTIw/1nnHXHawINkRabV3sh7/M9AQu+uJ97NYUtFLFIBR4oUzTVhYsA==","shasum":"9414c9b37e407431005242e5ff9cae39f995883a","tarball":"https://registry.npmjs.org/fabric-shim-m954/-/fabric-shim-m954-1.0.26.tgz","fileCount":57,"unpackedSize":537583,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdWMSYCRA9TVsSAnZWagAA+RgP/jjL8jgukFWnVyp4iHIK\nyE/L70+ytuchK/7g1CdSmwJ8BYBuYgmX+TLnwdUghEILnBQgdodmCrVTOLYD\nQC66ynDZVOw/hYxpjVkVOgVDQCsMLlTZMEAG6JLaXhHFGrkXvxloNuRKKn0u\nkPLUqTp7iBbYggaWNPPOZ+vYCDFMtfE2/rQY7IGOq54/5pKhmvp7mYw2OuYf\nCoJSnQXENL2w+CIlJB1NfHgHrhN4MLhJ6Uc97atYsANaVrMFM3BCG8/odUDJ\n8lkIiYkCyl3km5kcpLq+W3qghezeWTA4h1CB1G3aMlK1k7nCiRVq3JZZjgvH\nZzm89eS3PaDfhIuR/7QsZPqbj3XMY4MTWypc3kjlKhbClbzrmdkAQyJua7So\nCf+ea5NYnpZhTPAfjHWJF6Bw/sZDOQ7+5nPryvDgIGifqh/rXBFY+ivpYY4p\nWbEJStvFpsEXUML/5lDa8jyuvT3jSUb50QKgrdXUqRk5BZdwwpKkbYuXkG0q\njft++9muxpYEKdhW6BBEZahgAoMXKhtFBbx70U9JIiaNHdXLd79hdPc3hLRD\nVAs6Wk0+PIUz9QPv9elndLtWLF/QNlbcUNPvCFKPiQig83gERnrHYEz5bHJi\ntkquJ3p/QjjsboaRGz8amWFyQONIapYXkSLJBr7GlCcA34UY00T8ZmIkoEJp\nGFNe\r\n=tNfT\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD9TQtTCJs2GpIUR/nhVTR+aLXIj00bOFeXvcIUPq7t+AIhAJACMHjfv3jUxUU/Cr8+8IpP3yaPk0yEQO8uqkCyAjyJ"}]},"maintainers":[{"name":"m954","email":"xu770310@163.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fabric-shim-m954_1.0.26_1566098584136_0.48700686543504035"},"_hasShrinkwrap":false},"1.0.27-test":{"name":"fabric-shim-m954","version":"1.0.27-test","tag":"unstable-1.4","description":"A node.js implementation of Hyperledger Fabric chaincode shim, to allow endorsing peers and user-provided chaincodes to communicate with each other","main":"index.js","bin":{"fabric-chaincode-node":"cli.js"},"scripts":{"start":"node index.js","compile":"tsc --project test/typescript","test":"nyc mocha --recursive 'test/unit/**/*.js'"},"repository":{"type":"git","url":"git+https://github.com/hyperledger/fabric-chaincode-node.git"},"keywords":["fabric-shim","Hyperledger Fabric","Fabric Shim"],"engines":{"node":"^8.9.0","npm":"^5.5.1"},"yargs":{"dot-notation":false},"types":"./types/index.d.ts","license":"Apache-2.0","dependencies":{"@ampretia/x509":"^0.4.0","@types/google-protobuf":"^3.2.7","@types/node":"^8.9.4","ajv":"^6.5.5","fs-extra":"^7.0.1","grpc":"1.17.0","jsrsasign":"^8.0.4","reflect-metadata":"^0.1.12","winston":"^3.2.1","yargs":"^10.0.2","yargs-parser":"^11.0.0","protobufjs":"5.0.3","threadsagogo-xuqq":"1.0.0-test"},"devDependencies":{"mocha":"5.2.0","nyc":"13.1.0","typescript":"3.0.1"},"nyc":{"include":["lib/**/*.js"],"exclude":["coverage/**","test/**"],"reporter":["text-summary","html"],"all":true,"check-coverage":true,"statements":100,"branches":100,"functions":100,"lines":100},"bugs":{"url":"https://github.com/hyperledger/fabric-chaincode-node/issues"},"homepage":"https://github.com/hyperledger/fabric-chaincode-node#readme","directories":{"lib":"lib","test":"test"},"author":{"name":"m954"},"readme":"[![NPM](https://nodei.co/npm/fabric-shim.svg?downloads=true&downloadRank=true&stars=true)](https://nodei.co/npm/fabric-contract-api/)\n\n\n\n[![Version](https://badge.fury.io/js/fabric-shim.svg)](http://badge.fury.io/js/fabric-shim) [![Build Status](https://jenkins.hyperledger.org/buildStatus/icon?job=fabric-chaincode-node-merge-x86_64)](https://jenkins.hyperledger.org/view/fabric-chaincode-node/job/fabric-chaincode-node-merge-x86_64)\n\n\nThe `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.\n\nDetailed explanation on the concept and programming model can be found here: [http://hyperledger-fabric.readthedocs.io/en/latest/chaincode.html](http://hyperledger-fabric.readthedocs.io/en/latest/chaincode.html).\n\n\n## Chaincode Interface\n\n### Installation\n```sh\nnpm install --save fabric-shim\n```\n\n### Usage\nThe [chaincode interface](https://fabric-shim.github.io/ChaincodeInterface.html) contains two methods to be implemented:\n```javascript\nconst shim = require('fabric-shim');\n\nconst Chaincode = class {\n\tasync Init(stub) {\n\t\t// use the instantiate input arguments to decide initial chaincode state values\n\n\t\t// save the initial states\n\t\tawait stub.putState(key, Buffer.from(aStringValue));\n\n\t\treturn shim.success(Buffer.from('Initialized Successfully!'));\n\t}\n\n\tasync Invoke(stub) {\n\t\t// use the invoke input arguments to decide intended changes\n\n\t\t// retrieve existing chaincode states\n\t\tlet oldValue = await stub.getState(key);\n\n\t\t// calculate new state values and saves them\n\t\tlet newValue = oldValue + delta;\n\t\tawait stub.putState(key, Buffer.from(newValue));\n\n\t\treturn shim.success(Buffer.from(newValue.toString()));\n\t}\n};\n```\n\nStart the chaincode process and listen for incoming endorsement requests:\n```javascript\nshim.start(new Chaincode());\n```\n\n### API Reference\nVisit [fabric-shim.github.io](https://fabric-shim.github.io/) and click on \"Classes\" link in the navigation bar on the top to view the list of class APIs.\n\n## Support\nTested with node.js 8.9.0 (LTS).\n\n## License\n\nThis package is distributed under the\n[Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0),\nsee LICENSE.txt for more information.\n","readmeFilename":"README.md","_id":"fabric-shim-m954@1.0.27-test","_npmVersion":"5.6.0","_nodeVersion":"8.10.0","_npmUser":{"name":"m954","email":"xu770310@163.com"},"dist":{"integrity":"sha512-HLrfRCOJVEL9EgLLR6xLH6tjHRM4QY5g59YACaUTOgLmVqk4AXG/QAMVzurB2frExuLd0oPPA9BmBnu56e7pIQ==","shasum":"c5c1ececbb430556507a4bed844cb9a27d2e693f","tarball":"https://registry.npmjs.org/fabric-shim-m954/-/fabric-shim-m954-1.0.27-test.tgz","fileCount":57,"unpackedSize":537553,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdWMjICRA9TVsSAnZWagAAAIUP/ive48rG3pOzt9BasntD\n376p282c36Ozqjawg1uTum5YZZmolMNVUy5Op+IPw10PKUAeEqA4Dg2XSNVn\nv9rmDKnzpYEw414tsAA/G888Ul3hLwpUh4UsInTooTDjbGXf/yz6PD5AfMOl\nSeBnzS/GVbAnInJHVTSJ05LcVJ6MDrq5KdiBDETZ7gNWki+7dpjnLefqEUep\n8qPAl4SGAoA6tbnyOM8hM23240/pW7q4EyyzGdW9JzQhCx+EBZX0kgzVhGW+\nXbsD5QTg+QIsFbsvM7M6/UDDVZockoqAER+BA8j5e6oIzFzLfLTNLRYY+X1z\nL/BDCGwUvxcI5Nu3IGC9tF8V1HTQfAkMB8HMbIWcHNvWaoRwsN6jJkiadE6t\ntQZFIFZXC+RxItBoDFtZ8Too+Xh63q/EtN9TB4rL0Krn3JoHKFilO5hssdfW\nzyISqWTtz00/0qWghE/Rhhq4iN7Q7LhHiC16n0eceyH5kq1qC48XcOdvWcnF\n+P0QQfFTcjbeYXrHVg3a5af+QD0AZIpLTcvfrcNknHhryRJLKOoOVeuug6Vx\n0ttvzhJbL2mtmx0nSu4VzwIjBwSFffimoJVgJy2oy8FPbo9I5uemzBYauiL6\njHRtjFPoqPHw0MhGssGaoFBJs5j5qsDysD2e9/WcAfAuuCsGsEpP5ppyJqZA\nH5Vu\r\n=LH9z\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCBH1KGHulmldF3dN6ygwGONlS4zCUlzPlvM0P8rm1tKAIhAK5KluxvZ3sTEFjoRniscZn39uvvg3Kb1gBhhfZgW/lg"}]},"maintainers":[{"name":"m954","email":"xu770310@163.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fabric-shim-m954_1.0.27-test_1566099655408_0.2694991659037722"},"_hasShrinkwrap":false},"1.0.28-test":{"name":"fabric-shim-m954","version":"1.0.28-test","tag":"unstable-1.4","description":"A node.js implementation of Hyperledger Fabric chaincode shim, to allow endorsing peers and user-provided chaincodes to communicate with each other","main":"index.js","bin":{"fabric-chaincode-node":"cli.js"},"scripts":{"start":"node index.js","compile":"tsc --project test/typescript","test":"nyc mocha --recursive 'test/unit/**/*.js'"},"repository":{"type":"git","url":"git+https://github.com/hyperledger/fabric-chaincode-node.git"},"keywords":["fabric-shim","Hyperledger Fabric","Fabric Shim"],"engines":{"node":"^8.9.0","npm":"^5.5.1"},"yargs":{"dot-notation":false},"types":"./types/index.d.ts","license":"Apache-2.0","dependencies":{"@ampretia/x509":"^0.4.0","@types/google-protobuf":"^3.2.7","@types/node":"^8.9.4","ajv":"^6.5.5","fs-extra":"^7.0.1","grpc":"1.17.0","jsrsasign":"^8.0.4","reflect-metadata":"^0.1.12","winston":"^3.2.1","yargs":"^10.0.2","yargs-parser":"^11.0.0","protobufjs":"5.0.3","threadsagogo-xuqq":"1.0.0-test"},"devDependencies":{"mocha":"5.2.0","nyc":"13.1.0","typescript":"3.0.1"},"nyc":{"include":["lib/**/*.js"],"exclude":["coverage/**","test/**"],"reporter":["text-summary","html"],"all":true,"check-coverage":true,"statements":100,"branches":100,"functions":100,"lines":100},"bugs":{"url":"https://github.com/hyperledger/fabric-chaincode-node/issues"},"homepage":"https://github.com/hyperledger/fabric-chaincode-node#readme","directories":{"lib":"lib","test":"test"},"author":{"name":"m954"},"readme":"[![NPM](https://nodei.co/npm/fabric-shim.svg?downloads=true&downloadRank=true&stars=true)](https://nodei.co/npm/fabric-contract-api/)\n\n\n\n[![Version](https://badge.fury.io/js/fabric-shim.svg)](http://badge.fury.io/js/fabric-shim) [![Build Status](https://jenkins.hyperledger.org/buildStatus/icon?job=fabric-chaincode-node-merge-x86_64)](https://jenkins.hyperledger.org/view/fabric-chaincode-node/job/fabric-chaincode-node-merge-x86_64)\n\n\nThe `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.\n\nDetailed explanation on the concept and programming model can be found here: [http://hyperledger-fabric.readthedocs.io/en/latest/chaincode.html](http://hyperledger-fabric.readthedocs.io/en/latest/chaincode.html).\n\n\n## Chaincode Interface\n\n### Installation\n```sh\nnpm install --save fabric-shim\n```\n\n### Usage\nThe [chaincode interface](https://fabric-shim.github.io/ChaincodeInterface.html) contains two methods to be implemented:\n```javascript\nconst shim = require('fabric-shim');\n\nconst Chaincode = class {\n\tasync Init(stub) {\n\t\t// use the instantiate input arguments to decide initial chaincode state values\n\n\t\t// save the initial states\n\t\tawait stub.putState(key, Buffer.from(aStringValue));\n\n\t\treturn shim.success(Buffer.from('Initialized Successfully!'));\n\t}\n\n\tasync Invoke(stub) {\n\t\t// use the invoke input arguments to decide intended changes\n\n\t\t// retrieve existing chaincode states\n\t\tlet oldValue = await stub.getState(key);\n\n\t\t// calculate new state values and saves them\n\t\tlet newValue = oldValue + delta;\n\t\tawait stub.putState(key, Buffer.from(newValue));\n\n\t\treturn shim.success(Buffer.from(newValue.toString()));\n\t}\n};\n```\n\nStart the chaincode process and listen for incoming endorsement requests:\n```javascript\nshim.start(new Chaincode());\n```\n\n### API Reference\nVisit [fabric-shim.github.io](https://fabric-shim.github.io/) and click on \"Classes\" link in the navigation bar on the top to view the list of class APIs.\n\n## Support\nTested with node.js 8.9.0 (LTS).\n\n## License\n\nThis package is distributed under the\n[Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0),\nsee LICENSE.txt for more information.\n","readmeFilename":"README.md","_id":"fabric-shim-m954@1.0.28-test","_npmVersion":"5.6.0","_nodeVersion":"8.10.0","_npmUser":{"name":"m954","email":"xu770310@163.com"},"dist":{"integrity":"sha512-vK0Lc+EChQaqh3L3qKoRTu2b1GgsSMVIh2PlRG5DygjbuDKu9yBHyYi/Am3W/bZMVF+Wqs+JQrofn7aCIQULOA==","shasum":"332ae603d1a2aa92433cb92a1639c59dbfc33bc9","tarball":"https://registry.npmjs.org/fabric-shim-m954/-/fabric-shim-m954-1.0.28-test.tgz","fileCount":57,"unpackedSize":537553,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdWMnJCRA9TVsSAnZWagAAw9YP/1olUZ3zUijL07Asm1sd\nF9GDx8bd3wEGid2eEY2+EPtz4bb24Z3dR1jTOsxzwqZYNC5qZcNcHF9ez4O+\nxgG5Rvszz1cvLYT9baRGLqXZG22dQqQco8T1Xev+xl5SN3RA2Fy9KNn/IV6x\nfjHsG82f4CUUcbxnMsL1L2nl7tW9LfTcaD9dSAIzmyDyKMoWNiKir1KM2MSu\nmvY5RnUYI5Did9V5A5vD7nFxbfj0E46QQz2l9xlIg2x2tBA30MaJH9yvGsq1\n5LdYI4rpwFyzP7c6U2Thcglk2CDjcZx43VOhfK55+nABsnyqFrguVs66tjXC\n5QJWXMyOmuYS59OnhelTNa6IgJmyivNDuwBWESqXLzhnBgw8TnhT04WBFJu3\nKXB8Rxfb25vYOfWA9ZmrKhboNCdd/0a8spaJ0NAFB8uTvLirjdWpT0OpRyr6\nOYVnufC78mL/+bopuCsB5iwmtOM6ENHCjato47sR8xHxGPQuBNQa8c8G4SyV\ncw41rp5KtXXHpWiWkOWLyoRqgiZK47KFM7jdo+Z2RxCYKVD+ojpSk1XR0bw8\n7ryTDh4X3IxtOdvd83HFbn41S6fgzZiLCSQt2qbFqUsUasqSE9MdVEfsNGbg\nUbu1uhcJsp0hi7Hn+DNd4nEeqWRj49vrAl9pvmsN2b+BVH3ufTItC7TtzDw4\nPPqB\r\n=5T2H\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICTt4lUNIy7qSIYjp6xRYYxwzZI55vF+WPYz2H2yjTSoAiEA1E/WoViE+X6gSoIMwVSFwdqGX6ihq0/enz12b3+lGjU="}]},"maintainers":[{"name":"m954","email":"xu770310@163.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fabric-shim-m954_1.0.28-test_1566099913127_0.5503966390700898"},"_hasShrinkwrap":false},"1.0.29-test":{"name":"fabric-shim-m954","version":"1.0.29-test","tag":"unstable-1.4","description":"A node.js implementation of Hyperledger Fabric chaincode shim, to allow endorsing peers and user-provided chaincodes to communicate with each other","main":"index.js","bin":{"fabric-chaincode-node":"cli.js"},"scripts":{"start":"node index.js","compile":"tsc --project test/typescript","test":"nyc mocha --recursive 'test/unit/**/*.js'"},"repository":{"type":"git","url":"git+https://github.com/hyperledger/fabric-chaincode-node.git"},"keywords":["fabric-shim","Hyperledger Fabric","Fabric Shim"],"engines":{"node":"^8.9.0","npm":"^5.5.1"},"yargs":{"dot-notation":false},"types":"./types/index.d.ts","license":"Apache-2.0","dependencies":{"@ampretia/x509":"^0.4.0","@types/google-protobuf":"^3.2.7","@types/node":"^8.9.4","ajv":"^6.5.5","fs-extra":"^7.0.1","grpc":"1.17.0","jsrsasign":"^8.0.4","reflect-metadata":"^0.1.12","winston":"^3.2.1","yargs":"^10.0.2","yargs-parser":"^11.0.0","protobufjs":"5.0.3","threadsagogo-xuqq":"1.0.0-test"},"devDependencies":{"mocha":"5.2.0","nyc":"13.1.0","typescript":"3.0.1"},"nyc":{"include":["lib/**/*.js"],"exclude":["coverage/**","test/**"],"reporter":["text-summary","html"],"all":true,"check-coverage":true,"statements":100,"branches":100,"functions":100,"lines":100},"bugs":{"url":"https://github.com/hyperledger/fabric-chaincode-node/issues"},"homepage":"https://github.com/hyperledger/fabric-chaincode-node#readme","directories":{"lib":"lib","test":"test"},"author":{"name":"m954"},"readme":"[![NPM](https://nodei.co/npm/fabric-shim.svg?downloads=true&downloadRank=true&stars=true)](https://nodei.co/npm/fabric-contract-api/)\n\n\n\n[![Version](https://badge.fury.io/js/fabric-shim.svg)](http://badge.fury.io/js/fabric-shim) [![Build Status](https://jenkins.hyperledger.org/buildStatus/icon?job=fabric-chaincode-node-merge-x86_64)](https://jenkins.hyperledger.org/view/fabric-chaincode-node/job/fabric-chaincode-node-merge-x86_64)\n\n\nThe `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.\n\nDetailed explanation on the concept and programming model can be found here: [http://hyperledger-fabric.readthedocs.io/en/latest/chaincode.html](http://hyperledger-fabric.readthedocs.io/en/latest/chaincode.html).\n\n\n## Chaincode Interface\n\n### Installation\n```sh\nnpm install --save fabric-shim\n```\n\n### Usage\nThe [chaincode interface](https://fabric-shim.github.io/ChaincodeInterface.html) contains two methods to be implemented:\n```javascript\nconst shim = require('fabric-shim');\n\nconst Chaincode = class {\n\tasync Init(stub) {\n\t\t// use the instantiate input arguments to decide initial chaincode state values\n\n\t\t// save the initial states\n\t\tawait stub.putState(key, Buffer.from(aStringValue));\n\n\t\treturn shim.success(Buffer.from('Initialized Successfully!'));\n\t}\n\n\tasync Invoke(stub) {\n\t\t// use the invoke input arguments to decide intended changes\n\n\t\t// retrieve existing chaincode states\n\t\tlet oldValue = await stub.getState(key);\n\n\t\t// calculate new state values and saves them\n\t\tlet newValue = oldValue + delta;\n\t\tawait stub.putState(key, Buffer.from(newValue));\n\n\t\treturn shim.success(Buffer.from(newValue.toString()));\n\t}\n};\n```\n\nStart the chaincode process and listen for incoming endorsement requests:\n```javascript\nshim.start(new Chaincode());\n```\n\n### API Reference\nVisit [fabric-shim.github.io](https://fabric-shim.github.io/) and click on \"Classes\" link in the navigation bar on the top to view the list of class APIs.\n\n## Support\nTested with node.js 8.9.0 (LTS).\n\n## License\n\nThis package is distributed under the\n[Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0),\nsee LICENSE.txt for more information.\n","readmeFilename":"README.md","_id":"fabric-shim-m954@1.0.29-test","_npmVersion":"5.6.0","_nodeVersion":"8.10.0","_npmUser":{"name":"m954","email":"xu770310@163.com"},"dist":{"integrity":"sha512-Ud7HvZDyvM/nmpEUHF57diJN+JihN7MdXnHT9J7e1Szd8Zk6ot89FI/6bKsT2ZYOjiakgZ2NNtsdVzCrbHzugQ==","shasum":"7c0e662fba186ce32d81e7e2993ac142ad6a7b80","tarball":"https://registry.npmjs.org/fabric-shim-m954/-/fabric-shim-m954-1.0.29-test.tgz","fileCount":57,"unpackedSize":537436,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdWMx4CRA9TVsSAnZWagAAwz0P/RPEQvzcZyCPipge5xwH\ni1eVQNkjcvA/x9vyXJeGbFc9gSuadRwDfAOUb5G5+4l+G6zowR6qD6H0f5aZ\nLkGz/Sqe01Qm9gdDQSh5yvvhsrnpSlvSyqQikt/7AFOL+JxDnpyOWOb7KrT2\nC92lvyaSEB7O7mm55dlKnMQTyezS687ETasA3rqV0IBodVeH/u6hne6DJrAm\n7bWvKyYKhTp3KJYTdFMwtx/Cp/RQhNvhaRrEHTZ6XUD3/tN2L9tsgWimAaXp\ntw4KP6gEboJC6J6BhuQ9WIWQu31QUY4EJPljMaoJy9MVwp6BtaDBrJinsPnl\nBpngehmnE3ftaRqYw0zcTxO6Ku1QTHsa5dXSUWX7DdySnY+Sr3pzb5YeSb21\nVC29dgI2PvdYzojhTZLcstm4lLQxq4k56o4TdPcuhAIkWwJXGeEgG5colTn9\nb5DiLGDsVxM5eZvMpafYuXadw8xrTlhT2PdH1S2bDyzF6HkehVziaQkm79Vq\nPwkL13DUXZDRkd9E7+48oP/9U+HC6dQ545OVViNTlVDmSO4clbOkZNcQZdTR\nsS1WAZb5ykCy0fQNwq2oLcfgpO8kFbKXYmevZwhrc9GbcjT0Nc4ihOZ1a+6U\nlpRPUk3VsZCXX7x4zhl3dy+QA8YVWjIpZQUcgfyrKc59qRDc6K6Xu0fn3FWU\nrquz\r\n=Oicu\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDLvRjORKoUPcN82ZR09LiVj1o+XgTsR+SaGXDQypCH0AIhAI7vJYpPIQrTEf6o3KmgYmysvbKkAlrP4cKPX1NSpbra"}]},"maintainers":[{"name":"m954","email":"xu770310@163.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fabric-shim-m954_1.0.29-test_1566100599700_0.08705288259030985"},"_hasShrinkwrap":false}},"time":{"created":"2019-08-15T09:10:14.349Z","1.0.0-test":"2019-08-15T09:10:14.528Z","modified":"2022-05-02T02:25:44.187Z","1.0.1-test":"2019-08-15T12:17:06.590Z","1.0.2-test":"2019-08-16T03:18:39.918Z","1.0.3-test":"2019-08-16T03:49:27.849Z","1.0.4-test":"2019-08-16T05:57:04.126Z","1.0.5-test":"2019-08-16T06:05:55.284Z","1.0.7-test":"2019-08-16T06:51:09.770Z","1.0.8-test":"2019-08-16T06:58:07.080Z","1.0.9-test":"2019-08-16T07:27:54.065Z","1.0.10-test":"2019-08-17T09:08:43.901Z","1.0.11-test":"2019-08-17T09:22:24.542Z","1.0.12-test":"2019-08-17T11:33:58.614Z","1.0.13-test":"2019-08-17T11:44:06.945Z","1.0.14-test":"2019-08-17T11:54:00.982Z","1.0.15-test":"2019-08-17T13:39:04.688Z","1.0.16-test":"2019-08-17T13:48:15.119Z","1.0.17-test":"2019-08-17T14:07:25.809Z","1.0.18-test":"2019-08-17T14:13:18.623Z","1.0.19-test":"2019-08-17T14:25:05.391Z","1.0.20-test":"2019-08-17T14:34:58.353Z","1.0.21-test":"2019-08-17T14:38:49.508Z","1.0.22-test":"2019-08-17T14:43:25.758Z","1.0.23-test":"2019-08-18T02:43:28.004Z","1.0.24-test":"2019-08-18T03:02:22.986Z","1.0.25-test":"2019-08-18T03:12:00.660Z","1.0.26":"2019-08-18T03:23:04.251Z","1.0.27-test":"2019-08-18T03:40:55.590Z","1.0.28-test":"2019-08-18T03:45:13.273Z","1.0.29-test":"2019-08-18T03:56:40.123Z"},"maintainers":[{"name":"m954","email":"xu770310@163.com"}],"description":"A node.js implementation of Hyperledger Fabric chaincode shim, to allow endorsing peers and user-provided chaincodes to communicate with each other","homepage":"https://github.com/hyperledger/fabric-chaincode-node#readme","keywords":["fabric-shim","Hyperledger Fabric","Fabric Shim"],"repository":{"type":"git","url":"git+https://github.com/hyperledger/fabric-chaincode-node.git"},"author":{"name":"m954"},"bugs":{"url":"https://github.com/hyperledger/fabric-chaincode-node/issues"},"license":"Apache-2.0","readme":"","readmeFilename":""}