code: def chaincode_deploy(self, chaincode_path=DEFAULT_CHAINCODE_PATH,
                           type=CHAINCODE_LANG_GO,
                           function=DEFAULT_CHAINCODE_INIT_FUNC,
                           args=DEFAULT_CHAINCODE_INIT_ARGS, id=1,
                           secure_context=None,
                           confidentiality_level=CHAINCODE_CONFIDENTIAL_PUB,
                           metadata=None,
                           chaincode_name=None):
          
          chaincodeID = {"name": chaincode_name} if chaincode_name else \
                        {"path": chaincode_path}
          return self._exec_action(method="deploy", type=type,
                                   chaincodeID=chaincodeID,
                                   function=function, args=args, id=id,
                                   secure_context=secure_context,
                                   confidentiality_level=confidentiality_level,
                                   metadata=metadata)
docs: POST host:port/chaincode
  
          {
            "jsonrpc": "2.0",
            "method": "deploy",
            "params": {
              "type": 1,
              "chaincodeID":{
                  "path":"github.com/hyperledger/fabric/examples/chaincode/go/chaincode_example02"
              },
              "ctorMsg": {
              "function":"init",
              "args":["a", "1000", "b", "2000"]
              }
            },
            "id": 1
          }
  
          :param chaincode_path: path of the chaincode in local or repo URL
          :param type:
          :param function:
          :param args:
          :param id:
          :param secure_context:
          :param confidentiality_level:
          :param metadata:
          :param chaincode_name: chaincode name is only required in dev mode. If
          chaincode_name then chaincodeID will use chaincode_name
          :return: json obj of the chaincode instance