Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
1st ETH -> XRP Interledger Escrow Payment

1st ETH -> XRP Interledger Escrow Payment

Here are the transaction IDs (and links to the block explorers) for the first livenet Ethereum and Ripple Consensus Ledger (RCL) escrowed transfers comprising an Interledger payment.

  1. Ethereum prepare: 0x00cbb6149b9cfb3cedf280251c3060b2a38776fa7792b578b6f9f39ce5ee0266
  2. RCL prepare: 7F0A5F16C84568D96DA6A66058CD9EAA881236237642BF7427A458957A752B6B
  3. RCL fulfill: 12A4CAFAE95254844513C5C11488A1195C08DEFF673C97AC74AAC121935DDE36
  4. Ethereum fulfill: 0xb59dd839ab0b5e7d4e663b7cfc0ddb70eaf73dd2785b3d3a4abdf1a61817007d

SHA-256 Condition: d21df0a06c78f56e9b91275eda081a4b556f799fd41ee15d91a2d87333c20fc1

SHA-256 Fulfillment: 68c5de1cbb0db67a581629bb22d0d2f7a6ff107ddeff6dc5dc2da8373024da7f

Interledger Packet: AYIBUwAAAAA7msoANXRlc3QuZGV2LmtpdDMuYWRtaW4uVWt2TFVRV3lzLTR0STRzbFhLVzdReGJRbmxTeUhUemtnggERUFNLLzEuMApOb25jZTogMlhaMlUwb3AyVkhocDEtd1JkV3NDdwpFbmNyeXB0aW9uOiBhZXMtMjU2LWdjbSBiSUtuc2FJOWpTVW03U3E5bWNoc2p3CgooIZf2X1nlfiABRf1UzBUtsK3D6SfKB3A4sMdrQ5kl8zNcYPxg1xBT_TDnI3j_IHOxrF5GtI-JNvCCZPJyv7EH1bg1ZzA66b2sUptKnFVjUZVVrr04LH6bLVnR-mKRmJ1XLzm24-tA7R2jP4DZgSAyxiJVS_0ik8wkKCypFQ5-I3nGZ6OU5Tv-JYgLT4HTIQ3Rb1pK2_M6DrEiUbYyUTMOJU4d_jQdMw1ON2Smlix67MX1Ly5Dab4ZFtcEAA (click to see it parsed)

On RCL, this uses Escrow Transactions and on Ethereum uses this smart contract.

The payment was sent using ILP Kits using the ledger plugins: ilp-plugin-xrp-escrow and ilp-plugin-ethereum.

Interested? Come join us for the 3rd Interledger Workshop in Berlin on June 1-2. We'll be working on new ledger plugins for Lightning, Zcash, and your preferred ledger! We'll also help you get setup with your very own ILP Kit.

@eolszewski
Copy link

eolszewski commented May 16, 2017

This is huge

@ReneFroger
Copy link

ReneFroger commented May 16, 2017

Why would this not be possible with the Stellar protocol?

@mDuo13
Copy link

mDuo13 commented May 16, 2017

Stellar doesn't support held payments that depend on a crypto-condition (hashlock) to release.

@emschwartz
Copy link
Author

emschwartz commented May 17, 2017

@ReneFroger note that this is not demonstrating a payment through two tokens on the same ledger, this is an atomic swap across two independent ledgers. ETH stays on Ethereum.

The Ripple Consensus Ledger and Stellar by themselves can do atomic transactions only through assets issued onto the same ledger. If Stellar adds escrow transfers it will be possible to do payments across Stellar and other ledgers as well.

@tuloski
Copy link

tuloski commented May 17, 2017

Great :)
How the different "timings" of the two networks is handled? RCL requires seconds to use the escrow, and ETH? What is the ETH contract doing?

@sharafian
Copy link

sharafian commented May 17, 2017

Here's the contract that was used to make the conditional ETH transfer: https://github.com/interledgerjs/ilp-plugin-ethereum/blob/master/contracts/ledger.sol

@emschwartz
Copy link
Author

emschwartz commented May 17, 2017

@tuloski Great question. In Interledger payments the hold time for the sender's transfer is slightly longer than the hold time for the next connector, which is longer than the next connector, and so on. So in this case the hold time of the Ethereum escrow contract was longer than the XRP escrow hold time.

Since any transactions on blockchains are always going to be relatively slow, doing Interledger over payment channels would make for a better experience. Stay tuned for more on that ;)

@warpaul
Copy link

warpaul commented May 17, 2017

lo and behold!

@kanaas
Copy link

kanaas commented May 29, 2017

@emschwartz what do you mean with interledger over payment channels? I know about paymentchannels using XRP on the RCL but I suppose this is not the same

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment