Skip to content

Service to cross-chain transactions between two or more people

Notifications You must be signed in to change notification settings

essentiaone/ess-atomic-swap

Repository files navigation

essentia scheme

Ess-atomic-swap

Service to cross-chain transactions between two or more people

What is Essentia atomic swap?

Why Essentia atomic swap?

Console commands

Run the server

What is Essentia atomic swap?

Essentia atomic swap is presented as an independent service that is able to serve from two users. It specifies the path to the trusted nodes, which are specified manually, through which the cryptocurrency exchange will take place. The ethereum smart contract is also used as an immutable database in which pools of confirmed and non-confirmed swaps are stored. For greater security, a smart contract can be redeployed to the ethereum network by the user.

Why Essentia atomic swap?

When you want to exchange your cryptocurrency with someone without third party services, or want to use this blockchain technology in your solution but you cant trust anyone - Essentia atomic swap is the right choice!

Essentia atomic swap does the following for you:

  1. Create orders for atomic swap
  2. View inits of other atomic swaps
  3. Audit inits of other atomic swaps
  4. Cancel your init to atomic swap
  5. Create many orders to exchange
  6. In case you don't want to launch your nodes, you can use default nodes
  7. Can be used as ready enterprise solution

Console commands

Examples of the commands:

init(_addressFrom, _addressTo, 1, BTC, "S0me $trong p@ssw0rd!")
confirmInit(_addressFrom, "S0me $trong p@ssw0rd!", _transactionHash)
auditInit(_addressOfInitiator)
redeem(_addressOfInitiator)

Run the server with the folowing commands:

  1. Set ENV variables from .env file

    $ export PORT=1604
    $ export DEV_PORT=1605
    $ export BTC_ADDR=https://address_to_btc_node
    $ export ETH_ADDR=https://address_to_eth_node
    $ export SCDB_ADDR=https://address_to_scdb (smart contract)
    $ export PRIVATE_KEY=your_private_key_for_ETH_ADDR_node
    $ export PRODUCTION=""
    ...
    
  2. For development you should use:

    $ docker-compose -f docker-development-compose.yml build
    $ docker-compose -f docker-development-compose.yml up
    
  3. For production you should use"

    $ docker-compose -f docker-production-compose.yml build
    $ docker-compose -f docker-production-compose.yml up
    

About

Service to cross-chain transactions between two or more people

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published