Coder Social home page Coder Social logo

nataliaburrey / buddy_token Goto Github PK

View Code? Open in Web Editor NEW
3.0 2.0 1.0 55.91 MB

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: MIT License

Python 34.75% Solidity 53.13% JavaScript 12.13%
blockchain erc20 erc721 erc20-smart-contract smart-contracts solidity nft ethereum-contract ethereum metamask ganache ipfs ipfs-blockchain streamlit tokens tokenomics dapps-development dapps

buddy_token's Introduction

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 ๐Ÿ“ง [email protected] ๐Ÿ“ฉ Miguel Ortega *โ˜Ž๏ธ +1(209) 417-7944 ๐Ÿ“ง [email protected] ๐Ÿ“ฉ Natalia Burrey *โ˜Ž๏ธ +1(805)722-2619 ๐Ÿ“ง [email protected] ๐Ÿ“ฉ Samuel Yang *โ˜Ž๏ธ +1(714) 609-8073 ๐Ÿ“ง [email protected]

Links

License

โญ MIT LICENSE

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.