ICONSwap is a fully open source, free service that allows any ICONist to safely trade with anyone IRC2 tokens against any other.
It is an alternative solution to the Over-The-Counter (OTC) trading method taking place on few unlisted tokens on ICON.
Alternatively, ICONSwap may be used by other SCORE developers willing to implement a token swap in their contract : the ICONSwap SCORE contract may be called from another SCORE.
You can read and review the open source code here :
SCORE GitHub : https://github.com/iconation/ICONSwap-SCORE
GUI GitHub : https://github.com/iconation/ICONSwap
Here is a checklist you will need to follow in order to deploy ICONSwap to the Yeouido testnet:
- Install prerequisites:
python3 -m venv ./venv && source ./venv/bin/activate
pip install tbears
sudo apt install jq
- Clone the ICONSwap repository:
git clone https://github.com/iconation/ICONSwap.git && cd ICONSwap
- Start tbears using the
start_tbears.sh
script located at the root folder of the ICONSwap repository./start_tbears.sh
- Install the operator wallets:
./install.sh
- It will generate 3 operator wallets :
- A first one on the Yeouido network in
./config/yeouido/keystores/operator.icx
- A second one on the Euljiro network in
./config/euljiro/keystores/operator.icx
- A last one on the Mainnet network in
./config/mainnet/keystores/operator.icx
- A first one on the Yeouido network in
- Input a password for each network
- Send few ICX (20 ICX should be enough) to the Yeouido wallet (the newly generated address is displayed after executing the
install.sh
script) - Deploy your SCORE to the testnet:
./scripts/score/deploy_score.sh -n yeouido
- In the root folder of the project, run the following command:
./scripts/score/deploy_score.sh
- It should display the following usage:
> Usage:
`-> ./scripts/score/deploy_score.sh [options]
> Options:
-n <network> : Network to use (localhost, yeouido, euljiro or mainnet)
- Fill the
-n
option corresponding to the network you want to deploy to:localhost
,yeouido
,euljiro
ormainnet
. - Example :
$ ./scripts/score/deploy_score.sh -n localhost
-
If you modified the ICONSwap SCORE source code, you may need to update it.
-
In the root folder of the project, run the following command:
$ ./scripts/score/update_score.sh
- It should display the following usage:
> Usage:
`-> ./scripts/score/update_score.sh [options]
> Options:
-n <network> : Network to use (localhost, yeouido, euljiro or mainnet)
-
Fill the
-n
option corresponding to the network where your SCORE is deployed to:localhost
,yeouido
,euljiro
ormainnet
. -
Example :
$ ./scripts/score/update_score.sh -n localhost