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:
name
string
Task name
type
int
Task type 0: CPU; 1: GPU
zk_type
string
ZK type (e.g., fil-c2-512M、fil-c2-32G)
input_param
string
Network storage address of the input parameter file for executing UBI-task, compressed in zsdt format (recommended to use MCS storage)
verify_param
string
Network storage address of the input parameter file for verifying UBI-task results (recommended to use MCS storage)
resource_id
int
Resource ID 1,2,3,4
Response:
Request Demo
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:
id
string
Task id
type
int
Task type
zk_type
string
ZK type
proof
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