Skip to content

aisland-dao/dex

Repository files navigation

Aisland Crosschain Dex (Decentralised Exchange)

This package is a Crosschain DEX that is supporting natively 8 different blockchains:

  • Ethereum
  • Polygon
  • Binance Smart Chain
  • Optimism
  • Fantom
  • Celo
  • Avalanche
  • Arbitrum

Hackaton Winner

official Results

You can use the on-line version clicking here:
https://dex.aisland.io

With > 4000 tokens listed.

Under the hood, it uses the great 0x protocol
and the list of tradable tokens is filtered out from https://tokenlists.org/ (an Uniswap Project).

You can easily make your own DEX with a minimal effort, just changing the logo and colors in a few html/css files inside the html folder.

Installation Requirements:

Operating System:

Packages to be installed:

Hardware Requirements:
4 GB RAM, 10 GB disk for the OS and couple of CPU.
A virtual machine from any cloud provider will work perfectly.

Installation Debian/Ubuntu:

Install Mariadb, Git, Curl and Nginx:

apt-get -y install mariadb-server git nginx curl

The version in the package of the OS is quite old so following the instructions from the official website: https://nodejs.org to install the version >= 20.x.

From command line, clone this repository in the folder /usr/src/:

 cd /usr/src/  
 git clone https://github.com/aisland-dao/dex/  

Install the required packages using npm:

npm install  

Create a database with:

mysql   
create database dex;  

create the database tables with:

mysql dex <dump.sql  
  • customise all the files .sh
  • configure the Nginx reverse proxy to reach port tcp/3000

Run

Execute:

/usr/src/dex-server.sh

to let it work in background, use systemctl

Tokens Update

There is an utility to load/update the tokens list reading the data from https://tokenlists.org/. You should configure the database parameters editing the text file:

dex-load-coingecko-tokens.sh  

and launch it from the standard folder:

/usr/src/dex/dex-load-main-tokens-coingecko.sh

You should run automatically the app one time a week from crontab. You can add the automatic job with:

crontab -e

and add the following line:

15 0 * * 0 /usr/src/dex/dex-load-main-tokens-coingecko.sh