teller-protocol / teller-protocol-v1

Teller is a lending and undercollateralized borrowing protocol on the Ethereum blockchain. Teller is the first protocol to allow zero collateral borrowing for greater than one block.
https://teller.finance/
MIT License
106 stars 38 forks source link

Teller V1 Protocol

Teller V1 is a composition of smart contracts, which create the protocol. These contracts enable digital asset holders on the Ethereum blockchain to engage in decentralized, lending and borrowing activities, with down to zero collateral.

The protocol is currently in beta and deployed on the Kovan testnet. We envision the protocol to evolve into a decentralized, community-run project, maintained by a DAO (Decentralized Autonomous Organization) structure.

If you would like to contribute, we encourage you to submit a PR directly or join the open-source team at hello@teller.finance.

Resources

Prerequisites

NodeJS Version

This is important to have a stable NodeJS version installed. At the moment of writing this document, the team is using the NodeJS v14.15.4 (Fermium LTS) without issues.

Install Dependencies / Setup

To make the development process easier, we use Hardhat to develop and manage the smart contracts.

Run yarn setup to perform the necessary steps to get the repository setup.

It will:

After this, you will need to make sure that the following variables are defined in the .env file:

Compile Contracts

After ENV variables are set, you will need to compile the contracts and build Typescript files:

Get Started

After installing dependencies and setup, you are able to:

Hardhat creates a local ganache RPC network instance and deploys all contracts to it.

To create a localhost network:

To verify if instances have been deployed, check deployments/localhost

For a deeper dive into available commands see the tasks documentation

Running Unit Tests

Execute the command:

As result, you should see:

Unit Tests

© Copyright 2021, Teller