code: func (t *SleeperChaincode) invoke(stub shim.ChaincodeStubInterface, args []string) pb.Response {
  	// set state
  	key := args[0]
  	val := args[1]
  
  	err := stub.PutState(key, []byte(val))
  	if err != nil {
  		return shim.Error(err.Error())
  	}
  
  	sleepTime := args[2]
  
  	//sleep for a bit
  	t.sleep(sleepTime)
  
  	return shim.Success([]byte("OK"))
  }
docs: // Transaction makes payment of X units from A to B