Skip to content

ERC-20 standard Ethereum based Token designed for the purpose of Cannabis Industry and ERC-721 NFT-coupon. Using IPFS to store our files, implementing Metamask and Ganache to test our blockchain based token

License

Notifications You must be signed in to change notification settings

nataliaburrey/Buddy_Token

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

3 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

BUDDY Token

β˜‘οΈ

BUDlogo2

πŸ“Œ For our graduation project our team: Natalia Burrey, Jonah Leggett, Miguel Ortega and Samuel Yang - assumed a role of a Fintech professional and very exited to introduce a blockchain-based solution for a real world problem

Table of content πŸ“”

I. PROJECT OVERVIEW

An executive summary

Identify the Problem:

In the 21st century we are finally witnessing the legalization of CANNABIS. America has led the charge to decriminalize medical and recreational use of marijuana.

Cannabis is now legal in 19 states- but not on the federal level. This means that small business owners such as dispensaries, manufacturers, & vendors cannot legally have a bank account or credit line. Cannabis customers must withdraw cash from their bank accounts to make a purchase. Cannabis business owners have to operate solely with cash. This is a complex problem and has to be addressed on a federal level. In the meantime we would like to introduce a FinTech solution: BUDDY Token - Ethereum based cryptocurrency .

WHY CRYPTO?

We use the crypto to attract new type of customer, who is more engaged and spends more

Programmable money is a transparent, secure way to control the capital

Moreover Etherium is an investable asset- which grows over time, offers a hedge for inflation.

FINTECH solution

Screen Shot 2021-09-02 at 7 50 38 PM

Screen Shot 2021-09-02 at 7 52 29 PM

II. TECHNICAL REQUIREMENTS

Software Version Control

  • Repository BUDDY TOKEN was created on a GitHub.

  • Our team made sure files were frequently committed to repository.

  • Commit messages with appropriate level of detail included with each commit.

  • Repository organized, relevant information about the project files included.

Data Collection and Preparation

Screen Shot 2021-09-02 at 7 54 57 PM

Remix IDE used to interact with Etherium blockchain, create and deploy smart contracts. Remix - Ethereum IDE is an open source web and desktop application. It fosters a fast development cycle and has a rich set of plugins with intuitive GUIs. Remix is used for the entire journey of contract development as well as being a playground for learning and teaching Ethereum.

OpenZeppelin provides security products to build, automate, and operate decentralized applications. We also protect leading organizations by performing security audits on their systems and products.

MetaMask allows users to store and manage account keys, broadcast transactions, send and receive Ethereum-based cryptocurrencies and tokens, and securely connect to decentralized applications through a compatible web browser or the mobile app's built-in browser. For the purpose of challange we will create an environment and use paper trade Etherium to showcase crowdsale of our Token

Ganache allows us to quickly fire up a personal Ethereum blockchain which you can use to run tests, execute commands, and inspect state while controlling how the chain operates. we will use it in this challenge to create a personal blockchain for rapid Ethereum distributed application development and test our crowdsale contract in a safe and deterministic environment.

IPFS The InterPlanetary File System is a protocol and peer-to-peer network for storing and sharing data in a distributed file system. IPFS uses content-addressing to uniquely identify each file in a global namespace connecting all computing devices.

Development

  • Streamlit application created. You can find a demonstration following link

https://www.youtube.com/watch?v=ltaTwjhq5u8

  • 2 Solidity smart contracts created:
BuddyToken.sol (ERC-20)

Buddy (BUD) Token Smart Contract

Screen Shot 2021-09-02 at 8 11 44 PM

  • Creates a fungible token using the ERC-20 standard

  • Solidity Contract from the OpenZeppelin library

  • This contract manages the entire purchase process, allowing users to send ETH to the contract and in return receive BUD tokens.

  • Automatically mints BUD Tokens during purchase flow

  • Includes an Oracle to make API call for current ETH/BUD prices

BuddyNFT.sol (ERC-721)

Buddy NFT Coupon Smart Contract

Screen Shot 2021-09-02 at 8 14 07 PM

Creates NFT Coupons to disperse to customers for marketing purposes

Allows Owner to mint new NFT coupons, and transfer to any wallet

Users can transfer between each other

NFT's stored on IPFS for decentralized storage (reduce gas fees)

NFT data stored to view coupon history (owners, usage, etc.)

Following video is demonstrating the application NFT contract for creating a coupon
Screen.Recording.2021-09-02.at.8.04.05.PM.mov

And this is the final version of an NFT coupon:

BUDCoupon.mp4
Libraries

We used following Open Zeppelin lib, some of them was not covered in the class


import "@openzeppelin/contracts/token/ERC20/ERC20.sol";
import "@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol";
import "@openzeppelin/contracts/token/ERC20/extensions/ERC20Snapshot.sol";
import "@openzeppelin/contracts/access/Ownable.sol";
import "@openzeppelin/contracts/security/Pausable.sol";
import "@openzeppelin/contracts/token/ERC20/extensions/draft-ERC20Permit.sol";
import "@openzeppelin/contracts/token/ERC20/extensions/ERC20Votes.sol";
import "@openzeppelin/contracts/token/ERC20/extensions/ERC20FlashMint.sol";
import "https://github.com/OpenZeppelin/openzeppelin-contracts/blob/release-v2.5.0/contracts/token/ERC721/ERC721Full.sol"

Documentation

  • You can find Code written in Solidity, well commented with concise, relevant notes.

  • GitHub README.md file includes a concise project overview. We followed step by step Technical requirements for grading team convenience.

  • GitHub README.md file includes detailed usage and installation instructions How to install

  • GitHub README.md file includes examples of deployment, the application .

How to install

Repository
  • Save remote repo from GitHub to your computer (Desktop): in Terminal type:
cd desktop

git clone https://github.com/JonahLeggett/Buddy_Token.git

Now you can find repo on your desktop

Team

Screen Shot 2021-08-31 at 1 53 55 AM

πŸ“© Jonah Leggett *☎️ +1(415) 430-8265 πŸ“§ Jonah.Leggett@gmail.com πŸ“© Miguel Ortega *☎️ +1(209) 417-7944 πŸ“§ mortega0014@gmail.com πŸ“© Natalia Burrey *☎️ +1(805)722-2619 πŸ“§ nataliaburrey@gmail.com πŸ“© Samuel Yang *☎️ +1(714) 609-8073 πŸ“§ Samueljinyang@gmail.com

Links

License

⭐ MIT LICENSE

About

ERC-20 standard Ethereum based Token designed for the purpose of Cannabis Industry and ERC-721 NFT-coupon. Using IPFS to store our files, implementing Metamask and Ganache to test our blockchain based token

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published