I want to know what is an action?
What is the difference between actions and functions.
An action is a request for changing state database. Each action can trigger a function in contract class, and you can mark some functions to be triggered by [[eosio::action]]
attribute. The functions without [[eosio::action]]
cannot be called by action.
Other blockchains usually contain one request per one transaction, but EOSIO transaction can contain multiple requests (actions), and they are processed atomically. In other words, if even one action fails, it makes whole transaction fail, so you can bundle up actions which should be executed together. (Success all or Fail)