This project, concepted by Fingerprints DAO and developed by Arod Studio is an open-source smart contract to enable members of Fingerprints DAO to "borrow" and use the NFTs from the DAO vault. Check out on our website traces.fingerprintsdao.xyz.
This smart contract project uses Solidity. It utilizes the @openzeppelin/contracts and @openzeppelin/contracts-upgradeable libraries for building secure and upgradeable smart contracts.
To get started with this project, you will need to have the following dependencies installed:
- Node.js
- Hardhat
- TypeScript
Then, clone the repository and install the dependencies:
git clone git@github-arod:Fingerprints-DAO/traces-contracts.git
cd traces-contracts
npm install
You will also need to configure the following environment variables in a .env
file at the root of the project:
ACCOUNT_ADDRESS
: The Ethereum address you want to use to deploy the contract.ETHERSCAN_API_KEY
: Your API key for Etherscan, used for contract verification.INFURA_API_KEY
: Your API key for Infura, used for connecting to the Ethereum network.MNEMONIC
: The mnemonic for the Ethereum account you're using to deploy the contract. You can also usePRIVATE_KEY
if you don't want to use a mnemonic.REPORT_GAS
: A boolean indicating whether or not to report gas usage for the contract.METADATA_URL
: The URL for the metadata API.
To run the project locally, you need to execute the following commands:
yarn task:run-local
This script deploys an ERC721 contract, an ERC20 contract and the Traces contract. It also mints 10 NFTs and 1000 tokens to the account that deployed the contracts. It also mints 1000 tokens to the account that will be used to borrow the NFTs. Check out the script in tasks/run-local.ts
to see how the contracts are deployed and arguments that you can use to customize the deployment.
To compile the contracts, run the following command:
yarn compile
To deploy the contracts to the Goerli testnet, run the following command:
yarn deploy:goerli
You can check the script in tasks/deploy.ts
to see how the contracts are deployed and arguments that you can use to customize the deployment.
To run the tests, use the following command:
yarn test:watch
If you want to run the tests in watch mode.
yarn test
If you want to run the tests once.
To run the coverage, use the following command:
yarn coverage
To generate documentation for the contracts, use the following command:
yarn run:docs
Traces-contracts was created by arodundef [email protected].
Traces-contracts is open-sourced software licensed under the MIT license.