{"id":24106090,"url":"https://github.com/jmsbpp/evm_driven_algorithms_and_data_structures_exercises","last_synced_at":"2025-02-28T00:33:31.904Z","repository":{"id":255905955,"uuid":"851854592","full_name":"JMSBPP/EVM_Driven_Algorithms_and_Data_Structures_Exercises","owner":"JMSBPP","description":"The following repo contains LeetCode exercises on data structures and algorithms implemented in Solidity, Yul, and HUFF.","archived":false,"fork":false,"pushed_at":"2025-01-08T23:01:24.000Z","size":192,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-08T23:56:32.431Z","etag":null,"topics":["algorithms-and-data-structures","evm","huff","machine","opcodes","solidity","virtual","yul"],"latest_commit_sha":null,"homepage":"","language":null,"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/JMSBPP.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,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-09-03T20:06:28.000Z","updated_at":"2025-01-08T23:01:28.000Z","dependencies_parsed_at":null,"dependency_job_id":"71be995c-e91f-467e-a59a-b1f4892814f2","html_url":"https://github.com/JMSBPP/EVM_Driven_Algorithms_and_Data_Structures_Exercises","commit_stats":null,"previous_names":["jmsbpp/data-structures-algorithms","jmsbpp/evm_driven_algorithms_and_data_structures_exercises"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JMSBPP%2FEVM_Driven_Algorithms_and_Data_Structures_Exercises","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JMSBPP%2FEVM_Driven_Algorithms_and_Data_Structures_Exercises/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JMSBPP%2FEVM_Driven_Algorithms_and_Data_Structures_Exercises/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JMSBPP%2FEVM_Driven_Algorithms_and_Data_Structures_Exercises/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JMSBPP","download_url":"https://codeload.github.com/JMSBPP/EVM_Driven_Algorithms_and_Data_Structures_Exercises/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241078863,"owners_count":19905946,"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":["algorithms-and-data-structures","evm","huff","machine","opcodes","solidity","virtual","yul"],"created_at":"2025-01-10T21:17:51.340Z","updated_at":"2025-02-28T00:33:31.695Z","avatar_url":"https://github.com/JMSBPP.png","language":null,"readme":"# EVM Driven Algorithms and Data Structures Exercises\n\u003cdiv style=\"text-align: center;\"\u003e\n  \u003cimg src=\"images/evm.png\" alt=\"Description\" width=\"300\"/\u003e\n\u003c/div\u003e\n\n## About\n\nThis repository is dedicated to exploring and solving LeetCode exercises focused on algorithms and data structures, with a unique emphasis on Ethereum Virtual Machine (EVM) concepts. The exercises are designed to deepen understanding of how EVM operates and how it can be leveraged in algorithmic problem-solving.\n\n### Key Areas of Focus\n\n- **Bitwise Exercises**: Solve LeetCode bitwise problems using the Dafny EVM specification and languages like Yul and Huff. These exercises aim to enhance understanding of low-level operations and EVM's bitwise capabilities.\n\n- **Stack Exercises**: Tackle stack-related problems on LeetCode by applying the Dafny EVM specification and implementing solutions in Yul and Huff. This approach helps in grasping the stack-based nature of EVM and its implications in smart contract development.\n\n- **Program Counter Investigation**: Delve into the workings of the program counter within the EVM. Understanding the program counter is crucial for optimizing smart contract execution and debugging.\n\n- **EVM Storage Structures**: Explore the data structures used in EVM storage. Ethereum utilizes a Merkle Patricia Trie for contract interaction, but for contract storage, it behaves like a hash map. Specifically:\n  - Direct Table: Used for signed or unsigned integers up to 256 bits per slot, booleans, enums, and fixed-length integer structs and arrays.\n  - Hash Table: For other structures, keys are calculated using the Keccak-256 hash function, providing a deeper understanding of how complex data is managed in Ethereum.\n\n## Getting Started\n\nTo get started with the exercises, clone the repository and explore the different directories corresponding to each focus area. Each directory contains detailed explanations and solutions to the problems tackled.\n\n```bash\ngit clone https://github.com/JMSBPP/EVM_Driven_Algorithms_and_Data_Structures_Exercises.git\ncd EVM_Driven_Algorithms_and_Data_Structures_Exercises\n```\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjmsbpp%2Fevm_driven_algorithms_and_data_structures_exercises","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjmsbpp%2Fevm_driven_algorithms_and_data_structures_exercises","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjmsbpp%2Fevm_driven_algorithms_and_data_structures_exercises/lists"}