How to Contribute
To contribute your zk-tasks to the UBI Task Pool, please follow these steps. For each task, submit a separate application. If you have multiple tasks, kindly submit individual applications for each.
Step 1: Fill out Information:
Provide details below and create a new GitHub Issue.
ZK-Task Information:
Describe your zk-task, including task details, completion requirements, and minimal resource prerequisites.
Resource Requirements:
RAM:
Storage:
vCPU numbers:
GPU:
Input Parameters:
Specify input parameters required for your zk-task.
Task Completion:
Clarify the method to complete your task (customized binary, or other).
Output:
Describe the zk proof generated as output.
Verification:
Explain how to verify your proof.
Additional Parameters:
Mention any other necessary parameters.
A complete example: Include the task sample, proof, verify result etc.
Note: Repeat these steps for each zk-task if multiple tasks are being submitted.
Example Application:
ZK-Task Information:
Description: Implementing a customized binary for secure data processing.
Resource Requirements:
RAM: 16GB
Storage: 200GB
vCPU numbers: 4
GPU: Nvidia GTX 1080
Input Parameters: JSON file with task specifications.
Task Completion: Utilize the provided binary for data processing.
Output: ZK proof generated after task completion.
Verification: Refer to the attached verification guide.
Additional Parameters: Any additional information, requirements, or dependencies.
A complete example: Include the task sample, proof, verify result etc.
Submission Guidelines:
Fill out the information above.
Create a new GitHub Issue. with this information.Once the issue is reviewed and approved, we will provide you with the "ubi_engine_base_url" for you to submit your zk-task.
Label the issue with "zk-task" and any specific task identifiers.
We appreciate your contributions to elevate the UBI Task Pool with your innovative zk-tasks.
Step 2: Submit your ZK-task to the UBI Task Pool
You can submit your zk-task to the pool through the API.
Method: [POST] {ubi_hub_base_url}/v1/tasks
Request Parameters:
Parameter | Type | Description |
---|---|---|
| string | Task name |
| int | Task type 0: CPU; 1: GPU |
| string | ZK type (e.g., fil-c2-512M、fil-c2-32G) |
| string | Network storage address of the input parameter file for executing UBI-task, compressed in zsdt format (recommended to use MCS storage) |
| string | Network storage address of the input parameter file for verifying UBI-task results (recommended to use MCS storage) |
| int | Resource ID 1,2,3,4 |
Response:
Request Demo
resourceId | type | cpu | memory_gb | storage_gb |
---|---|---|---|---|
1 | CPU512 | 5 | 3 | 30 |
2 | CPU32G | 8 | 275 | 50 |
3 | GPU512 | 5 | 3 | 30 |
4 | GPU32G | 8 | 275 | 50 |
Note: If the configurations mentioned above (GPU/CPU) do not meet your requirements, please leave your specific requirements in the GitHub issue.
Step 3: Get the ZK-Task Proof
You can request your zk-task's result from the pool through the API.
Method: [GET] {ubi_hub_base_url}/v1/tasks/{taskId}
Request Parameters:
Parameter | Type | Description |
---|---|---|
| string | Task id |
| int | Task type |
| string | ZK type |
| string | Proof/result after the completion of the task |
Response:
Thank you for your contribution, and we hope your zk-task brings added value to the Swan decentralized computing ecosystem!
Last updated