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:

  1. Fill out the information above.

  2. 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.

  3. 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

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

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

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