Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/saikrishnareddy1919/hardhat_defi_interaction_aave
Programmatical Interaction with defi protocal AAVE - Approve, Borrow, Repay (DAI/ETH)
https://github.com/saikrishnareddy1919/hardhat_defi_interaction_aave
aave aave-lending aave-protocol defi ethereum hardhat hardhat-deploy solidity web3
Last synced: about 1 month ago
JSON representation
Programmatical Interaction with defi protocal AAVE - Approve, Borrow, Repay (DAI/ETH)
- Host: GitHub
- URL: https://github.com/saikrishnareddy1919/hardhat_defi_interaction_aave
- Owner: SaikrishnaReddy1919
- Created: 2022-11-13T09:11:09.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2022-11-13T09:18:00.000Z (about 2 years ago)
- Last Synced: 2023-07-26T09:24:16.730Z (over 1 year ago)
- Topics: aave, aave-lending, aave-protocol, defi, ethereum, hardhat, hardhat-deploy, solidity, web3
- Language: Solidity
- Homepage:
- Size: 179 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Hardhat DeFi - Interacting with AAVE - deposit, borrow, repay
*This repo has been revamped to work with Goerli. Due to AaveV2 not being deployed on Goerli, it may not work as intended. Please use a mainnet-fork or local network instead of a testnet.*
[Full Repo](https://github.com/smartcontractkit/full-blockchain-solidity-course-js)
- [Hardhat DeFi](#hardhat-defi)
- [Getting Started](#getting-started)
- [Requirements](#requirements)
- [Quickstart](#quickstart)
- [Typescript](#typescript)
- [Optional Gitpod](#optional-gitpod)
- [Usage](#usage)
- [Testing](#testing)
- [Running on a testnet or mainnet](#running-on-a-testnet-or-mainnet)
- [Linting](#linting)
- [Formatting](#formatting)# Getting Started
## Requirements
- [git](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git)
- You'll know you did it right if you can run `git --version` and you see a response like `git version x.x.x`
- [Nodejs](https://nodejs.org/en/)
- You'll know you've installed nodejs right if you can run:
- `node --version` and get an ouput like: `vx.x.x`
- [Yarn](https://classic.yarnpkg.com/lang/en/docs/install/) instead of `npm`
- You'll know you've installed yarn right if you can run:
- `yarn --version` and get an output like:`x.x.x`
- You might need to install it with npm## Quickstart
```
git clone https://github.com/SaikrishnaReddy1919/hardhat_defi_interaction_aave.git
cd hardhat_defi_interaction_aave
yarn
```
### Optional GitpodIf you can't or don't want to run and install locally, you can work with this repo in Gitpod. If you do this, you can skip the `clone this repo` part.
[![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#github.com/PatrickAlphaC/hardhat-defi-fcc)
# Usage
This repo requires a mainnet rpc provider, but don't worry! You won't need to spend any real money. We are going to be `forking` mainnet, and pretend as if we are interacting with mainnet contracts.
All you'll need, is to set a `MAINNET_RPC_URL` environment variable in a `.env` file that you create. You can get setup with one for free from [Alchemy](https://alchemy.com/?a=673c802981)
Run:
```
yarn hardhat run scripts/aaveBorrow.js
```## Testing
We didn't write any tests for this, sorry!
# Running on a testnet or mainnet
1. Setup environment variabltes
You'll want to set your `GOERLI_RPC_URL` and `PRIVATE_KEY` as environment variables. You can add them to a `.env` file, similar to what you see in `.env.example`.
- `PRIVATE_KEY`: The private key of your account (like from [metamask](https://metamask.io/)). **NOTE:** FOR DEVELOPMENT, PLEASE USE A KEY THAT DOESN'T HAVE ANY REAL FUNDS ASSOCIATED WITH IT.
- You can [learn how to export it here](https://metamask.zendesk.com/hc/en-us/articles/360015289632-How-to-Export-an-Account-Private-Key).
- `GOERLI_RPC_URL`: This is url of the goerli testnet node you're working with. You can get setup with one for free from [Alchemy](https://alchemy.com/?a=673c802981)2. Get testnet ETH
Head over to [faucets.chain.link](https://faucets.chain.link/) and get some tesnet ETH. You should see the ETH show up in your metamask.
3. Run
```
yarn hardhat run scripts/aaveBorrow.js --network goerli
```# Linting
To check linting / code formatting:
```
yarn lint
```
or, to fix:
```
yarn lint:fix
```## Formatting
```
yarn format
```