Open-source DEX for Kaia. This repository is for smart-contracts part of DEX.
Before deployment, please, set up all required parameters in your .env file described in the .env.example.
To deploy all DEX Smart Contracts, please run
npx hardhat run scripts/deployDEX.ts --network `network`
command with the specified network
argument. In case of hardhat network deployment, there is no need to provide any additional parameters.
The network
should be configured in your hardhat.config.ts file in HardhatUserConfig.networks section. Please, refer to the Hardhat Networks Configuration guide for more information. Currently, the following networks are already configured:
- hardhat (default)
- kairos (Kaia Kairos Testnet)
Example:
npx hardhat run scripts/deployDEX.ts --network kairos
Example (default hardhat network):
npx hardhat run scripts/deployDEX.ts
Docker and docker-compose are required for this step.
You can see the following in docker-compose.yaml
. Please update DEX_NETWORK_NAME
you want to deploy.
version: "3.7"
services:
app:
build: .
volumes:
- ./.env:/app/.env
- ./deployments:/app/deployments
environment:
DEX_NETWORK_NAME: kairos
docker-compose up --build
Before running tests, please, provide the following parameters in a .env file: MNEMONIC
, FORKING
(true/false) and FORKING_URL
(in case of FORKING
is true).
To run all unit tests, please run
npx hardhat test
You can start an instance of Hardhat Network that forks the specified network via its Archive Node RPC endpoint. It will simulate having the same state as the network, but it will work as a local development network. Please, refer to the Hardhat Forking guide for more information.
To use this feature you need to set up FORKING
parameter as true
and provide FORKING_URL
in your .env file.
After setting up forking parameters you can run all the tests on the forked network
npx hardhat test
or launch the deployment script
npx hardhat run scripts/deployDEX.ts
to simulate the deployment process to the forked network.
The repository contains Kaia DEX specification and audit reports (learn more).
In line with our commitment to decentralization, all Kaia codebase and its documentations are completely open source. Kaia always welcomes your contribution. Anyone can view, edit, fix its contents and make suggestions. You can either create a pull request on GitHub or create a enhancement request. Make sure to check our Contributor License Agreement (CLA) first and there are also a few guidelines our contributors would check out before contributing: