Skip to content

hyperledger/firefly-evmconnect

Folders and files

NameName
Last commit message
Last commit date

Latest commit

67f082e · Jun 11, 2023
Apr 3, 2023
Aug 5, 2022
May 25, 2023
Mar 23, 2023
May 30, 2023
Feb 17, 2023
Aug 2, 2022
May 25, 2022
May 25, 2022
May 25, 2022
Sep 2, 2022
Feb 17, 2023
May 25, 2022
May 25, 2022
May 25, 2022
Sep 28, 2022
Mar 3, 2023
May 26, 2022
May 25, 2022
Apr 7, 2023
Mar 16, 2023
May 23, 2022
May 25, 2022
Jun 11, 2023
Mar 30, 2023
Jun 11, 2023
Jun 11, 2023

Repository files navigation

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.