Host-customized fork of https://github.com/tecnovert/basicswap/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
72 lines
2.0 KiB
72 lines
2.0 KiB
|
|
# Simple Atomic Swap Network - Proof of Concept |
|
|
|
[![Build Status](https://travis-ci.org/tecnovert/basicswap.svg?branch=master)](https://travis-ci.org/tecnovert/basicswap) |
|
|
|
## Overview |
|
|
|
Simple atomic swap experiment, doesn't have many interesting features yet. |
|
Not ready for real world use. |
|
|
|
Uses Particl secure messaging and Decred style atomic swaps. |
|
|
|
The Particl node is used to hold the keys and sign for the swap transactions. |
|
Other nodes can be run in pruned mode. |
|
A node must be run for each coin type traded. |
|
In the future it should be possible to use data from explorers instead of running a node. |
|
|
|
## Currently a work in progress |
|
|
|
Not ready for real-world use. |
|
|
|
Features still required (of many): |
|
- Cached addresses must be regenerated after use. |
|
- Option to lookup data from public explorers / nodes. |
|
- Load active bids from db at startup |
|
- Ability to swap coin-types without running nodes for all coin-types |
|
- More swap protocols |
|
- Method to load mnemonic into Particl. |
|
- COIN must be defined per coin. |
|
|
|
|
|
## Seller first protocol: |
|
|
|
Seller sends the 1st transaction. |
|
|
|
1. Seller posts offer. |
|
- smsg from seller to network |
|
coin-from |
|
coin-to |
|
amount-from |
|
rate |
|
min-amount |
|
time-valid |
|
|
|
2. Buyer posts bid: |
|
- smsg from buyer to seller |
|
offerid |
|
amount |
|
proof-of-funds |
|
address_to_buyer |
|
time-valid |
|
|
|
3. Seller accepts bid: |
|
- verifies proof-of-funds |
|
- generates secret |
|
- submits initiate tx to coin-from network |
|
- smsg from seller to buyer |
|
txid |
|
initiatescript (includes pkhash_to_seller as the pkhash_refund) |
|
|
|
4. Buyer participates: |
|
- inspects initiate tx in coin-from network |
|
- submits participate tx in coin-to network |
|
|
|
5. Seller redeems: |
|
- constructs participatescript |
|
- inspects participate tx in coin-to network |
|
- redeems from participate tx revealing secret |
|
|
|
6. Buyer redeems: |
|
- scans coin-to network for seller-redeem tx |
|
- redeems from initiate tx with revealed secret
|
|
|