Skip to content

Get Started

名词解释

为了更好的理解 POB 协议,我们需要提前了解下以下名词概念。

Issuer

Issuer 表示发布工作流的人。 Issuer 需要配置 Workflow 信息以及 Task 信息。

Taker

Taker 表示承接工作流的人,只有 Taker 才可以进行 Workflow 申领、Task 提交。

Workflow

Workflow 表示工作流实例,包含一系列的 Task。

Task

Task 表示真正执行的任务单元,Taker 只能在 Task 上提交任务。

Workflow Template

在创建 Workflow 时,这是一个必选项,它代表着 Workflow 的具体应用场景,用户可以从 Marketplace 中获取 API 中获取。

Task Template

在创建 Workflow 时,需要选择 Task 模板,它代表着支持的任务类型,用户可以从 Marketplace 中获取 API 中获取。

SDK

POB 提供了开箱即用的 JavaScript Client SDK,可以让开发者快速的开发出一个可以在线使用的应用。同时也提供了一个简单的 API 文档,可以帮助开发者快速的了解 POB 的 API。

如果需要直接和合约交互的,请参考 合约 部分。

💡
SDK 分测试网和主网版本,当前 SDK 仅支持测试网。

Installation

# npm
npm install @m7eio/pob-js-sdk-goerli
# yarn
yarn add @m7eio/pob-js-sdk-goerli

How to use

In Browser

Switch to the goerli network and import SDK.

import POB from '@m7eio/pob-js-sdk-goerli'
import Web3Modal from 'web3modal'
import { ethers } from 'ethers'
// ...
// web3 modal params
const w3Modal = new Web3Modal(params)
const instance = await w3Modal.connect()
// ethers.providers.Provider | ethers.Signer
const provider = new ethers.providers.Web3Provider(instance)
const pob = new POB(provider)
// create workflow
pob.workflow.create()
// apply workflow
pob.workflow.apply()
// ...
// apply task
pob.task.apply()
// ...

In Node.js

import POB from '@m7eio/pob-js-sdk-goerli'
import { ethers } from 'ethers'
const provider = new ethers.providers.AlchemyProvider('goerli', 'api key')
const pob = new POB(provider)
// create workflow
pob.workflow.create()
// apply workflow
pob.workflow.apply()
// ...
// apply task
pob.task.apply()
💡
想要了解更过关于 SDK 的使用方法请阅读 SDK