Reading Assignment - EOS Basics

  1. What’s the difference between an action and a transaction?

Action is the behaviour of the contract and can be called by sending messages to nodeeos. Actions are a singel operation while a transaction consists of one or more actions. If a action fail the transaction will be canceled.

  1. What is a transaction receipt and what does it mean to receive it?

When a transaction is completed a transaction receipt will be generated. This does not mean that the transaction is confirmed, but that a hash is generated, and that it is accepted by the node without error and that other producers probably also will accept the transaction.

  1. What is receiver , code and action ?

receiver is the account that is currently processing the action. code is the account that authorized the contract. action is the ID of the currently running action.

1 Like

What’s the difference between an action and a transaction?
A contract and an account communicate in the form of actions. Actions can be sent individually, or in combined form if they are intended to be executed as a whole.
An action represents a single operation, whereas a transaction is a collection of one or more actions.

What is a transaction receipt and what does it mean to receive it?
Transaction Confirmations
A transaction receipt is generated partly as a confirmaiton of the transaction in the form of a hash. The node has accepted it without errors.
If you want to se the confirmation later, you have to look after the transaction in the transaction history with the block number of which it is included.

What is receiver, code and action?
The account that is processing the action is called receiver.
The account that authorized the contract is the owner of the code.
Action is the ID of the currently running action.

1 Like

Execution of a task that leads to creating a transaction

They mainly differ in the way they are executed by the EOSIO software.
Explicit actions are created within a smart contract and implicit actions are created by application code

An action is an instance of a transaction

Once a transaction is completed, a transaction receipt is beeing generated. It means that a node confirmed the transaction to be errorless. But the transaction hasn’t been confirmed and still needs to be tested and verified by the rest nodes.

1 Like

What’s an action? Actions define atomic behaviors within a smart contract. The group of actions that form a blockchain transaction must all succeed, one by one, in a predefined order, or else the transaction will fail.

What’s the difference between explicit actions and implicit (or inline) actions? The key difference is that inline actions are not included in the actual transactions propagated through the network and eventually included in a block; they are implicit.

What’s the difference between an action and a transaction? Actions specify and define the actual behaviors of the contract. Several actions are implemented in the standard EOSIO contracts for account creation, producer voting, token operations. Transactions, on the other hand, are typically created at the application level. Smart contracts are agnostic to them.
The EOSIO software processes each transaction instance within a block and keeps track of its state as it evolves from creation, signing, validation, and execution.

What is a transaction receipt and what does it mean to receive it? Transaction receipt summarizes the result of the transaction (executed, unexecuted, failed, deferred, expired, etc.), including the actual amount of CPU billed in microseconds, and the total NET storage used. To receive the transactions receipt means the transaction has been validated.

1. What’s an action?

Actions define atomic behaviors within a smart contract. At a higher level, transactions define groups of actions that execute atomically within a decentralized application. Analogously to a database transaction, the group of actions that form a blockchain transaction must all succeed, one by one, in a predefined order, or else the transaction will fail. To maintain transaction atomicity and integrity in case of a failed transaction, the blockchain state is restored to a state consistent with the state prior to processing the transaction. This guarantees that no side effects arise from any actions executed prior to the point of failure.

2. What’s the difference between explicit actions and implicit (or inline) actions?

Explicit Actions

Regular or explicit actions, as their name implies, are included in the actual list of actions that form a transaction. Explicit actions are encoded as action instances before being pushed into the transaction. Explicit actions also contain the actual payload data, if any, associated with the action to be executed as part of the transaction.

Implicit Actions

An implicit (inline) action is generated as a result of an explicit caller action within a transaction (or another inline action, if nested) that requires that implicit action to perform an operation for the caller action to continue. As such, inline actions work within the same scope and permissions of the caller action. Therefore, inline actions are guaranteed to execute within the same transaction.

3. What’s the difference between an action and a transaction?

A transaction instance consists of a transaction header and the list of action instances and transaction extensions that make the actual transaction. The transaction header includes information necessary to assess the inclusion of the transaction in a block based on its expiration time, which is computed when the transaction is pushed for execution.

