Skip to content

DarthShoge/foundry-ballerbucks-stablecoin

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BallerBucks Stablecoin 💸

About

This project is a implementation of a general purpose stablecoin management system much like MakerDAO's DAI token but with the added twist that is allows for setting a reference currency to peg against (given it has a chainlink feed). For example assuming a GBP deployment the coin will have the following properties:

  • Relative stability: Anchored or Pegged -> 1 GBP
  • Stability mechanism (minting) : Algorithmic (Decentralised)
    • You can only mint the stable coin with enough collateral
  • Collateral: Exogenous (Crypto)
    • wETH
    • wBTC

Getting Started

Requirements

  • 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
  • foundry
    • You'll know you did it right if you can run forge --version and you see a response like forge 0.2.0 (816e00b 2023-03-16T00:05:26.396218Z)

Quickstart

git clone https://github.com/DarthShoge/foundry-ballerbucks-stablecoin
cd foundry-ballerbucks-stablecoin
make install
forge build

Deploy

This will default to your local node. You need to have it running in another terminal in order for it to deploy.

make deploy

Testing

Both unit testing and invariant testing are included

forge test

Deployment to a testnet or mainnet

  1. Setup environment variables

You'll want to set your SEPOLIA_RPC_URL and SEPOLIA_PRIVATE_KEY as environment variables. You can add them to a .env file, similar to what you see in .env.example.

  • SEPOLIA_PRIVATE_KEY: The private key of your account (like from metamask). NOTE: FOR DEVELOPMENT, PLEASE USE A KEY THAT DOESN'T HAVE ANY REAL FUNDS ASSOCIATED WITH IT.
  • SEPOLIA_RPC_URL: This is url of the sepolia testnet node you're working with. You can get setup with one for free from Alchemy

Optionally, add your ETHERSCAN_API_KEY if you want to verify your contract on Etherscan.

  1. Deploy
make deploy ARGS="--network sepolia"

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published