Curve-frontend is a NextJs user-interface application designed to connect to Curve's deployment of smart contracts. This UI application is designed for both the Curve dapp, and utilizes curve-js and curve-llamalend-api to communicate with the blockchain.
Before you begin, ensure you have met the following requirements:
To install curve-frontend, follow these steps:
git clone https://github.com/curvefi/curve-frontend.git
cd curve-frontend
yarn
Start development:
yarn dev
Access the application in a web browser:
Testing with a forked mainnet is not generally necessary.
However, if you want to do that, you can do so by copying .env.sample
and updating environment variables:
cp apps/main/.env.sample apps/main/.env.development.local
Connect your wallet to the RPC URL that you used.
This repository is organized as follows:
/apps/main
: This application manages router swaps, pool-specific functions (deposit, withdraw, swap), and pool creation React application./tests
: Cypress tests/packages/curve-ui-kit
: Shared UI kit created using Material UI, mapped as@ui-kit
/packages/prices-api
: Package for consuming the Prices API, mapped as@curvefi/prices-api
. Soon to be to separated its own NPM package.
For detailed information on development practices and usage of new libraries, please refer to our Development Guide.
For testing the DApp application, follow these steps:
- Navigate to the
tests
directory:
cd tests
- Follow the instructions in the
README
file located in thetests
directory.
If you have any questions, please contact the dev channel on the Curve Discord
You may also submit an issue on our GitHub Issue Tracker.
To contribute to curve-frontend, follow these steps:
- Fork this repository.
- Create a branch:
git checkout -b <branch_name>
. - Make your changes and commit them:
git commit -m '<commit_message>'
- Push to the original branch:
git push origin <project_name>/<location>
- Create the pull request.
Alternatively see the GitHub documentation on creating a pull request.
This project is licensed under the MIT license.