The action instances may consist of regular actions or context free actions. Signatures are created and validated at the transaction level. Accounts and permissions are handled on a per action basis. Each action instance contains information to validate whether it is authorized to be executed based on the permission levels of the actors specified in the action and the actual authorizations defined in the smart contract for that action.

4. What is a transaction receipt and what does it mean to receive it?

After all action receipts are generated for the transaction, a transaction receipt is finally created and pushed into the signed block, along with other transaction receipts included in the block. The transaction receipt summarizes the result of the transaction (executed, unexecuted, failed, deferred, expired, etc.), including the actual amount of CPU billed in microseconds, and the total NET storage used.

  1. What’s an action? Actions form the core of the behavior within a smart contract or dapp.

  2. What’s the difference between explicit actions and implicit (or inline) actions? Explicit, or regular actions, form part of the transaction. They are encoded as instances before being put into a transaction. Implicit actions are generated by an explicit action call. The explicit action needs the implicit action to complete in order for it to continue its action within the same transaction.

  3. What’s the difference between an action and a transaction? Actions make up the core of a transaction. The transaction needs at least one action within it to instruct its purpose.

  4. What is a transaction receipt and what does it mean to receive it? A transaction receipt is produced after all action receipts have been generated. It is then put into the block along with other transaction receipts. The receipt is generated regardless of wether the transaction was executed, un-executed, delayed, or failed. It represents the result of the transaction.

2 Likes

1. What’s the difference between an action and a transaction?
Action - Single operation.
Transaction - Collections of one or more actions.

2. What is a transaction receipt and what does it mean to receive it?
Transaction receipt is generated when transaction is complete. Receiving the receipt means that node has accepted the transaction but that doesn’t mean that the transaction has been confirmed.

3. What is receiver, code and action?
receiver - is the account that is currently processing the action.
code - is the account that authorized the contract.
action - is the ID of the currently running action.

Did you mean to copy paste the navi’s answer? Please write the answer in your own words. No copy&paste allowed… :roll_eyes:

Ivo

1) What is an action?
An action specifies and defines the behavior of the contract. An action can be authorized by one or more actors previously created on the blockchain.

2) What is the difference between explicit actions and implicit (or inline) actions?
Regular or explicit actions are included in the actual list of actions that form a transaction. Explicit actions are encoded as action instances before being pushed into the transaction.
Implicit actions are generated as a result of explicit caller actions within a transaction. These inline (or implicit) actions are not included in the actual transactions propagated through the network. They are implicit.

3) what is the difference between an action and a transaction?
Actions define atomic behaviors within a smart contract.
Transactions define groups of actions that execute atomically within a decentralized application.

4) What is a transaction receipt and what does it mean to receive it?
The transaction receipt summarizes the result of the transaction: executed, or, un-executed, or, failed, or, delayed, or, expired. When it is received, it means that the result of the transaction is known.

2 Likes
  1. What’s an action?
  • Actions are what define atomic behaviours within a smart contract, and they consist of two types of actions. These actions are known as explicit and implicit actions. Explicit actions included in the list of actions that form a transaction, and implicit actions are generated as a result of an explicit caller action within a transaction that requires that implicit action to perform an operation for the caller action to continue. In all, the explicit action become present in a signed transaction whereas a implicit action is created as a side effect of processing a transaction
  1. What’s the difference between explicit actions and implicit (or inline) actions?
  • The main difference between explicit and implicit actions is the fact that implicit actions are not included in the actual transactions propagated through the network and eventually included in a block
  1. What’s the difference between an action and a transaction?
  • Actions specify and define the actual behaviours of the contract while transactions are created at the application level.
  1. What is a transaction receipt and what does it mean to receive it?
  • After all actions included in the transaction are executed, the transaction enters the finalization stage. During this stage, a transaction receipt is produced for action. Then the transaction will be pushed into the signed block. This receipt will summarize if the transaction was executed, unexecuted, failed, deferred, or expired.
1 Like
  1. What’s an action?

An action specifies and defines the behavior of the contract. An action can be authorized by one or more actors previously created on the blockchain.

  1. What’s the difference between explicit actions and implicit (or inline) actions?

