Two files are the main ones:
- chaincode.js: does not have to be named exactly as such, because the chaincode container will use "npm start" to launch the container instance. this module gets called by the node.js engine and should start the shim by calling shim.start(). it will implement the init() and invoke() functions required by the chaincode API interface. It can require other source modules with require("./a/relative/path"), or external modules with require("the-external-module")
- package.json: is critical in two aspects, one is to declare how to launch the chaincode program by providing a "scripts" section that has a "start" entry, which will be used by the chaincode container to start the chaincode program with "npm start". Another is to declare the runtime dependencies.