panautomata icon indicating copy to clipboard operation
panautomata copied to clipboard

Proof of concept token exchange between Ropsten & Kovan

Open HarryR opened this issue 7 years ago • 3 comments

This project needs to demonstrate that the technology works on public chains to prove the viability of this project. But, in order to prove the viability there are some other things which need to be considered:

  • long-term running of the 'Link' contract, its reliability and dependable nature
  • ironing out 'real world' bugs, where blocks aren't 'insta-mined' as with testrpc and ganache-cli
  • provide on-chain contracts and client-side code that can be used by interested third parties
  • do something useful

I'm choosing Ropsten and Kovan as the starting points because the Ether is free.

HarryR avatar Jul 05 '18 22:07 HarryR

So, this will depend on the ExampleSwap contract which performs an atomic swap between two parties on two different chains, mediated by the Lithium component and supplied proofs.

Alternatively I could bring back a separate Lock concept, which allows Ropsten Ether to be used in tokenized form on Kovan, and visa versa. e.g. you deposit Ropsten ether into a Lock contract, then supply proof of that to a RemoteEtherToken contract on Kovan which mints N tokens. After burning the tokens you can take the proof of burn back to Ropsten and supply proof to retrieve the equivalent ETH value.

May need to split this idea out into a separate ticket.

HarryR avatar Jul 09 '18 01:07 HarryR

The cross token (RemoteEtherToken) idea was proven in #17 and has been added to the end-to-end tests.

See:

The 'ExampleSwap' contract is still a work-in-progress / rough draft.

HarryR avatar Jul 10 '18 18:07 HarryR

Instead of the atomic swap contract (e.g. PvP) I will use extend the token proxy example to give tokenised Ropsten ether to a friend on Kovan.

The tokenproxy.py file will need to be extended to use multiple accounts, and to take parameters from the command-line.

Currently I'm annoyed with Truffle's inability to realistically deploy anything gracefully and without vomiting on its self, so I will need to either deploy the contracts by hand (via Parity UI) or via a non-shit deployment tool.

HarryR avatar Jul 11 '18 20:07 HarryR