- Task Management Contract: Implements a Solidity smart contract for managing a list of tasks, showcasing basic data structures and functionality.
- Educational Focus: Emphasizes practical learning and application of Solidity development principles.
- Code Quality: Follows best practices for smart contract design and implementation.
- Clone the repository.
- Open the project in your preferred development environment.
- Compile the smart contracts using tools like Remix or Foundry.
- Deploy the contracts to an Ethereum testnet of your choice (e.g., Sepolia, Goerli).
- Interact with the deployed contracts via a suitable frontend or directly using Web3.js.
This repository includes a smart contract for managing tasks. Below are the contract's key functionalities:
-
Task Structure:
uint256 taskId
: Unique identifier for tasks.string taskDescription
: Description of the task.bool isCompleted
: Indicates if the task is completed.
-
Core Functions:
createTask(string memory _description)
: Adds a new task with a unique ID.toggleTaskCompletion(uint256 _taskId)
: Toggles the completion status of a task.getTask(uint256 _taskId)
: Fetches task details by ID.getAllTasks()
: Retrieves all tasks as an array.
-
Testing:
- The contract is thoroughly tested in an Ethereum development environment to ensure reliability and correct functionality.
Contributions to this project are welcome. Feel free to open issues or submit pull requests.
This project is licensed under the MIT License.