Nerif Docs
  • Quickstart
  • Tutorials
    • Lottery Tutorial
      • Step 1. Configure your account
      • Step 2. Add a smart contract
      • Step 3. Create a new automation workflow
      • Step 4. Build your automation workflow
      • Step 5. Test workflow execution
    • Bridge Tutorial
      • Step 1. Configure your account
      • Step 2. Add smart contracts
      • Step 3. Create a new automation workflow
      • Step 4. Build your automation workflow
      • Step 5. Test workflow execution
    • Price Feed Tutorial
      • Step 1. Configure your account
      • Step 2. Add smart contract
      • Step 3. Create a new automation workflow
      • Step 4. Build your automation workflow
  • 1. What is Nerif Network?
    • Our Mission
    • Our Vision
    • Terms
  • 2. Architecture
    • Core components
    • Validators
      • Networking
        • Bootnode
        • Joining the network
        • Leaving the network
        • Slashing
      • Consensus
        • Epoch & Rounds
        • Automation workflow
          • Triggers
          • Actions
          • Condition
    • Contracts
      • System Contracts
      • Operational Contracts
    • Security
      • DKG
      • Threshold ECDSA
      • Security checks
  • 3. How it works
    • Introduction
    • Nerif App
    • Login
    • Account Configuration
      • 1. Deploy a Gateway Contract
        • 1.1 Create a new gateway
        • 1.2. Use existing gateway contract
        • 1.3.What if I want to update my gateway contract?
      • 2. Top up your balance
        • 2.1. Topping up your balance on Polygon Mumbai
        • 2.2. Topping up your balance on Ethereum Goerli
    • Fees
    • User balance
      • 1. Topping up the balance
        • 1.1 Top up your balance via Nerif App
        • 1.2 Top up your balance directly via Registry smart contract
      • 2. Withdraw from balance
        • 2.1 Withdraw via Nerif App
        • 2.2 Withdraw directly via Registry smart contract
    • API
      • Off-chain APIs
      • On-chain APIs
    • SDK
  • 5. Nerif DAO
    • Governance
    • Treasury
    • Proposal process
  • 6. Support
Powered by GitBook
On this page
  • eth_call
  • Transaction
  • Webhook
  1. 2. Architecture
  2. Validators
  3. Consensus
  4. Automation workflow

Actions

PreviousTriggersNextCondition

Last updated 1 year ago

Actions are the steps within a workflow that are performed in a decentralized or pseudo-decentralized manner.

eth_call

eth_call is an Ethereum API method that executes a smart contract function call without creating a transaction on the blockchain and changing a state. This kind of action is done by each node and is needed to get an output to pass it to the next step. As a result, no consensus is needed here since the input payload of the step where this data is used must be part of the consensus mechanism. If a node returns a wrong eth_call output, the consensus check must fail during the step where this data is used.

Transaction

Transaction-based actions involve including all transaction data and signatures generated by each network participant. The signing process, implemented via Threshold ECDSA, may be described as follows:

  1. Every network participant generates a transaction, and consensus must be reached within the network regarding its validity. This means that all participants must agree on the same transaction to be sent.

  2. Once the validators have agreed on the transaction to be sent, they initiate the signing process. This process involves six (6) signing rounds among the validators to create a collective Threshold ECDSA signature. This signature ensures the authenticity and integrity of the transaction. The transaction can then be broadcasted by the leader. The sender of this transaction is identified as the current collective address. By verifying that the sender is the current collective address, the registry contract can confidently recognize the transaction as trusted.

Webhook

Webhook-based actions also include request data and network signature, similar to transactions. The created signature is included in the custom header of the request, allowing the recipient to verify the request through a registry contract call.