Example: AI-Powered Predictive Analytics dApp
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
contract AIComputeTask {
uint public taskCount = 0;
struct Task {
uint id;
address requester;
string dataHash;
string modelType;
uint reward;
bool completed;
string resultHash;
}
mapping(uint => Task) public tasks;
event TaskCreated(uint id, address requester, string dataHash, string modelType, uint reward);
event TaskCompleted(uint id, string resultHash);
function createTask(string memory dataHash, string memory modelType) public payable {
require(msg.value > 0, "Reward must be greater than zero");
taskCount++;
tasks[taskCount] = Task(taskCount, msg.sender, dataHash, modelType, msg.value, false, "");
emit TaskCreated(taskCount, msg.sender, dataHash, modelType, msg.value);
}
function completeTask(uint taskId, string memory resultHash) public {
Task storage task = tasks[taskId];
require(task.id == taskId, "Task does not exist");
require(!task.completed, "Task already completed");
task.completed = true;
task.resultHash = resultHash;
payable(msg.sender).transfer(task.reward);
emit TaskCompleted(taskId, resultHash);
}
}
Last updated