Skip to content

Intense project to master solidity from scratch to advance level.This repo includes different types of smart contract according to difficulty level.

Notifications You must be signed in to change notification settings

Mo-yasser12233/100-smart-contracts

Repository files navigation

πŸš€ 100 Smart Contracts: Master Solidity from Scratch to Advanced Level

Welcome to the 100 Smart Contracts repository! This project is designed to help you master Solidity, the programming language for Ethereum smart contracts. Whether you are a beginner or looking to advance your skills, you will find various smart contracts organized by difficulty level.

Download Releases

πŸ“š Table of Contents

Introduction

The world of blockchain and smart contracts is rapidly evolving. This repository serves as a comprehensive guide for anyone looking to dive into Solidity programming. Here, you will find practical examples that cover a wide range of topics, from the basics to more complex concepts.

By following this guide, you will learn how to create, test, and deploy smart contracts on the Ethereum blockchain. The repository is structured to facilitate your learning journey, allowing you to progress at your own pace.

Getting Started

To get started, clone this repository to your local machine:

git clone https://github.com/Mo-yasser12233/100-smart-contracts.git

Once cloned, navigate to the directory:

cd 100-smart-contracts

Prerequisites

Before diving into the smart contracts, ensure you have the following tools installed:

These tools will help you compile, test, and deploy your smart contracts efficiently.

Installation

After installing the prerequisites, you can install the required packages using npm:

npm install

Running the Contracts

You can run the smart contracts using Truffle. First, make sure Ganache is running, then execute:

truffle migrate

This command will deploy the contracts to your local blockchain. You can interact with them through the Truffle console:

truffle console

Smart Contracts Overview

Smart contracts are self-executing contracts with the terms of the agreement directly written into code. They run on the Ethereum blockchain and enable trustless transactions. Here are some key features:

  • Autonomy: No need for intermediaries.
  • Trust: The code is immutable and transparent.
  • Speed: Automated execution reduces delays.
  • Savings: Lower transaction costs.

Contract Difficulty Levels

This repository categorizes smart contracts into three difficulty levels:

Beginner Level

  • Hello World Contract: A simple contract that demonstrates the basics of Solidity.
  • Storage Contract: A contract that stores and retrieves data.

Intermediate Level

  • Token Contract: An ERC20 token implementation.
  • Voting Contract: A contract that allows users to vote on proposals.

Advanced Level

  • Crowdfunding Contract: A complex contract for managing crowdfunding campaigns.
  • Decentralized Exchange: A contract that facilitates trading of tokens without a central authority.

Each contract includes comments and documentation to help you understand the code.

Topics Covered

This repository covers various topics related to blockchain and smart contracts, including:

  • Blockchain: Understanding the underlying technology.
  • DeFi: Exploring decentralized finance applications.
  • Ethereum: Learning about the Ethereum blockchain and its features.
  • Smart Contracts: Writing and deploying contracts.
  • Web3: Interacting with the Ethereum network using JavaScript.

For a complete list of releases, visit our Releases section.

How to Contribute

We welcome contributions! If you want to add new contracts or improve existing ones, please follow these steps:

  1. Fork the repository.
  2. Create a new branch (git checkout -b feature/YourFeature).
  3. Make your changes and commit them (git commit -m 'Add some feature').
  4. Push to the branch (git push origin feature/YourFeature).
  5. Open a Pull Request.

Your contributions will help the community learn and grow in the field of blockchain development.

License

This project is licensed under the MIT License. See the LICENSE file for details.

Contact

For any questions or suggestions, feel free to reach out:

Thank you for checking out the 100 Smart Contracts repository! Happy coding!

Download Releases

About

Intense project to master solidity from scratch to advance level.This repo includes different types of smart contract according to difficulty level.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •