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_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.