{"id":13729261,"url":"https://github.com/0xmic/solidity","last_synced_at":"2025-05-08T01:32:09.921Z","repository":{"id":59116193,"uuid":"313472590","full_name":"0xmic/solidity","owner":"0xmic","description":"Notes on Solidity","archived":false,"fork":false,"pushed_at":"2023-02-26T23:06:54.000Z","size":198,"stargazers_count":60,"open_issues_count":1,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-08-04T02:08:34.726Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Solidity","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/0xmic.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2020-11-17T01:24:12.000Z","updated_at":"2024-07-13T18:32:15.000Z","dependencies_parsed_at":"2024-01-11T20:45:59.947Z","dependency_job_id":"d58aa0e6-d5bf-4b52-83bd-3c433f50ee00","html_url":"https://github.com/0xmic/solidity","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0xmic%2Fsolidity","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0xmic%2Fsolidity/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0xmic%2Fsolidity/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0xmic%2Fsolidity/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/0xmic","download_url":"https://codeload.github.com/0xmic/solidity/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224688947,"owners_count":17353291,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-03T02:00:57.603Z","updated_at":"2024-11-14T20:30:40.464Z","avatar_url":"https://github.com/0xmic.png","language":"Solidity","funding_links":[],"categories":["Smart Contracts"],"sub_categories":["Solidity"],"readme":"# Notes on Solidity\n\nSolidity is an object-oriented, high-level language for implementing smart contracts. Smart contracts are programs which govern the behaviour of accounts within the Ethereum state.\n\nSolidity was influenced by C++, Python and JavaScript and is designed to target the Ethereum Virtual Machine (EVM).\n\nSolidity is statically typed, supports inheritance, libraries and complex user-defined types among other features.\n\nWith Solidity you can create contracts for uses such as voting, crowdfunding, blind auctions, and multi-signature wallets.\n\nWhen deploying contracts, you should use the latest released version of Solidity. This is because breaking changes as well as new features and bug fixes are introduced regularly.\n\n**Documentation**:\n\n-   Github: https://github.com/ethereum/solidity\n-   Read the Docs: https://docs.soliditylang.org/en/latest/\n\n## Solidity by Example\n\nAn introduction to Solidity with simple examples.\n\n### Examples\n\nv0.8.10 - [source code \u0026 license](https://github.com/solidity-by-example/solidity-by-example.github.io)\n\n-   [Hello World](./src/0.8/00_hello-world)\n-   [First App](./src/0.8/01_first-app)\n-   [Primitive Data Types](./src/0.8/02_primitives)\n-   [Variables](./src/0.8/03_variables)\n-   [Constants](./src/0.8/04_constants)\n-   [Immutable](./src/0.8/05_immutable)\n-   [Reading and Writing to a State Variable](./src/0.8/06_state-variables)\n-   [Ether and Wei](./src/0.8/07_ether-units)\n-   [Gas and Gas Price](./src/0.8/08_gas)\n-   [If / Else](./src/0.8/09_if-else)\n-   [For and While Loop](./src/0.8/10_loop)\n-   [Mapping](./src/0.8/11_mapping)\n-   [Array](./src/0.8/12_array)\n-   [Enum](./src/0.8/13_enum)\n-   [Structs](./src/0.8/14_structs)\n-   [Data Locations - Storage, Memory and Calldata](./src/0.8/15_data-locations)\n-   [Function](./src/0.8/16_function)\n-   [View and Pure Functions](./src/0.8/17_view-and-pure-functions)\n-   [Error](./src/0.8/18_error)\n-   [Function Modifier](./src/0.8/19_function-modifier)\n-   [Events](./src/0.8/20_events)\n-   [Constructor](./src/0.8/21_constructor)\n-   [Inheritance](./src/0.8/22_inheritance)\n-   [Shadowing Inherited State Variables](./src/0.8/23_shadowing-inherited-state-variables)\n-   [Calling Parent Contracts](./src/0.8/24_calling-parent-contracts)\n-   [Visibility](./src/0.8/25_visibility)\n-   [Interface](./src/0.8/26_interface)\n-   [Payable](./src/0.8/27_payable)\n-   [Sending Ether - Transfer, Send, Call](./src/0.8/28_sending-ether)\n-   [Fallback](./src/0.8/29_fallback)\n-   [Call](./src/0.8/30_call)\n-   [Delegatecall](./src/0.8/31_delegatecall)\n-   [Function Selector](./src/0.8/32_function-selector)\n-   [Calling Other Contract](./src/0.8/33_calling-other-contract)\n-   [Creating Contracts from a Contract](./src/0.8/34_new-contract)\n-   [Try / Catch](./src/0.8/35_try-catch)\n-   [Import](./src/0.8/36_import)\n-   [Library](./src/0.8/37_library)\n-   [ABI Encode](./src/0.8/38_abi-encode)\n-   [ABI Decode](./src/0.8/39_abi-decode)\n-   [Hashing with Keccak256](./src/0.8/40_hashing)\n-   [Verifying Signature](./src/0.8/41_signature)\n-   [Gas Optimizations](./src/0.8/42_gas)\n-   [Bitwise Operators](./src/0.8/43_bitwise-operators)\n\n### Applications\n\n-   [Ether Wallet](./src/0.8/app/00_ether-wallet)\n-   [Multi Sig Wallet](./src/0.8/app/01_multi-sig-wallet)\n-   [Merkle Tree](./src/0.8/app/02_merkle-tree)\n-   [Iterable Mapping](./src/0.8/app/03_iterable-mapping)\n-   [Precompute Contract Address with Create2](./src/0.8/app/04_create2)\n-   [ERC20](./src/0.8/app/05_erc20)\n-   [ERC721](./src/0.8/app/06_erc721)\n-   [Minimal Proxy Contract](./src/0.8/app/07_minimal-proxy)\n-   [Upgradeable Proxy](./src/0.8/app/08_upgradeable-proxy)\n-   [Deploy Any Contract](./src/0.8/app/09_deploy-any-contract)\n-   [Write to Any Slot](./src/0.8/app/10_write-to-any-slot)\n-   [Uni-Directional Payment Channel](./src/0.8/app/11_uni-directional-payment-channel)\n-   [Bi-Directional Payment Channel](./src/0.8/app/12_bi-directional-payment-channel)\n-   [English Auction](./src/0.8/app/13_english-auction)\n-   [Dutch Auction](./src/0.8/app/14_dutch-auction)\n-   [Crowd Fund](./src/0.8/app/15_crowd-fund)\n-   [Multi Call](./src/0.8/app/16_multi-call)\n-   [Multi Delegatecall](./src/0.8/app/17_multi-delegatecall)\n-   [Time Lock](./src/0.8/app/18_time-lock)\n\n### Hacks\n\n-   [Re-Entrancy](./src/0.8/hacks/00_re-entrancy)\n-   [Arithmetic Overflow and Underflow](./src/0.8/hacks/01_overflow)\n-   [Self Destruct](./src/0.8/hacks/02_self-destruct)\n-   [Accessing Private Data](./src/0.8/hacks/03_accessing-private-data)\n-   [Delegatecall](./src/0.8/hacks/04_delegatecall)\n-   [Source of Randomness](./src/0.8/hacks/05_randomness)\n-   [Denial of Service](./src/0.8/hacks/06_denial-of-service)\n-   [Phishing with tx.origin](./src/0.8/hacks/07_phishing-with-tx-origin)\n-   [Hiding Malicious Code with External Contract](./src/0.8/hacks/08_hiding-malicious-code-with-external-contract)\n-   [Honeypot](./src/0.8/hacks/09_honeypot)\n-   [Front Running](./src/0.8/hacks/10_front-running)\n-   [Block Timestamp Manipulation](./src/0.8/hacks/11_block-timestamp-manipulation)\n-   [Signature Replay](./src/0.8/hacks/12_signature-replay)\n-   [Bypass Contract size Check](./src/0.8/hacks/13_bypass-contract-size-check)\n\n### Tests\n\n-   [Echidna](./src/0.8/tests/echidna)\n\n### DeFi\n\n-   [Uniswap V2 Swap](./src/0.8/defi/uniswap-v2)\n-   [Uniswap V2 Add Remove Liquidity](./src/0.8/defi/uniswap-v2-add-remove-liquidity)\n-   [Uniswap V2 Optimal One Sided Supply](./src/0.8/defi/uniswap-v2-optimal-one-sided-supply)\n-   [Uniswap V2 Flash Swap](./src/0.8/defi/uniswap-v2-flash-swap)\n-   [Uniswap V3 Swap](.src/0.8/defi/uniswap-v3-swap)\n-   [Uniswap V3 Liquidity](./src/0.8/defi/uniswap-v3-liquidity)\n-   [Uniswap V3 Flash Loan](./src/0.8/defi/uinswap-v3-flash-loan)\n-   [Uniswap V3 Flash Swap Arbitrage](./src/0.8/defi/uniswap-v3-flash-swap)\n-   [Chainlink Price Oracle](./src/0.8/defi/chainlink-price-oracle)\n-   [Staking Rewards](./src/0.8/defi/staking-rewards)\n-   [Discrete Staking Rewards](./src/0.8/defi/discrete-staking-rewards)\n-   [Vault](./src/0.8/defi/vault)\n-   [Constant Sum AMM](./src/0.8/defi/constant-sum-amm)\n-   [Constant Product AMM](./src/0.8/defi/constant-product-amm)\n-   [Stable Swap AMM](./src/0.8/defi/stable-swap-amm)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F0xmic%2Fsolidity","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F0xmic%2Fsolidity","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F0xmic%2Fsolidity/lists"}