Skip to content

hyperledger/firefly-evmconnect

codecov Go Reference

Hyperledger FireFly EVM Connector

This repo provides a reference implementation of the FireFly Connector API (FFCAPI) for EVM Based blockchains.

See the Hyperledger Firefly Documentation and the FireFly Transaction Manager repository for more information.

Also see firefly-ethconnect for the hardened connector optimized for private Ethereum sidechains, optimized for finality assured consensus algorithms and throughput.

License

Apache 2.0

ABI Encoding

A key responsibility of the FFCAPI connector is to map from developer friendly JSON inputs/outputs down to the binary encoding of the blockchain.

This repo uses the Apache 2.0 RLP encoding/decoding utilities from the firefly-signer repository.

Configuration

For a full list of configuration options see config.md

Example configuration

connectors:
- type: ethereum
  server:
    port: 5102
  ethereum:
    url: http://localhost:8545

Blockchain node compatibility

For EVM connector to function properly, you should check the blockchain node supports the following JSON-RPC Methods over HTTP:

Event tracking

  • eth_blockNumber
  • eth_newBlockFilter
  • eth_getFilterLogs
  • eth_getFilterChanges
  • eth_getBlockByHash
  • eth_getLogs
  • eth_newFilter
  • eth_uninstallFilter
  • eth_getTransactionByHash
  • eth_getTransactionReceipt

Query

  • eth_call
  • eth_getBalance
  • eth_gasPrice1

Transaction submission

  • eth_estimateGas
  • eth_sendTransaction
  • eth_getTransactionCount
  • eth_sendRawTransaction2

Footnotes

  1. also used by Transaction submission if the handler is configured to get gas price using "connector".

  2. only required by custom transaction handlers that supports pre-signing.