Explicit actions, as their name implies, are included in the actual list of actions that form a transaction. An implicit (inline) action is generated as a result of an explicit caller action within a transaction (or another inline action, if nested) that requires that implicit action to perform an operation for the caller action to continue

  1. What’s the difference between an action and a transaction?

Actions make up the core of a transaction. The transaction needs at least one action within it to instruct its purpose.

  1. What is a transaction receipt and what does it mean to receive it?

A transaction receipt is produced after all action receipts have been generated. It is then put into the block along with other transaction receipts. The receipt is generated regardless of wether the transaction was executed, un-executed, delayed, or failed. It represents the result of the transaction.

1 Like
  1. An action defines atomic behaviour within a smart contract.
    Actions are grouped together within transactions and defined by them. They execute atomically within a dapp.
    All the actions that form a transaction must succeed for the transaction to be successfully completed.
    Actions can be explicit or implicit (see below).

  2. (a) Explicit actions are created within a smart contract and are present in a signed transaction; they are included in the list of actions that form a transaction.
    (b) Implicit actions (or inline actions) are generated by application code. They are created as a side effect of processing a transaction, and are generated as a result of an explicit caller action within a transaction. They are defined in smart contract code just like explicit actions, but are not included in the actual transactions propagated through the network and eventually included in a block.

  3. Actions are part of smart contracts. They specify and define the actual behaviors of the contract. On the other hand, transactions are created at the application level and are not specifically related to smart contracts.
    Actions are implemented as C++ methods, whereas transactions are generated dynamically within an EOSIO application.
    An action list is contained in a transaction instance.

  4. A transaction receipt is a summary of the result of the transaction, if it was executed, if it failed, if it expired, etc., including other details. To receive the transaction receipt means to know the result of the transaction.

1 Like
  1. What is an action?
    It’s the behavior in a smart contract. Can be approved by one or more actors. Each actor can name a amount for compensation.
  2. Explicit:
    It’s a decoded action before transaction takes place. This also contains the payload data.
    Implicit:
    The 2 actions always work together. It’s gets generated after a explicit action.
  3. What is receiver, code and action?
    EOS contracts run under an action context, which is identified by the following information:
    a. receiver - the account that is currently processing the transaction
    b. code - the account that authorised the contract
    c. action - the ID of the current running contract
  4. What is the ABI files used for?
    An ABI file, (Application Binary Interface) is a JSON-like file that describes how to convert user actions between JSON and Binary representations. It also describes how to convert a database state to/from JSON. Developers and users are able to interact seamlessly with an EOS contract once it has been described via an ABI file.
1 Like

In my understanding you can see actions like “functions” in a normal programming languages. For example, you can print something, calculate something and many more. As the the name implies with actions you do some operations within the smart contract (like a call to the smart contract where it decides how to operate). There are two types of actions (implicit and explicit), both of them are written inside the smart contract. They can be authorized by the “actors” (EOS hodler/developer). In short, actions are the content of the smart contract and they are rules what the smart contract should do.

  1. An explicit action can be seen within a signed transaction. It is written hard coded in the smart contract. An implicit action is generated through an explicit action (e.g. from a side effect) which means it implies that it is called from an explicit action. The explicit action cannot continue work until the implicit action is finished.

  2. The transaction itself consists of both actions, implicit and explicit,. The transaction (which will be generated as an instance) contains the header and the list off all actions which are also generated as instances before they are pushed to the transaction.

  3. When each receipt for every action is created for the transaction the finale stage is entered. In this finale stage a transaction receipt is generated and also pushed into the signed block (along with other transaction receipts which should be in the current block). A transaction receipt consists of the result of the transaction (whether it is executed, failed, expired etc.), the used amount of CPU in microseconds and the used total NET storage. You can see it as a payment receipt which includes your costs and your used services.

1 Like
  1. Actions define atomic behaviors within a smart contract, which can be grouped together to form transactions that execute actions within DApps.
  2. They are both defined in the code, but explicit actions are present and visible in the list of actions that form signed transactions within blocks while implicit ones are not, since they are automatically executed behind the block to perform some specific tasks.
  3. Actions are atomic behaviors while transactions are groups of actions. While the former is implemented as a C++ method within the derived class, the latter is generated within an EOSIO app as a transaction instance.
  4. A transaction receipt summarizes the result of the transaction, including the actual amount of CPU billed in microseconds and the total NET storage used. Receving it means that the process as been executed with a certain outcome.
1 Like
  1. an action is a component of a transaction protocol that defines atomic behaviors within a smart contract.

  2. The key difference is that inline actions are not included in the actual transactions propagated through the network and eventually included in a block.

  3. Actions define atomic behaviors within a smart contract. At a higher level, transactions define groups of actions that execute atomically within a decentralized application. A transaction instance consists of a transaction header and the list of action instances and transaction extensions that make the actual transaction. - So, the main difference between the two would be that and action(s) is a essential component of an actual transaction. The latter is built by the former.

  4. After all action receipts are generated for the transaction, a transaction receipt is finally created and pushed into the signed block, along with other transaction receipts included in the block. The transaction receipt summarizes the result of the transaction (executed, unexecuted, failed, deferred, expired, etc.), including the actual amount of CPU billed in microseconds, and the total NET storage used (see transaction_receipt schema below). When a user receives a transaction receipt it means that all action receipts have been generated for the complete transaction. It is the next step immediately following the transaction finalization stage.

1 Like
1. What’s an action?
  • A behaviour in a smart contract
  • Must be atomic - i.e. it’s guaranteed to fully succeed or is rolled back
  • Corresponds to methods in the smart contract
2. What’s the difference between explicit actions and implicit (or inline) actions?
  • Explicit actions are included in the transaction which is propagated through the network, where implicit actions are not.
  • Implicit actions are side effects that occur as result of performing the request of the caller
3. What’s the difference between an action and a transaction?

Several actions can be combined together in a transaction. All actions must succeed or the transaction is rolled back.

4. What is a transaction receipt and what does it mean to receive it?
  • A transaction receipt summarizes the results of the transaction (success/failure, CPU/network used, etc)
  • Receiving it means the transaction has finished and either all actions completed successfully or the transaction was rolled back and nothing happened
1 Like

1- Actions define atomic behaviors within a smart contract. An action can be authorized by one or more actors previously created on the blockchain. Actions can be created explicitly within a smart contract, or generated implicitly by application code.

2- Explicit actions are present in a signed transaction, and implicit (inline) actions, are created as a side effect of processing a transaction.The key difference is that inline actions are not included in the actual transactions propagated through the network and eventually included in a block; they are implicit.

3- Transactions are groups of actions that execute atomically within a decentralized application.

4- It’s a summary of the result of the transaction, if it was executed, if it failed, if it expired, etc., including other details. To receive the transaction receipt means to know the result of the transaction.

1 Like
  1. What’s an action?
    An operation performed inside a smart contract.

  2. What’s the difference between explicit actions and implicit (or inline) actions?
    Explicit actions are included in a particular transaction. Implicit are a result of side effects derived from the processing of a transaction (they are not included in it).

  3. What’s the difference between an action and a transaction?
    An action is an operation that specifies or defines some behavior inside a smart contract. A transaction is the execution of the actions inside a smart contract.

  4. What is a transaction receipt and what does it mean to receive it?
    A piece of information stored in the blockchain that summarizes the result of a transaction and used resources. It is used in the validation process.

1 Like

What’s an action?
Action is a single operation.
What’s the difference between explicit actions and implicit (or inline) actions?
Explicit actions are regular actions included in the list of actions that forma a transaction and contain a payload data (receiver account, the action name, list of actors, and action data)
An implicit action is generated as a result of explicit caller action with in a transaction.
What’s the difference between an action and a transaction?
Action is a single operation and transaction is a collection of one or more actions.
What is a transaction receipt and what does it mean to receive it?
Transaction receipt summarises the result of the transaction (executed, unexecuted, failed, deferred, expired…). It includes amount of CPU billed and the total net storage used.

1 Like