Understanding Blockchain Interoperability
The growing adoption of both public and permissioned blockchains has created an increasing demand for interoperability solutions. Key use cases include:
- Cross-ledger asset exchanges
- Linking permissioned blockchain business transactions with public blockchain cryptocurrency payments
- Publishing proof of permissioned blockchain transactions on public blockchains
To address these needs, Oracle Blockchain Platform offers robust interoperability with Ethereum and other EVM-based networks through standardized web3 communication protocols.
How Ethereum-Oracle Interoperability Works
The interoperability functions operate by:
- Integrating a Geth Ethereum client within the REST proxy host
- Enabling coordination through a single REST API called
atomicTransactions - Implementing an optimized two-phase commit protocol for Oracle Blockchain Platform and Ethereum/EVM transactions
👉 Discover how EVM compatibility enhances blockchain networks
The atomicTransactions API
This powerful API allows you to:
- Send multiple chaincode transactions across multiple Oracle Blockchain Platform channels
- Optionally include Ethereum transactions that will execute alongside Oracle Blockchain Platform transactions
Transaction Workflow: Oracle vs. Ethereum
Key differences in transaction handling:
| Transaction Type | Two-Phase Commit Support | Finality Concept |
|---|---|---|
| Oracle Blockchain | Yes (prepare/commit phases) | Immediate |
| Ethereum | No | Requires block confirmation |
Oracle Blockchain Platform uses the Last Resource Commit (LRC) optimization when including Ethereum transactions in atomic workflows:
- All Oracle Blockchain Platform transactions reach prepared state
Ethereum transaction executes
- Success: Oracle transactions commit
- Failure: Oracle transactions roll back
Understanding Ethereum Transaction Finality
Ethereum transactions achieve finality when included in an immutable block. Control finality checking with these parameters:
finalityParams: Determines whether to check finality and waiting period (blocks or seconds)
Best practices:
- Public Ethereum (mainnet): Wait for 6 blocks (~1 hour)
- Private Ethereum: Often no wait needed
👉 Learn more about blockchain consensus mechanisms
NFT Transfers Between Oracle Blockchain Platform and Ethereum
The atomicTransactions API enables seamless NFT transfers through smart contract interactions. This allows atomic transfer of:
- NFT ownership
- Token attributes (ID, price, history)
- Metadata between platforms
Step-by-Step NFT Transfer Process
Burn NFT on Oracle Blockchain Platform
- Call
burnNFTmethod to remove NFT from Hyperledger Fabric chaincode - Supported standards: Enhanced ERC-721 and ERC-1155
- Call
Mint NFT on Ethereum
- Use parameters returned from
burnNFTto call smart contract Implement
mintNFTmethod with custom attributes:to: Ethereum addressid: Numeric token IDprice: NFT pricetokenHistory: Transaction history
- Use parameters returned from
Smart Contract Requirements
For successful interoperability:
- Token ID Format: Must be numeric string (convertible to integer)
Token URI Standards:
- ERC-1155: ID-substituted format (e.g.,
https://token-cdn-domain/{id}.json) - ERC-721: Base URI + token URI format (e.g.,
http://api.myproject.example.com/token/)
- ERC-1155: ID-substituted format (e.g.,
- ABI Generation: Use Remix IDE and regenerate after contract changes
Frequently Asked Questions
What's the advantage of using atomicTransactions API?
The API simplifies complex cross-platform transactions by handling coordination automatically, reducing development complexity and ensuring atomicity.
How long does an Ethereum transfer take?
Public mainnet transfers typically require ~1 hour (6 blocks) for finality, while private networks can confirm almost instantly.
Can I transfer any type of NFT?
Currently supported are enhanced ERC-721 and ERC-1155 standards. The NFT must comply with URI format requirements for successful transfer.
What happens if the Ethereum transaction fails?
The entire atomic transaction rolls back, including any prepared Oracle Blockchain Platform transactions, maintaining consistency.
Is there a size limit for atomic transactions?
While no hard limit exists, extremely large transactions may encounter gas limits on Ethereum or timeouts in coordination.
How do I monitor the status of atomic transactions?
The API returns comprehensive status information that can be tracked through completion, including finality confirmation.