Ethereum Blockchain (Preview)

Ethereum Blockchain (Preview)

Ethereum is a smart contract blockchain. With the Ethereum Blockchain connector, you can perform actions such as submitting transactions, reading contract state, and trigger flows on contract updates.

This connector is available in the following products and regions:

Service Class Regions
Logic Apps Standard All Logic Apps regions except the following:
     -   Azure China regions
Flow Standard All Flow regions
PowerApps Standard All PowerApps regions

Creating the connection object

Once you choose your Ethereum connector, you'll be prompted for setting up your connection. Your connection will point to an RPC endpoint and can optionally provide an Ethereum account that can be used for signing. This signing is only necessary for performing write actions on the blockchain: Deploy smart contract or Execute smart contract function (incurring gas cost). The connectors support two variations of transaction signing:

  • Private Key
    • You must provide your private key to the connection. During execution, your transaction is signed within the connector and the signed payload is sent to the RPC endpoint using SendRawTransaction.
  • On-node signing
    • You must provide your Ethereum address and password. In this case, signing will occur within the node sitting behind the RPC endpoint. As a prerequisite, you must create the account on the node. In this case, SendTransaction is used which does not leave the account unlocked on the node.

Important

You may only specify one authentication type per connection.

PrivateFor

For connectors that update contract state, you may specify the privateFor property if connecting to a Quorum transaction node (Tessera or Constellation). When specifying the connection object, you must use the on-node signing approach. To specify the privateFor property, select Add new parameter at the bottom of the connector. Once selecting privateFor, you may add a comma separated list of public keys that should have access to this private state.

Note

Due to a limitation in Quorum, when using privateFor the account is unlocked for a short period of time. For this reason, it is recommended that this node is only accessible by using a secure API key.

Known limitations

  • Indexed events are not currently supported.
  • Bytes32 return type not supported for privateFor transactions.
  • When using privateFor to call a smart contract function, the estimated gas limit is automatically doubled due to account for a gas estimation bug.

Throttling Limits

Name Calls Renewal Period
API calls per connection 60 60 seconds

Creating a connection

To connect your account, you will need the following information:

Ethereum RPC Endpoint
string
Ethereum RPC Endpoint
Private Key
securestring
Your private key (eg. 0x612a07ccb...)

Actions

Deploy smart contract

Deploy smart contract.

Required Parameters

Contract ABI
string
The smart contract ABI.
Smart Contract Function Parameters
dynamic
The smart contract constructor parameters.

Optional Parameters

Gas Price in Wei
string
Optional: gas price in wei in non-hex format.
Gas Limit
string
Optional: gas limit in non-hex format.

Returns

Body
DeploySmartContractResult

The deploy smart contract action result

Execute smart contract function (incurring gas cost)

Execute smart contract function (incurring gas cost).

Required Parameters

Contract ABI
string
The smart contract ABI.
Smart Contract Address
string
The smart contract address.
Smart Contract Function Name
string
The name of the function to invoke.
Smart Contract Function Parameters
dynamic
The parameters of the function.

Optional Parameters

Gas Price in Wei
string
Optional: gas price in wei in non-hex format.
Gas Limit
string
Optional: gas limit in non-hex format.

Returns

Body
ExecuteSmartContractFunctionResult

The execute smart contract function action result

Get smart contract state (all properties)

Get smart contract state (all properties).

Required Parameters

Contract ABI
string
The smart contract ABI.
Smart Contract Address
string
The smart contract address.

Returns

The outputs of this operation are dynamic.

Query smart contract function (incurring no gas cost)

Query smart contract function (incurring no gas cost).

Required Parameters

Contract ABI
string
The smart contract ABI.
Smart Contract Address
string
The smart contract address.
Smart Contract Function Name
string
The Function Name.
Smart Contract Function Parameters
dynamic
The input parameters to the function.

Returns

The outputs of this operation are dynamic.

Triggers

When a smart contract event occurs

When a smart contract event occurs.

Optional Parameters

Contract ABI
string
The smart contract ABI.
Smart Contract Address
string
The smart contract address.
Event Name
string
Event name.

Returns

The outputs of this operation are dynamic.

Definitions

DeploySmartContractResult

The deploy smart contract action result

Smart Contract Address
string
The smart contract address
Transaction Hash
string
The transaction hash

ExecuteSmartContractFunctionResult

The execute smart contract function action result

Transaction Hash
string
The transaction hash