code: func (t *SimpleChaincode) readMarble(stub shim.ChaincodeStubInterface, args []string) pb.Response {
  	var name, jsonResp string
  	var err error
  
  	if len(args) != 1 {
  		return shim.Error("Incorrect number of arguments. Expecting name of the marble to query")
  	}
  
  	name = args[0]
  	valAsbytes, err := stub.GetState(name) //get the marble from chaincode state
  	if err != nil {
  		jsonResp = "{\"Error\":\"Failed to get state for " + name + "\"}"
  		return shim.Error(jsonResp)
  	} else if valAsbytes == nil {
  		jsonResp = "{\"Error\":\"Marble does not exist: " + name + "\"}"
  		return shim.Error(jsonResp)
  	}
  
  	return shim.Success(valAsbytes)
  }
docs: // ===============================================
  // readMarble - read a marble from chaincode state
  // ===============================================