This project is a fork of quipuswap and adds logic that makes defi into a game with on chain scoring metrics and player levels calculated on chain. You can run the dapp here: https://main.d1vpiqu7jccsn6.amplifyapp.com
I didn't get this working in a complete sense. I'm missing a factory contract for converting the trading pair contracts into levels. I'm also missing a tilemap UI. I intended on making a pokemon style rpg interface for trading in the dapp and doing the defi tasks. I do have:
- Score Tokens
- Level Contract
- Tests
- Front End
- Scoring System (Read more about it here: https://main.d1vpiqu7jccsn6.amplifyapp.com/help)
- Ranks
But it isn't yet playable.
-
Installed NodeJS (tested with NodeJS v12+)
-
Installed Yarn (NPM isn't working properly with
ganache-cli@6.11.0-tezos.0
) -
Installed Ligo:
curl https://gitlab.com/ligolang/ligo/raw/dev/scripts/installer.sh | bash -s "next"
- Installed node modules:
cd quipuswap-core && yarn
- Configure
truffle-config.js
if needed.
To compile and deploy contracts to Delphinet
- Chose configure the version -
FA12
orFA2
- by settingEXCHANGE_TOKEN_STANDARD
in.env
and run:
yarn migrate
For other networks:
yarn migrate --network NAME
Contracts are processed in the following stages:
- Compilation
- Deployment
- Configuration
- Interactions on-chain
As the Quipuswap supports 2 token standards that vary only in the token interface implementation and the inter contract communication between Dex and external tokens, the shared codebase is used. Therefore to work with the specific standard version, you should configure it by setting EXCHANGE_TOKEN_STANDARD
in .env
to either FA12
or FA2
.
To compile the contracts run:
yarn compile
Artifacts are stored in the build/contracts
directory.
For deployment step the following command should be used:
yarn migrate
Addresses of deployed contracts are displayed in terminal. At this stage, new MetadataStorage, Factory are originated. Aditionaly, for testnets two new pairs are deployed.
If you'd like to run tests on the local environment, you might want to run ganache-cli
for Tezos using the following command:
yarn start-sandbox
Truffle framework is used for testing. Run:
yarn test
NOTE: if you want to use a different network, configure truffle-config.js
. If you need to use a different standard, configure $EXCHANGE_TOKEN_STANDARD
in .env