Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

UI for atomicswap #8

Open
xaur opened this issue Dec 11, 2018 · 11 comments
Open

UI for atomicswap #8

xaur opened this issue Dec 11, 2018 · 11 comments
Labels
dev Programming or development might be needed engagement Anything that directly contributes to onboarding and engaging new and existing users

Comments

@xaur
Copy link
Collaborator

xaur commented Dec 11, 2018

Improve the UX significantly so more people start swapping.

@devwarrior777
Copy link

devwarrior777 commented Dec 14, 2018

Am doing a simple PoC Qt UI now but with my own swap code - not decred's. Even simple is not simple for this sequencing between two remote players. Anyone wish to collaborate on that and later decred UI .. we can talk offline.

@xaur xaur added the active label Dec 14, 2018
@xaur xaur added the engagement Anything that directly contributes to onboarding and engaging new and existing users label Feb 2, 2019
@devwarrior777
Copy link

devwarrior777 commented Feb 7, 2019

The start of a gui swap sequence between LTC & XZC on testnet.

https://streamable.com/tuabd

2019_02_07_short_mp4.zip

@xaur
Copy link
Collaborator Author

xaur commented Feb 7, 2019

YouTube link would be useful for spreading, in case you are looking for that.

@devwarrior777
Copy link

The above is a PoC and shows the kind of UI that could drive a sequencing application for Decred atomic swaps code .. taking it forward in terms of UX for a "normal technically aware user" as requested in the title.

As a PoC it works just fine and I have done several swaps .. mostly between LTC and XZC although the concept would work for any coin which has an electrum wallet and associated electrumX server(s) ... which decred has not

Re: Youtube .. The PoC above is currently a project which I am not sharing so the screen recording is just a way to communicate with you guys as to what is possible ;-)

@devwarrior777
Copy link

devwarrior777 commented Feb 7, 2019

A swap I did today:

Contract addresses:
https://testexplorer.zcoin.io/address/2Ev5zBfM6Y41jGLRHMNsSwGxq14qhTjT7eU
https://chain.so/address/LTCTEST/QTtJsTypw3W8bFu1LoHB1qAuRR7d8Wwctc

Cheers!

@xaur xaur added the dev Programming or development might be needed label Feb 12, 2019
@devwarrior777
Copy link

devwarrior777 commented Feb 25, 2019

"... so more people start swapping."

I hope that you guys are fully aware that for just 1 (one) trading pair (say BTC<->DCR) each side needs to set up & run a full node for each coin. Bitcoin is 200 gigabytes . Decred significantly less but growing.

https://www.statista.com/statistics/647523/worldwide-bitcoin-blockchain-size/

So I would like you to expand on what the preliminary statement in this thread means for you.

@xaur
Copy link
Collaborator Author

xaur commented Feb 26, 2019

The requirement to run full BTC and DCR nodes and 200 GB storage is there regardless of whether you have a nice UI or not.

I think having a nice UI will facilitate more swaps than through arcane CLI commands. iirc the path to install and run Bitcoin Core is not too hard, and same can be done for dcrd.

Next step would be to explore atomic swaps with client-side SPV modes, first for DCR and then also for BTC (there might be some BTC nodes serving filters already).

@devwarrior777
Copy link

Thanks for your reply.

As long as the interest is there I can continue towards a GUI sequencer based on my clone of the deCRED atomicswap code .. the native repo code remains arcane for now ;-)

The only fully safe way is full nodes But I do have another project which works with electrum wallets. This is fairly well supported by a handful of older coins.

Unfortunately deCRED does have an electrumX SPV server but does not have electrum-dcr client support so cannot be a candidate for that design path at this time. (Currently I GUI swap BTC/LTC/XZC with the SPV method)

In addition the differences between deCRED and normal btc clones such as litecoin, dash, etc. makes electrum-dcr client significant effort. Headers, and transaction structures need to change +++

Native deCRED-style SPV is only done by deCRED at this time afaik so may be a future candidate for other designs but way out of scope for me.

For my current full-node GUI sequencer project I am developing with LTC and XZC swaps first and could later add DCR to this. LTC seems to have almost as much liquidity as BTC for this purpose.

@xaur
Copy link
Collaborator Author

xaur commented Feb 28, 2019

My personal interest is always there, but can't speak for others. Currently decred-issues serves as a barebones place to collect ideas and coordinate work, but it does not provide a layer to gauge user/stakeholder interest or to provide funding. Typical workflow now is you make an issue and pitch it in relevant places (e.g. #dex room). Interested parties will gradually join the issue discussion or subscribe for updates.

If the DEX proposal passes and if you come up with a nice UI for the swap sequence, it would be reasonable to suggest that UI (or parts of it) to the DEX project so duplication of some work can be avoided. If successful, I would even request a bit of funding for the UI work. That's all future but sounds interesting, hence I'm throwing out ideas.

Native deCRED-style SPV is only done by deCRED at this time

It is based on compact client-side filters which were first suggested for Bitcoin in June 2017. iirc this is called BIP-157 and BIP-158. Looking at the dates, the software must exist for Bitcoin and I'm sure there are a few nodes serving those filters. BCH implemented them too in their fork of btcsuite and encourage operators to run more nodes that support these filters.

Regardless of other coins, I think it is possible to implement atomic swap software that uses any combination of client modes for each side of the trade, e.g. use Decred SPV for Decred side and Bitcoin full node for Bitcoin side. Or full node for DCR and Electrum for BTC. The only concern here (besides the obvious effort to implement) is I would recommend against swaps where sides have different security models, and in all cases against Electrum.

@xaur
Copy link
Collaborator Author

xaur commented Mar 11, 2019

https://twitter.com/rnr_0/status/1101154316121968641

Just "finished" my Atomic Swap Tool (based on Decred)
(Normally if you want to swap BTC<>LTC both parties needed an ltc&btc full node)
Differences here is my version does not require a full node!
Also comes with a webinterface and API (so others can build a real wallet on top)

@xaur
Copy link
Collaborator Author

xaur commented Mar 11, 2019

Not sure if there's anything to reuse from here, but just in case: https://github.com/romanornr/AtomicOTCswap

@xaur xaur removed active labels May 27, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dev Programming or development might be needed engagement Anything that directly contributes to onboarding and engaging new and existing users
Projects
None yet
Development

No branches or pull requests

2 participants