Alcor DEX: BOS IBC Integration

Avral
3 min readJun 25, 2020

This article is intended to explain how Alcor DEX contracts and IBC can work together to benefit the EOSIO community. And how you can already use this in the current UI.

The article will consist of two parts: Theoretical information about BOS IBC/HUB, and the second part, which will contain instructions for using this protocol now.

Alcor DEX is an exchange contract for free trade of any tokens (without fee), running on EOS/WAX/BOS/Telos.
BOS IBC is a technology for fully decentralized Cross-Chain transfers with no fee.

This has a simple consequence: in combination, these two technologies give full freedom for decentralized, no-fee trade of any tokens between different blockchains(currently EOS/BOS/WAX/Telos are supported).

The user can create a market for the token in a couple of clicks,
Thus, we get a fully decentralized tool for moving liquidity between blockchains.

How does IBC work?

For clarity let’s define the terms that we will use:

  • Original token: the original token (EOS, project tokens, user tokens, etc.).
  • Peg token: a new token that is a copy of the original token. Each 1:1 peg token is backed with an original token.
  • Original blockchain: the blockchain on which the original token was created.
  • Peg blockchain: the blockchain on which the peg token of the original token is issued.
  • IBC Contract: bosibc.io (according to the standard in each blockchain) a contract that blocks / unlocks the tokens being moved.

Divide interaction with IBC into two simple operations:
Deposit - At the moment when the user sends the original token to the IBC contract, the token is blocked, after which the peg token is issued in an equal amount in peg blockchain to the account that will be specified in the transfer memo(format: account@chain).
Withdraw - When a user sends a peg token in peg blockchain to the IBC contract address, the contract unlocks an equal number of original tokens and send to the address specified in the memo, after that the peg token burned.

IBC Hub

IBC only Works for the BOS chain, but this does not mean that the user needs to have a BOS account. To move the token seamlessly, you must use the following memo format: hub.io@bos >> account@chain. Therefore, tokens are first deposited in the BOS blockchain, and then issued in the destination blockchain. This technology is called IBC Hub.

Using Alcor for trading between blockchains

If the user has EOS and wants to buy WAX, there are 2 options to do this(at the user’s preference).

The User makes a Deposit EOS → WAX, enters the WAX blockchain, opens WAX/EOS and sells EOS for WAX.

OR

In the EOS blockchain, the user opens the EOS/WAX market, buys WAX for EOS, and withdraw WAX peg in the WAX blockchain.

This case can be repeated with any similar token. Just the opposite if you need to Buy EOS for WAX.

It should be understood that the current interface is designed for developers or users who understand exactly how everything works. All manipulations could be implemented as swap user → peg token (dex/pool) -> ibc transfer can be designed as a simple interface with two fields where all the logic will pass under the hood.

Contacts:
Telegram: @alcorexchange

--

--