Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/envoy-vc/30-days-of-solidity
30 Days of Solidity step-by-step guide to learn Smart Contract Development.
https://github.com/envoy-vc/30-days-of-solidity
30-days-of-code 30dayscodechallenge course dapps-development ethereum smart-contract solidity
Last synced: 3 months ago
JSON representation
30 Days of Solidity step-by-step guide to learn Smart Contract Development.
- Host: GitHub
- URL: https://github.com/envoy-vc/30-days-of-solidity
- Owner: Envoy-VC
- License: mit
- Created: 2022-05-28T18:12:58.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2023-01-14T06:58:38.000Z (about 2 years ago)
- Last Synced: 2023-03-04T19:36:46.724Z (almost 2 years ago)
- Topics: 30-days-of-code, 30dayscodechallenge, course, dapps-development, ethereum, smart-contract, solidity
- Language: Solidity
- Homepage:
- Size: 6.75 MB
- Stars: 46
- Watchers: 4
- Forks: 17
- Open Issues: 1
-
Metadata Files:
- Readme: readme.md
- License: LICENSE.md
Awesome Lists containing this project
README
> **WARNING**: This repository is currently undergoing updates and revisions to incorporate the latest information and advancements in Solidity programming. Please be advised that the content may not be up-to-date or accurate during this time. We expect the updates to be completed within the next 30 days, and appreciate your patience during this process. Thank you for your understanding.
## Contents
- [Day 1 - Licenses and Pragma](./Day%2001%20-%20Licenses%20and%20Pragma/readme.md)
- [Day 2 - Comments](./Day%2002%20-%20Comments/readme.md)
- [Day 3 - Initializing Basic Contract](./Day%2003%20-%20Initializing%20Basic%20Contract/readme.md)
- [Day 4 - Variables and Scopes](./Day%2004%20-%20Variables%20and%20Scopes/readme.md)
- [Day 5 - Operators](./Day%2005%20-%20Operators/readme.md)
- [Day 6 - Types](./Day%2006%20-%20Types/readme.md)
- [Day 7 - Functions](./Day%2007%20-%20Functions/readme.md)
- [Day 8 - Loops](./Day%2008%20-%20Loops/readme.md)
- [Day 9 - Decision Making](./Day%2009%20-%20Decision%20Making/readme.md)
- [Day 10 - Arrays](./Day%2010%20-%20Arrays/readme.md)
- [Day 11 - Array Operations](./Day%2011%20-%20Array%20Operations/readme.md)
- [Day 12 - Enums](./Day%2012%20-%20Enums/readme.md)
- [Day 13 - Structs](./Day%2013%20-%20Structs/readme.md)
- [Day 14 - Mappings](./Day%2014%20-%20Mappings/readme.md)
- [Day 15 - Units](./Day%2015%20-%20Units/readme.md)
- [Day 16 - Require Statement](./Day%2016%20-%20Require%20Statement/readme.md)
- [Day 17 - Assert Statement](./Day%2017%20-%20Assert%20Statement/readme.md)
- [Day 18 - Revert Statement](./Day%2018%20-%20Revert%20Statement/readme.md)
- [Day 19 - Function Modifiers](./Day%2019%20-%20Function%20Modifiers/readme.md)
- [Day 20 Constructors](./Day%2020%20-%20Constructors/readme.md)
- [Day 21 Single Inheritance](./Day%2021%20-%20Single%20Inheritance/readme.md)
- [Day 22 Multi-Level Inheritance](./Day%2022%20-%20Multi-level%20Inheritance/readme.md)
- [Day 23 Hierarchical Inheritance](./Day%2023%20-%20Hierarchical%20Inheritance/readme.md)
- [Day 24 Multiple Inheritance](./Day%2024%20-%20Multiple%20Inheritance/readme.md)
- [Day 25 Fallback and Receive Function](./Day%2025%20-%20Fallback%20and%20Receive%20Function/readme.md)
- [Day 26 Events and Hashing](./Day%2026%20-%20Events%20and%20Hashing/readme.md)
- [Day 27 Libraries](./Day%2027%20-%20Libraries/readme.md)
- [Day 28 Abstract Contract and Interface](./Day%2028%20-%20Abstract%20Contract%20and%20Interface/readme.md)
- [Day 29 Assembly](./Day%2029%20-%20Assembly/readme.md)
- [Day 30 Polymorphism](./Day%2030%20-%20Polymorphism/readme.md)
π§‘π§‘𧑠HAPPY CODING π§‘π§‘π§‘
[Day 2 >>](./Day%2002%20-%20Comments/readme.md)
![Day 1](./Day%2001%20-%20Licenses%20and%20Pragma/cover.png)
# π Day 1
## Licenses
```solidity
// SPDX-License-Identifier: License Name
```SPDX license identifiers should be added to the top of contract files.
The license should be from one of the following:Β [https://spdx.org/licenses/](https://spdx.org/licenses/).β οΈ If the license identifier isnβt included in the contract file the compiler will now show a warning.
β If there are multiple license identifiers in the contract file the compiler will now show an error.
eg -
```solidity
// SPDX-License-Identifier: MIT
```---
## Pragma
In Solidity the pragma keyword is used to configure compiler features and checks. The pragma directive is always local to the current file and is not global. Hence to make it applicable in your entire project of Solidity you have to include pragma directive in every file to work.
The first line is a pragma directive which tells that the source code is written for which Solidity version.
```solidity
pragma solidity ^0.8.7;
// Anything above 0.8.7pragma solidity >=0.8.0 <0.9.0;
// Anything between 0.8.0 to 0.9.0 where 0.9.0 is not included.pragma solidity 0.8.7;
// Only Version 0.8.7
```---
[Day 2 >>](./Day%2002%20-%20Comments/readme.md)