Skip to content

Latest commit

 

History

History
44 lines (35 loc) · 2.04 KB

README.md

File metadata and controls

44 lines (35 loc) · 2.04 KB

Solidity 101

A course on solidity taught by BU Blockchain

Solidity is a high-level programming language designed for developing smart contracts that run on the Ethereum blockchain. It is statically typed, supports inheritance, libraries, and complex user-defined types among other features. Solidity is influenced by C++, Python, and JavaScript and is designed to target the Ethereum Virtual Machine (EVM).

Smart contracts are self-executing contracts with the terms of the agreement between buyer and seller being directly written into lines of code. They run exactly as programmed without any possibility of downtime, censorship, fraud, or third-party interference.

In the context of Ethereum, Solidity is used to write applications that implement self-enforcing business logic embodied in smart contracts, leaving a non-repudiable and authoritative record of transactions. Writing a smart contract in Solidity involves creating functions and state variables that form the structure of the contract which can then interact with other contracts, make decisions, store data, and transfer Ether (the native cryptocurrency of the Ethereum network) among users.

Given its purpose and design, Solidity enables the creation of a wide range of decentralized applications (dApps) on the Ethereum blockchain, ranging from simple token swaps to complex decentralized finance (DeFi) instruments.

Subjects Covered

├── Solidity Basics
|   ├── Variables
|   ├── Functions
|   ├── Structs
|   ├── Mappings
|   ├── Modifiers
├── Foundry Basics
|   ├── Installation
|   ├── Anvil
|   ├── Testing
|   ├── Scripts
├── Chainlink Oracles
|   ├── Price Aggregator
├── OpenZeppelin
|   ├── ERC-20
|   ├── ER-721

Credits and Resources

Created By: @Wezabis

Taught By: @Wezabis 23/24

Resources: Crypto Zombies, Patrick Collins