Reading Assignment - EOS Basics

  1. What’s an action?

Actions are how a contract and an account communicate, where the action itself only represents a single operation inside a smart contract.

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

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.

Implicit actions (or inline actions) 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.

  1. 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.

  1. 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…).

1 Like
  1. Actions are parts of the transaction and are responsible for a small piece of work
  2. explicit actions update the transaction data that is to be added to the blockchain, implicit actions are a support mechanism that allows some other think to execute that itself doesn’t need to be stored. The results of the implicit action will likely be required as part of an explicit action
  3. actions are the parts of the transaction as a whole. any action that fails will cause the entire transaction to fail and restore the state to what it was at the beginning of the transaction (and set of actions)
  4. execution of the transaction completed. It doesn’t indicate the successful execution and needs to be checked for failures
1 Like
  1. What’s an action?

Actions define atomic behaviors within a smart contract

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

Explicit actions are created within the smart-contract while implicit actions are created
by application code.

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

An action is code that is executed inside a transaction, while a transaction is a group of one or multiple actions.

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

When you receive a transaction receipt that means that your transaction has successfully been accepted by a node.

1 Like
  1. Atomic behaviours with smart contracts
  2. Explicit actions are included in the smart contracts. Implicit actions are a side effect of explicit actions.
  3. Transactions are multiple actions grouped together.
  4. Transaction receipt is basically a note that tells you, if the transaction was successful.
1 Like
  1. What’s an action?
    An action is an individual behaviour that happens as programmed in a smart contract. In the context of a transaction, the transaction is created when a group of actions has been executed in the correct sequence according to the smart contract.

  2. What’s the difference between explicit actions and implicit (or inline) actions?
    Explicit actions, and their payload data, are recorded in a transaction propagated in the EOS blockchain. Implicit actions are called and executed as side effects of processing a transaction, and these actions and their data are not recorded and propagated in the blockchain when a transaction is created.

  3. What’s the difference between an action and a transaction?
    An action is coded in an EOS smart contract as method within a class, which is the contract itself. A transaction is generated by an EOSIO application when the latter interacts with an EOS smart contract. The transaction exists as an instance of the EOSIO application, not an instance of the smart contract.

  4. What is a transaction receipt and what does it mean to receive it?
    A transaction receipt is a record pushed into a signed block and summarizes the results of the transaction. Receiving the transaction receipt means that the whole sequence of actions in the transaction has been executed, whether they were successfully carried out or error handlers were triggered.

1 Like
  1. What’s an action?
    An action defines atomic behaviors within a smart contract.

  2. What’s the difference between explicit actions and implicit (or inline) actions?
    Explicit actions are included in the actual list of actions that form a transaction.

An implicit action is 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. Inline actions are not included in the actual transactions propagated through the network and eventually included in a block; they are implicit.

  1. What’s the difference between an action and a transaction?
    Actions are a single operation. Transactions are a collections of one or more actions.

  2. What is a transaction receipt and what does it mean to receive it?
    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 Like
  1. What’s an action?
    Atomic part of a transaction. If one action in a transaction fails the whole transaction fails
  2. What’s the difference between explicit actions and implicit (or inline) actions?
    Inline actions are side effects of explicit actions. - Somehow subactions within the same transaction and the same permission scope.
  3. What’s the difference between an action and a transaction?
    the transaction is around more actions.
  4. What is a transaction receipt and what does it mean to receive it?
    After all actions and the tranction itself was executed the receipt is written in the block which is cpu usage and other status information like network words id failed or not. To receive it means the transaction is finished.
1 Like
  1. What’s an action? actions define atomic behaviors within a contract.

  2. What’s the difference between explicit actions and implicit (or inline) actions?
    inline actions are not included in the actual transactions through the network and eventually included in the block.

  3. What’s the difference between an action and a transaction?
    an action is a single operation and transactions are a collection of one or more actions.

  4. What is a transaction receipt and what does it mean to receive it?
    a transaction receipt is created once a transaction is complete. it is a form of a hash. Just because the node you are communicating with has accepted your transaction, it is not confirmed to the block chain just yet.

1 Like
  1. An action defines a single piece of atomic behavior within a smart contract.
  2. Explicit actions are the actions that are present in the actual list that form a transactions, where implicit actions are the actions which are the side effect of processing a transaction.
  3. Actions are singular pieces of program that allow for a transaction to be processed and completed, while a transaction is the collection of certain actions that make a smart contract possible.
  4. It is a generated implicit action by having received all action receipts necessary. Once it is created, it is pushed into the signed block. To receive it means that the smart contract the user participated within has completed processing and has been placed into the signed block.
1 Like

