Support for public blockchains
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 20/100
- Issue type
- Feature
- Clarity
- Needs clarification
- Activity status
- Stale
- Tech stack
- go
- Domain
- blockchain
Research direction
Start by reviewing the Gas Price, Finality, External Signing, and Events Detection requirements in the issue. No files, tests, or entry points are identified; the first step is to agree on scope and implementation with the community before defining what completion means.
Written by the indexing model from the issue text.
Description
Background
EthConnect was initially designed as a bridge into Ethereum permissioned chains. These chains usually are running a PoA/IBFT consensus algorithm, where the finality of transactions is guaranteed. These chains are usually configured with a gas price of 0, so that transaction fees are not required. Lastly, the permissioned chain provider usually offers a integrated signing service.
Users of public blockchains have similar needs for an ESB/EAI integration in many cases, which EthConnect could fulfill provided that features are built to support other scenarios than those outlined above.
Motivation
It's beneficial for the community to have a product that addresses the needs of public, and private chain users, so that developers working on the Ethereum platform have a set of tools available to them that can address any requirement for integration.
At first sight, the work required to enable this in EthConnect does not seem to have any roadblock.
Requirements
Gas Price
- Public network transactions usually fetch a gas price from a 3rd party source such as ethgasstation.info for a desired confirmation time
- EthConnect should allow to send a transaction with high/medium/low speeds, or even a target confirmation time (e.g. 1mn, 15mn, 1hr)
- EthConnect should keep track of transactions confirmations, and allow to rebroadcast transactions with a higher fee when the desired confirmation speed is not achieved
Finality
- Finality on public networks is usually defined in terms of number of block confirmations
- Transactions can enter the transaction pool, and exit it after some time (E.g. dropped by a node)
- EthConnect should not assume finality but instead allow users to define the required number of block confirmations
- For security reasons, we usually also verify the number of confirmations from multiple attesting parties
External Signing
- EthConnect signs transactions directly currently
- On public networks, a variety of signing solutions (e.g. metamask, hardware wallet, custodian service) would be used
- If we want to continue to rely on ethconnect for ordering and nonce, EthConnect should allow to use an external signing service
- Perhaps a signing request feature should be introduced that's separate from the signing itself that could happen on another service
Events Detection
- On public networks, transactions that have been confirmed can, in rare cases, then disappear
- These scenarios occur when a transaction is confirmed on a block that ends up being an uncle in Ethereum
- The events notification/stream should be amended so that a 'Orphaned' status is used for such transaction states, for example
Outline
To be discussed with the community on how the above can be implemented.
- Dominant language
- Go
- Stars
- 76
- Forks
- 31
- PR merge metrics
- No merged PRs in 30d
Getting set up
- Ships a Dockerfile or Docker Compose file
- No pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from hyperledger-firefly/ethconnect
-
Difficulty 3/5 1-2 days Newbie friendliness 42/100
hyperledger-firefly/ethconnect#223 · 3 comments ·
-
Difficulty 3/5 1-2 days Newbie friendliness 45/100
hyperledger-firefly/ethconnect#219 · 6 comments ·
-
error openapiOpen
Difficulty 3/5 1-2 days Newbie friendliness 15/100
hyperledger-firefly/ethconnect#203 · 1 comment ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 25/100
hyperledger-firefly/ethconnect#202 · 6 comments ·
-
Difficulty 4/5 3-5 days Newbie friendliness 30/100
All issues in hyperledger-firefly/ethconnect
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 69/100
aws/amazon-ecs-agent#5177 ·
Maintainers usually reply within 2 days
-
release-followup
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
Maintainers usually reply within 1 day
-
kind/bug
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
apache/rocketmq-dashboard#7292 ·
Maintainers usually reply within 3 days
-
[Bug]: Deleting an MCP proxy leaves its API keys in the gateway's memory and in the policy engineOpenAspect/API Aspect/Other Severity/Minor Type/Bug
Difficulty 2/5 1-3 hours Newbie friendliness 83/100
wso2/api-platform#3852 ·
Maintainers usually reply within 1 day