# firefly-evmconnect **Repository Path**: hyperledger/firefly-evmconnect ## Basic Information - **Project Name**: firefly-evmconnect - **Description**: Firefly EVM Connect - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-06-10 - **Last Updated**: 2025-08-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README [![codecov](https://codecov.io/gh/hyperledger/firefly-evmconnect/branch/main/graph/badge.svg?token=OEI8A08P0R)](https://codecov.io/gh/hyperledger/firefly-evmconnect) [![Go Reference](https://pkg.go.dev/badge/github.com/hyperledger/firefly-evmconnect.svg)](https://pkg.go.dev/github.com/hyperledger/firefly-evmconnect) # 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](https://hyperledger.github.io/firefly/latest/overview/public_vs_permissioned/#firefly-architecture-for-public-chains) and the [FireFly Transaction Manager](https://github.com/hyperledger/firefly-transaction-manager) repository for more information. > Also see [firefly-ethconnect](https://github.com/hyperledger/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](https://github.com/hyperledger/firefly-signer) repository. ## Configuration For a full list of configuration options see [config.md](./config.md) ## Example configuration ```yaml 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_gasPrice`[^1] ### Transaction submission - `eth_estimateGas` - `eth_sendTransaction` - `eth_getTransactionCount` - `eth_sendRawTransaction`[^2] [^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.