1.) Atomic Behaciour within a Smart Contract
2.) Explicit: created within Smart Contract, present in signed trx, contain payload data
Implicit: generated by application code, created as side effect, work within scope of caller action
3.) Action = atomic behaviour
Transaction = group of actions, created at application level
4.) It summarizes the result of the transaction
It means that the transaction was processed and all action receipts were generated. Receiving it means it was added to the Block

1 Like

The assignment link is broken

1 Like

Fixed, thank you for notifying about it, it should work now for you too :nerd_face:

Carlos Z

:one: What’s an action?

An action is how an account will communicate with a smart contract on the EOS blockchain. It represents the smallest part of what comprises a transaction.

:two: What’s the difference between explicit actions and implicit (or inline) actions?

An explicit action is visibly present in a smart contract transaction, whereas an implicit action is a side-effect of a transaction. This could be restarting a timer on-chain, or something more granular.

:three: What’s the difference between an action and a transaction?

A transaction is comprised of many actions, and actions are the individual moving pieces that are required in order for a transaction to be valid and put in the chain.

:four: What is a transaction receipt and what does it mean to receive it?

A transaction receipt is verifiable proof that a transaction has happened on chain. It is evidence that state has changed, and this is observable to anyone.
The transaction receipt will also contain a lot of information (metadata) about the transaction e.g. block number, status etc.

btw @thecil the link is down again - might want to change it to this. :slightly_smiling_face:

1 Like

On it! thank you very much man :muscle:

Carlos Z

1 - What is an action?

An action is a piece of code which defines atomic behavior within a smart contract.

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

Explicit actions are regular action which are present in a signed transaction. They are encoded as action instances before being pushed into a transaction.

Implicit actions are created as a side effect of processing a transaction. They are guaranteed to execute within the same transaction but are not included in the transactions that get propagated through the network.

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

An action is a single operation and a transaction is a list or collection of actions.

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

A transaction receipt summarizes the result of the transaction which includes:

status - the result of the transaction execution attempt (executed, unexecuted, failed, deferred, expired)

cpu_usage_us - the total amount of CPU used/billed in microseconds

net_usage_words - the total NET storage used in 64-bit words

trx | holds the transaction ID or the packed transaction, determined by the transaction type

A transaction receipt is created and pushed into the signed block after all action receipts are generated. This transaction receipt is in the form of a hash and receiving this means that the node accepted the transaction without error.

1 Like

1. What’s an action?
An action is a single piece of atomic behavior within a smart contract, a group of actions that make up a blockchain transaction need must all succeed in predefined order, otherwise the transaction will fail.

2. What’s the difference between explicit actions and implicit (or inline) actions?
Explicit actions are actions that are created within a smart contract transaction, present in a signed transaction, that contains the payload data.
Implicit actions are basically the side effect of the processed transaction, that work within the scope of the caller action.

3. What’s the difference between an action and a transaction?
An action is the atomic behavior.
A transaction is a collection of actions, created at application level.

4. What is a transaction receipt and what does it mean to receive it?
It’s the summary of the result of the transaction, meaning that the transaction precessed all action and all of it’s receipts were generated. It means the transaction was added to a Block.

1 Like
  1. What’s an action?
    An action is a single operation within a smart contract

  2. What’s the difference between explicit actions and implicit (or inline) actions?
    explicit actions are included in the list of actions forming a transaction while implicit actions are made as a result of the explict action

  3. What’s the difference between an action and a transaction?
    Actions specify and define what smart contracts do while transactions are the collection of all the actions done

  4. What is a transaction receipt and what does it mean to receive it?
    A transaction receipt is a summary of a transaction and will include all data used, and is only recieved when all actions have been completed

  1. What’s an action?

Actions define atomic behaviors within a smart 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 are present in a signed transaction. 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 (inline) actions, are created as a side effect of processing 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. 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.

Implicit (inline) actions are also defined in smart contract code, just like explicit 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.

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

Actions are implemented as C++ methods within the derived class. Transactions, on the other hand, are generated dynamically (as transaction instances) within an EOSIO application. transaction instance and keeps track of its state as it evolves from creation, signing, validation, and execution.

  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. In this step, a corresponding action receipt is produced for each action. The action receipt contains a hash of the corresponding action instance, a few counters used for analytics, and the receiver account to which the action is intended to, if applicable.

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.

Questions:

  1. What’s an action?
    A: Defined behavior within a smart contract.

  2. What’s the difference between explicit actions and implicit (or inline) actions?
    A: Explicit actions: included in the list of actions that form a transaction.
    A: Implicit actions: generated as a result of an explicit called action within a transaction

  3. What’s the difference between an action and a transaction?
    A: actions specify and define the actual behaviors of the contract.
    A: Transaction consists of the transaction information along with the smart contract’s actions.

  4. What is a transaction receipt, and what does it mean to receive it?
    A: 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