债券市场包装器 API 包

Oracle Blockchain Platform Digital Assets Edition 包含包装 API 程序包,该程序包扩展了 REST API 以支持特定于债券 NFT 市场的操作。

包装器 API 包使用 API 网关服务和 OCI 函数部署 API 路由,专门用于管理债券市场 NFT 生命周期。债券市场包装器 API 软件包可从 Oracle Blockchain Platform 控制台下载,并包含一个归档文件,其中包含包装器 API 软件包,其中包括部署所需的 Terraform 脚本。您可以将此文件部署到 Oracle Cloud Infrastructure (OCI) 上的资源管理器堆栈,以便为包装 API 创建必要的 Oracle 资源。它还包括一个 Postman 集合,使您能够测试部署的包装 API。该集合包括具有端点和有效负载的预配置请求,这些端点和有效负载与包装 API 包中定义的 API 相对应。

包装 API

registerOrg
原始方法名称:registerOrg
此 POST 方法在系统中注册组织。此方法只能由令牌管理员调用。
有效负载:
{
    "orgId": "{{bc-org-id}}",
    "orgName": "org_name value",
    "endorsers": {{endorsers}}
}
参数:
  • orgId: string- 当前组织中用户的成员服务提供商 (membership service provider,MSP) ID。
  • orgName: string-(可选)组织名称。
  • endorsers: string[]- 必须背书事务处理的对等节点(例如 peer1peer2)的数组。
返回值示例:
{
    "assetType": "oorgregistry",
    "org_registry_id": "orgregistry",
    "registered_orgs": [
        {
            "org_id": "Org1MSP",
            "org_name": "Organisation name"
        }
    ]
}
getAllRegisteredOrgs
原始方法名称:getAllRegisteredOrgs
此 GET 方法检索所有注册组织的详细信息。此方法只能由令牌管理员调用。
查询:
/getAllRegisteredOrgs
参数:
返回值示例:
[
    {
        "org_id": "Org1MSP",
        "org_name": "Organisation name"
    }
]
activateAccount
原始方法名称:activateAccount
此 POST 方法激活令牌帐户。此方法只能由管理员或账户所有者调用。无法激活已删除的账户。
有效负载:
{
    "tokenId": "{{bc-token-id}}",
    "orgId": "{{bc-org-id}}",
    "userId": "{{bc-user-id}}",
    "endorsers": {{endorsers}}
}
参数:
  • tokenId: string- 令牌的 ID。
  • orgId: string- 当前组织中用户的成员服务提供商 (membership service provider,MSP) ID。
  • userId: string- 用户的用户名或电子邮件 ID。
返回:
  • 成功时,指定令牌账户的账户状态对象的 JSON 表示形式。
返回值示例:
{
  "assetType": "oaccountStatus",
  "status_id": "oaccountStatus~5a0b0d8b1c6433af9fedfe0d9e6580e7cf6b6bb62a0de6267aaf79f79d5e96d7",
  "account_id": "oaccount~1c568151c4acbcd1bd265c766c677145760a61c47fc8a3ba681a4cfbe287f9c1",
  "status": "active"
}
addTokenAdmin
原始方法名称:addTokenAdmin
此 POST 方法将其他管理员添加到令牌链代码。此方法只能由链代码的令牌管理员调用。
有效负载:
{
    "orgId": "{{bc-org-id}}",
    "userId": "{{bc-user-id}}",
    "endorsers": {{endorsers}}
}
参数:
  • orgId: string- 当前组织中用户的成员服务提供商 (membership service provider,MSP) ID。
  • userId: string- 用户的用户名或电子邮件 ID。
返回:
  • 成功后,将包含作为链代码的 Token Admin 添加的用户详细信息的消息。
返回值示例:
{
  "msg": "Successfully added Admin (OrgId: appDev, UserId: user1)"
}
addRole
原始方法名称:addRole
此 POST 方法将角色添加到指定的用户和令牌。此方法只能由链代码的 Token Admin 调用。非实物标记由标记名称指定。指定的用户必须具有不可替代的令牌帐户。指定的角色必须存在于标记的规范文件中。
有效负载:
{
    "tokenId": "{{bc-token-id}}",
    "orgId": "{{bc-org-id}}",
    "userId": "{{bc-user-id}}",
    "role": "role minter/burner"
    "tokenDetails": "{"tokenName": "token name value"}"
    "endorsers": {{endorsers}}
}
参数:
  • orgId: string- 当前组织中用户的成员服务提供商 (membership service provider,MSP) ID。
  • userId: string- 用户的用户名或电子邮件 ID。
  • role: string- 要添加到指定用户的角色的名称。
  • tokenDetails: TokenDetail- 指定标记的详细信息。对于非易变标记,请使用以下格式:
    {"tokenName":"artCollection"}
返回:
  • 成功后,将显示包含客户详细信息的消息。
返回值示例:
{
  "msg": "Successfully added role 'minter' to Account Id: oaccount~1422a74d262a3a55a37cd9023ef8836f765d0be7b49d397696b9961d7434d22a (Org-Id: appdev, User-Id: idcqa)"
}
approveBondRedemption
原始方法名称:approveBondRedemption
只有令牌创建者才能调用此 POST 方法来批准用于赎回债券令牌的请求。审批操作将债券 NFT 从所有者帐户(提出请求的用户)转移到创建者的帐户,并将 CBDC 令牌从债券创建者的帐户转移到所有者帐户。因此,此方法必须在原子事务的上下文中执行。该方法还验证传输过程,确保使用正确的 orgIduserId 调用适当的 CBDC 链代码进行传输。orgIduserId 必须与提出兑换请求的令牌所有者的帐户相对应,并且 CBDC 令牌传输值必须等于在提出兑换请求时链代码计算的计算兑换价格。
有效负载:
{
   "fromOrgId": "fromOrgId value",
   "fromUserId": "fromUserId value",
   "settlementId": "settlementId value",
   "tokenId": "{{bc-token-id}}",
   "CBDCTokenId": "CBDCTokenId value",
   "CBDCFromOrgId": "CBDCFromOrgId value",
   "CBDCFromUserId": "CBDCFromUserId value",
   "CBDCQuantity": 0,
   "CBDCRemark": "{\\\"category\\\":\\\"category value\\\",\\\"description\\\":\\\"description value\\\"}",
   "endorsers": {{endorsers}}
}
参数:
  • fromOrgId: string- 用户的成员资格服务提供商 (membership service provider,MSP) ID。
  • fromUserId: string- 用户的用户名或电子邮件 ID。
  • settlementId: string- 赎回操作的结算 ID。
  • tokenId: string- 令牌的 ID。
  • CBDCTokenId: string-CBDC 链代码中令牌的 ID。
  • CBDCOrgId: string-CBDC 链代码中用户的 MSP ID。
  • CBDCUserId: string-CBDC 链代码中用户的用户名或电子邮件 ID。
  • CBDCQuantity: string –在 CBDC 链代码中传输的令牌数量。
  • CBDCRemark: string-CBDC 链代码中传输的注释,必须采用前面显示的格式。
返回值示例:
{
   "returnCode":"Success",
   "error":"",
   "result":{
      "transactions":[
         {
            "channel":"test",
            "chaincode":"BondMarketplace",
            "txstatus":"Committed",
            "prepare":{
               "txid":"e969f962df5efda2ea6287380e308cc974efd79dfff3567840ed3844bf936160"
            },
            "commit":{
               "txid":"5544e928d3242291fb39189e8329679a9c81d61d6f72db60ca89135cd20fffef"
            },
            "rollback":{
               
            }
         },
         {
            "channel":"cbdctest",
            "chaincode":"cbdc",
            "txstatus":"Committed",
            "prepare":{
               "txid":"1245885b1a0c7f12c41fa2f2905549b8a5f37ab3a5e094b9dca122cb0611a117"
            },
            "commit":{
               "txid":"3c83e20c7d470cdc9c1b0e2e0ea8d9962d58ada8d1b8f0d2606c8aa1f0ae7741"
            },
            "rollback":{
               
            }
         }
      ],
      "lrc":{
         
      },
      "globalStatus":"Success",
      "globalTxid":"761bb7cc-1d66-4645-aeb2-50e4dbd23d83",
      "txStartTime":"2024-12-05T12:01:21.881988035Z"
   }
}
balanceOfBatch
原始方法名称:balanceOfBatch
此 GET 方法完成获取令牌帐户余额的批处理操作。账户详细信息在三个单独的组织 ID、用户 ID 和令牌 ID 列表中指定。此方法只能由链代码的 Token Admin 或帐户所有者调用。账户所有者只能查看他们拥有的账户的余额详细信息。
查询:
/balanceOfBatch?orgIds=["{{bc-org-id}}"]&userIds=["{{bc-user-id}}"]&tokenIds=["{{bc-token-id}}"]
参数:
  • orgIds: string[]- 当前组织中的成员服务提供商 (Membership Service Provider,MSP) ID 的列表。
  • userIds: string[]- 用户名或电子邮件 ID 的列表。
  • tokenIds: string[]- 令牌 ID 的列表。
返回值示例:

在以下示例中,令牌 ID FNFT 表示小数不可变令牌,令牌 ID FT 表示可变令牌。

[
    {
        "orgId": "appdev",
        "userId": "idcqa",
        "userAccountId": "ouaccount~412de5e3998dcd100973e1bad6e8729fddc1c7ff610beab8376d733a35c51f38",
        "tokenAccountId": "oaccount~e88276a3be547e31b567346bdddde52d37734da4d5fae83ab2e5c98a10097371",
        "tokenId": "FNFT",
        "balance": 100
    },
    {
        "orgId": "appdev",
        "userId": "idcqa",
        "userAccountId": "ouaccount~412de5e3998dcd100973e1bad6e8729fddc1c7ff610beab8376d733a35c51f38",
        "tokenAccountId": "oaccount~21206f309941a2a23c4f158a0fe1b8f12bb8e2b0c9a2e1358f5efebc0c7d410e",
        "tokenId": "FT",
        "balance": 50
    },
    {
        "orgId": "appdev",
        "userId": "user1_minter",
        "userAccountId": "ouaccount~9501bb774c156eb8354dfe489250ea91f757523d70f08ee494bda98bb352003b",
        "tokenAccountId": "oaccount~dcee860665db8740cb77b846e823752185a1e9a185814d0acb305890f5903446",
        "tokenId": "FNFT",
        "balance": 10
    }
]
batchTransferFrom
原始方法名称:batchTransferFrom
此 POST 方法完成将令牌 ID 列表中指定的令牌从一个用户传输到另一个用户的批处理操作。
有效负载:
{
 "fromOrgId": "fromOrgId value",
 "fromUserId": "fromUserId value",
 "toOrgId": "toOrgId value",
 "toUserId": "toUserId value",
 "tokenIds": "[\"{{bc-token-id}}\"]",
 "quantity": "[quantity value]",
 "endorsers": {{endorsers}}
}
参数:
  • fromOrgId: string- 当前组织中发送者和令牌所有者的成员资格服务提供商 (Membership Service Provider,MSP) ID。
  • fromUserId: string- 发件人和令牌所有者的用户名或电子邮件 ID。
  • toOrgId: string- 当前组织中接收者的成员服务提供商 (MSP) ID。
  • toUserId: string- 接收者的用户名或电子邮件 ID。
  • tokenIds: string[]- 要传输的令牌的令牌 ID 列表。
  • quantity: number[]- 要传输的令牌数量的列表,对应于令牌 ID 数组。
返回:
  • 成功后,将显示一条消息,其中包含每个令牌传输的详细信息。
返回值示例:
[
    {
        "msg": "Successfully transferred NFT token: 'FNFT' of '10' quantity from Account-Id: oaccount~e88276a3be547e31b567346bdddde52d37734da4d5fae83ab2e5c98a10097371 (Org-Id: appdev, User-Id: idcqa) to Account-Id: oaccount~dcee860665db8740cb77b846e823752185a1e9a185814d0acb305890f5903446 (Org-Id: appdev, User-Id: user1_minter)"
    },
    {
        "msg": "Successfully transferred 10 FT token: 'FT' from Account-Id: oaccount~21206f309941a2a23c4f158a0fe1b8f12bb8e2b0c9a2e1358f5efebc0c7d410e (Org-Id: appdev, User-Id: idcqa) to Account-Id: oaccount~1089ee5122f367ee0ca38c6660298f4b81f199627e4f67f3691c0f628237974c (Org-Id: appdev, User-Id: user1_minter)"
    },
    {
        "msg": "Successfully transferred NFT token: 'NFT' from Account-Id: oaccount~e88276a3be547e31b567346bdddde52d37734da4d5fae83ab2e5c98a10097371 (Org-Id: appdev, User-Id: idcqa) to Account-Id: oaccount~dcee860665db8740cb77b846e823752185a1e9a185814d0acb305890f5903446 (Org-Id: appdev, User-Id: user1_minter)"
    }
]
burnBatch
原始方法名称:burnBatch
此 POST 方法将停用或刻录指定的标记。具有刻录角色的任何用户都可以调用此方法。
有效负载:
{
 "orgId": "{{bc-org-id}}",
 "userId": "{{bc-user-id}}",
 "tokenIds": "[\"{{bc-token-id}}\"]",
 "quantity": "[quantity value]",
 "sameOrgEndorser": true
}
参数:
  • orgId: string- 当前组织中的成员服务提供商 (membership service provider,MSP) ID。
  • userId: string- 用户名或电子邮件 ID。
  • tokenIds: string[]- 要燃烧的令牌 ID 的列表
  • quantity: number[]- 要消耗的令牌数量的列表,对应于令牌 ID 数组。
返回:
  • 成功后,将显示一条消息,其中包含有关刻录操作的详细信息。
返回值示例:
[
  {
    "msg": "Successfully burned NFT token: 'art' from Account-Id: oaccount~76cb672eeb1bd535899562a840d0c15a356db89e24bc8b43ac1dba845a4282c6 (Org-Id: appdev, User-Id: idcqa)"
  },
  {
    "msg": "Successfully burned 5 tokens of tokenId: tokenOne from Account-ID oaccount~1422a74d262a3a55a37cd9023ef8836f765d0be7b49d397696b9961d7434d22a (Org-Id: appdev, User-Id: idcqa)"
  },
  {
    "msg": "Successfully burned 2 token share of tokenId: FNFT from Account-ID oaccount~87bcb699d507368ee3966cd03ee6d7736ffc55dde8c0f0e16b14866334ac504a (Org-Id: AutoF1377358917, User-Id: idcqa)"
  }
]
createAccount
原始方法名称:createAccount
此 POST 方法为指定的用户创建帐户,并为令牌创建关联的令牌帐户。必须为在任何时候将具有令牌的任何用户创建账户。用户帐户跟踪 NFT 帐户和用户持有的可变令牌帐户。用户必须在网络中具有帐户才能完成与令牌相关的操作。此方法只能由链代码的 Token Admin 调用。

用户帐户具有唯一的 ID,该 ID 由 orgId 参数和 userId 参数的 SHA-256 散列构成。

用户可以具有多个具有唯一账户 ID 的可替换令牌账户。可替换令牌帐户 ID 由 orgId 参数的 SHA-256 散列、userId 参数、由波浪号 (~) 分隔的常量字符串 ft 和表示由波浪号 (~) 分隔创建的可替换帐户索引的计数器编号构成。

用户只能有一个不可替代的令牌账户。非易变令牌帐户 ID 是唯一的,由 orgId 参数的 SHA-256 散列、userId 参数和以波浪号 (~) 分隔的常量字符串 nft 构成。用户拥有的所有非可换代币(无论是整数还是小数)都将链接到此账户。

有效负载:
{
 "orgId": "{{bc-org-id}}",
 "userId": "{{bc-user-id}}",
 "ftAccount": true,
 "nftAccount": true,
 "endorsers": {{endorsers}}
}
参数:
  • orgId- 要为其创建帐户的用户的成员资格服务提供商 (membership service provider,MSP) ID。ID 必须以字母数字字符开头,并且可以包含字母、数字和特殊字符,例如下划线 (_)、句点 (.)、点号 (@) 和连字符 (-)。
  • userId- 用户的用户名或电子邮件 ID。ID 必须以字母数字字符开头,并且可以包含字母、数字和特殊字符,例如下划线 (_)、句点 (.)、点号 (@) 和连字符 (-)。
  • ftAccount: boolean- 如果为 true,将创建可变令牌帐户并将其与用户帐户关联。
  • nftAccount: boolean- 如果为 true,将创建不可替换的令牌帐户并将其与用户帐户关联。
返回:
  • 成功时,已创建的账户的 JSON 对象。
返回值示例:
{
  "assetType": "ouaccount",
  "accountId": "ouaccount~cf20877546f52687f387e7c91d88b9722c97e1a456cc0484f40c747f7804feae",
  "userId": "user1",
  "orgId": "appdev",
  "totalAccounts": 2,
  "totalFtAccounts": 1,
  "associatedFtAccounts": [
    {
      "accountId": "oaccount~60bb20c14a83f6e426e1437c479c5891e1c6477dfd7ad18b73acac5d80bc504b",
      "tokenId": ""
    }
  ],
  "associatedNftAccount": "oaccount~73c3e835dac6d0a56ca9d8def08269f83cefd59b9d297fe2cdc5a9083828fa58"
}
createAccountWithEnrollment
原始方法名称:createAccountWithEnrollment
此 POST 方法为实例的 REST 代理中的用户创建注册,并在债券市场链代码中创建 NFT 账户。
有效负载:
{
 "orgId": "orgId value",
 "userId": "userId value"
}
参数:
  • orgId: string- 当前组织中用户的成员服务提供商 (membership service provider,MSP) ID。
  • userId: string- 用户的用户名或电子邮件 ID。
返回:
  • 成功时,已创建的账户的 JSON 对象。
返回值示例:
{
 "blockNumber": 44,
 "encode": "JSON",
 "payload": {
 "accountId": "ouaccount~1930ec223036c0fe2ea97c58fd9a8d2456d13c0fd0c98217ce075ceddb8add02",
 "assetType": "ouaccount",
 "associatedFtAccounts": [],
 "associatedNftAccount": "oaccount~03f8a6949f6c5c453354a4a8eed8503a39766085b476430e95ce305769fba861",
 "orgId": "BondMPTest",
 "totalAccounts": 1,
 "totalFtAccounts": 0,
 "userId": "u14"
 },
 "sourceURL": "bondmptest-oabcs1-iad.blockchain.ocp.example.com:20010",
 "txid": "9fa75a631f0de2ddf2ed85742dcc4d4b97b7afb0d3f9a07988e5cb9120ed633f"
}
createBondToken
原始方法名称:createBondToken
此 POST 方法创建令牌。所定义的每个标记都有其自己的创建方法。对于非可换代币,此方法的调用方将成为 NFT 的所有者。如果在令牌模型 behaviors 属性中定义了 roles 行为并且指定了 minter_role_name,则调用方帐户必须具有 minter 角色。
有效负载:
{
 "tokenAsset": "{\"tokenId\":\"{{bc-token-id}}\",\"tokenDesc\":\"tokenDesc value\",\"tokenUri\":\"tokenUri value\",\"tokenMetadata\":{\"ISIN\":\"ISIN value\",\"Segment\":\"Segment value\",\"Issuer\":\"Issuer value\",\"FaceValue\":999,\"IssueSize\":999,\"CouponRate\":999,\"InterestPaymentType\":\"InterestPaymentType value\",\"InterestFrequency\":\"InterestFrequency value\",\"IssueDate\":\"2023-03-28T15:16:36+00:00\",\"MaturityDate\":\"2023-03-28T15:16:36+00:00\"},\"status\":\"status value\"}",
 "quantity": 1,
 "sameOrgEndorser": true
}
参数:
  • tokenAsset: <Token Class>- 令牌资产。资产的属性在模型文件中定义。
  • quantity: number- 要铸造的标记数。此参数唯一支持的值是 1
返回:
  • 成功时,已创建的账户的 JSON 对象。
返回值示例:
{
            "tokenMetadata": {
                "ISIN": "ISIN value",
                "Segment": "Segment value",
                "Issuer": "Issuer value",
                "FaceValue": 999,
                "IssueSize": 999,
                "CouponRate": 999,
                "InterestPaymentType": "simple",
                "InterestFrequency": "monthly",
                "IssueDate": "2023-03-28T15:16:36.000Z",
                "MaturityDate": "2023-03-28T15:16:36.000Z"
            },
            "assetType": "otoken",
            "events": false,
            "tokenId": "token2",
            "tokenName": "bond",
            "tokenDesc": "tokenDesc value",
            "tokenStandard": "erc1155+",
            "tokenType": "nonfungible",
            "tokenUnit": "fractional",
            "behaviors": [
                "divisible",
                "mintable",
                "transferable",
                "burnable",
                "roles"
            ],
            "roles": {
                "minter_role_name": "minter",
                "burner_role_name": "burner"
            },
            "mintable": {
                "max_mint_quantity": 0
            },
            "quantity": 10,
            "createdBy": "oaccount~85dfd98d1b99e5b8891e0a0fdcd7d2e07fc5d37958f5d2a5796290b6a9204a43",
            "creationDate": "2024-12-03T12:07:24.000Z",
            "divisible": {
                "decimal": 0
            },
            "isBurned": false,
            "isLocked": false,
            "tokenUri": "tokenUri value",
            "status": "created"
}
createIDCSUser
原始方法名称:createIDCSUser
此 POST 方法在 terraform.tfvars 文件中的 URL 指定的租户中创建 Identity Cloud Service 用户,并将该用户分配给指定的用户组。
有效负载:
{
 "userName": "userName value",
 "firstName": "firstName value",
 "lastName": "lastName value",
 "email": "email value",
 "groupName": "groupName value"
}
参数:
  • userName: string- 用户的 ID。
  • firstName: string –用户的名字。
  • lastName: string –用户的姓。
  • email: string –用户的电子邮件地址。
  • groupName: string- 要分配给用户的 Identity Cloud Service 组的名称。
返回值示例:
{
 "status": "Success",
 "msg": "User user1 is created and assigned to the group BOND_ADMIN"
}
createTokenAccount
原始方法名称:createTokenAccount
此 POST 方法创建可替换或不可替换的令牌帐户以与用户帐户关联。

用户可以具有多个具有唯一账户 ID 的可替换令牌账户。可替换令牌帐户 ID 由 orgId 参数的 SHA-256 散列、userId 参数、由波浪号 (~) 分隔的常量字符串 ft 和表示由波浪号 (~) 分隔创建的可替换帐户索引的计数器编号构成。

用户只能有一个不可替代的令牌账户。非易变令牌帐户 ID 是唯一的,由 orgId 参数的 SHA-256 散列、userId 参数和以波浪号 (~) 分隔的常量字符串 nft 构成。用户拥有的所有非可换代币(无论是整数还是小数)都将链接到此账户。

此方法只能由链代码的 Token Admin 调用。

有效负载:
{
 "orgId": "{{bc-org-id}}",
 "userId": "{{bc-user-id}}",
 "tokenType": "nonfungible",
 "endorsers": {{endorsers}}
}
参数:
  • orgId: string- 当前组织中用户的成员服务提供商 (membership service provider,MSP) ID。
  • userId: string- 用户的用户名或电子邮件 ID。
  • tokenType: TokenType- 要创建的令牌帐户的类型。唯一支持的标记类型是 nonfungiblefungible
返回:
  • 成功时,已创建的令牌账户的 JSON 对象。
返回值示例:
{
  "assetType": "ouaccount",
  "accountId": "ouaccount~24ffd4d32a028a85b4b960f5d55536c837b5429bc7f346150adfa904ec2937cc",
  "userId": "user2",
  "orgId": "appdev",
  "totalAccounts": 1,
  "totalFtAccounts": 1,
  "associatedFtAccounts": [
    {
      "accountId": "oaccount~1422a74d262a3a55a37cd9023ef8836f765d0be7b49d397696b9961d7434d22a",
      "tokenId": ""
    }
  ],
  "associatedNftAccount": ""
}
createUserAccount
原始方法名称:createUserAccount
此 POST 方法为指定的用户创建帐户。必须为在任何时候将具有令牌的任何用户创建账户。用户帐户跟踪 NFT 帐户和用户拥有的可替换令牌帐户。用户必须在网络中具有帐户才能完成与令牌相关的操作。

帐户 ID 是 orgId 参数和 userId 参数的 SHA-256 散列。此方法只能由链代码的 Token Admin 调用。

有效负载:
{
 "orgId": "{{bc-org-id}}",
 "userId": "{{bc-user-id}}",
 "endorsers": {{endorsers}}
}
参数:
  • orgId: string- 当前组织中用户的成员服务提供商 (membership service provider,MSP) ID。
  • userId: string- 用户的用户名或电子邮件 ID。
返回:
  • 成功后,创建的用户帐户的 JSON 对象。
返回值示例:
{
  "assetType": "ouaccount",
  "accountId": "ouaccount~24ffd4d32a028a85b4b960f5d55536c837b5429bc7f346150adfa904ec2937cc",
  "userId": "user2",
  "orgId": "appdev",
  "totalAccounts": 0,
  "totalFtAccounts": 0,
  "associatedFtAccounts": [],
  "associatedNftAccount": ""
}
deleteAccount
原始方法名称:deleteAccount
此 POST 方法将删除令牌帐户。此方法只能由链代码的 Token Admin 调用。如果未在分类账中找到账户的 accountStatus 值,则此方法将引发错误。
有效负载:
{
 "orgId": "{{bc-org-id}}",
 "userId": "{{bc-user-id}}",
 "endorsers": {{endorsers}}
}
参数:
  • orgId: string- 当前组织中用户的成员服务提供商 (membership service provider,MSP) ID。
  • userId: string- 用户的用户名或电子邮件 ID。
返回:
  • 成功时,标记帐户状态的 JSON 表示形式。
返回值示例:
{
  "assetType": "oaccountStatus",
  "statusId": "oaccountStatus~5a0b0d8b1c6433af9fedfe0d9e6580e7cf6b6bb62a0de6267aaf79f79d5e96d7",
  "accountId": "oaccount~1c568151c4acbcd1bd265c766c677145760a61c47fc8a3ba681a4cfbe287f9c1",
  "status": "deleted"
}
getAccount
原始方法名称:getAccount
此 GET 方法返回指定用户的令牌帐户详细信息。此方法只能由链代码的 Token Admin 或帐户的 Account Owner 调用。
查询:
/getAccount?orgId={{bc-org-id}}&userId={{bc-user-id}}
参数:
  • orgId: string- 当前组织中用户的成员服务提供商 (membership service provider,MSP) ID。
  • userId: string- 用户的用户名或电子邮件 ID。
  • tokenId?: string- 对于不可替换的令牌帐户,为空字符串。对于可变令牌帐户,表示令牌 ID。
返回:
  • 成功后,包含令牌账户详细信息的 JSON 对象。
返回值示例
{
    "assetType": "oaccount",
    "accountId": "oaccount~e88276a3be547e31b567346bdddde52d37734da4d5fae83ab2e5c98a10097371",
    "userId": "user2",
    "orgId": "AppBldFFFFMay22",
    "tokenType": "nonfungible",
    "noOfNfts": 3
}
getAccountBondSummary
原始方法名称:getAccountBondSummary
此 GET 方法返回指定用户的帐户摘要,包括已购买或已兑换的令牌及其购买和兑换价格的详细信息。
查询:
/getAccount?orgId={{bc-org-id}}&userId={{bc-user-id}}
参数:
  • orgId: string- 当前组织中用户的成员服务提供商 (membership service provider,MSP) ID。
  • userId: string- 用户的用户名或电子邮件 ID。
返回:
  • 成功时,包含令牌账户概要的 JSON 对象。
返回值示例
[
 {
   "userAccountId":"ouaccount~df36ebaeb728c7768c0d5a3ecab435985c506ff57fd582212029b6f3c9cabf14",
   "orgId":"BondMPTest",
   "userId":"u10",
   "accountSummary":[
      {
         "purchasedQuantity":1,
         "assetType":"oUserBondDetails",
         "id":"ouserbonddetails~ed3aaa9979bfe6302dcc83b1b903bd383fda60ff17747ca25af3369e26289747~bond1~op1",
         "tokenId":"bond1",
         "status":"Redeemed",
         "purchasedAmount":11,
         "purchasedDate":"2024-12-02T00:00:00.000Z",
         "purchasedFromAccountId":"ouaccount~e76f696c0d6c626b24d35b3ac21de377a6da24c1bfdab1411f6702a507003a15",
         "orderId":"op1"
         "redeemPrice":11,
         "quantityRedeem":1,
         "redeemStatus":"REJECTED"
      },
      {
         "purchasedQuantity":1,
         "assetType":"oUserBondDetails",
         "id":"ouserbonddetails~ed3aaa9979bfe6302dcc83b1b903bd383fda60ff17747ca25af3369e26289747~bond1~op2",
         "tokenId":"bond1",
         "status":"Purchased",
         "purchasedAmount":11,
         "purchasedDate":"2024-12-02T00:00:00.000Z",
         "purchasedFromAccountId":"ouaccount~e76f696c0d6c626b24d35b3ac21de377a6da24c1bfdab1411f6702a507003a15",
         "orderId":"op2",
         "redeemPrice":11,
         "quantityRedeem":1,
         "redeemStatus":"APPROVED"
      }
   ]
getAccountBondSummaryWithPagination
原始方法名称:getAccountBondSummaryWithPagination
此 GET 方法返回指定用户的帐户摘要,包括已购买或已兑换的令牌及其购买和兑换价格的详细信息。此方法可以根据页面大小和书签值使用分页返回结果,还可以按开始时间和结束时间进行筛选。
查询:
/getAccountBondSummary?orgId={{bc-org-id}}&userId={{bc-user-id}}&pageSize=1&bookmark={{bookmark}}
参数:
  • orgId: string- 当前组织中用户的成员服务提供商 (membership service provider,MSP) ID。
  • userId: string- 用户的用户名或电子邮件 ID。
  • pageSize: number- 返回结果的页面大小。
  • bookmark: string –返回结果的书签。
返回:
  • 成功时,包含令牌账户概要的 JSON 对象。
返回值示例
[
 {

   "userAccountId":"ouaccount~df36ebaeb728c7768c0d5a3ecab435985c506ff57fd582212029b6f3c9cabf14",
   "orgId":"BondMPTest",
   "userId":"u10",
   "accountSummary":[
      {
         "purchasedQuantity":1,
         "assetType":"oUserBondDetails",
         "id":"ouserbonddetails~ed3aaa9979bfe6302dcc83b1b903bd383fda60ff17747ca25af3369e26289747~bond1~op1",
         "tokenId":"bond1",
         "status":"Redeemed",
         "purchasedAmount":11,
         "purchasedDate":"2024-12-02T00:00:00.000Z",
         "purchasedFromAccountId":"ouaccount~e76f696c0d6c626b24d35b3ac21de377a6da24c1bfdab1411f6702a507003a15",
         "orderId":"op1"
         "redeemPrice":11,
         "quantityRedeem":1,
         "redeemStatus":"REJECTED"
      },
      {
         "purchasedQuantity":1,
         "assetType":"oUserBondDetails",
         "id":"ouserbonddetails~ed3aaa9979bfe6302dcc83b1b903bd383fda60ff17747ca25af3369e26289747~bond1~op2",
         "tokenId":"bond1",
         "status":"Purchased",
         "purchasedAmount":11,
         "purchasedDate":"2024-12-02T00:00:00.000Z",
         "purchasedFromAccountId":"ouaccount~e76f696c0d6c626b24d35b3ac21de377a6da24c1bfdab1411f6702a507003a15",
         "orderId":"op2",
         "redeemPrice":11,
         "quantityRedeem":1,
         "redeemStatus":"APPROVED"
      }
   ]
getAccountDetailsByUser
原始方法名称:getAccountDetailsByUser
此 GET 方法返回指定用户的帐户摘要以及与该用户关联的可互换和不可互换标记的详细信息。此方法只能由链代码的 Token Admin 或帐户的 Account Owner 调用。
查询:
/getAccountDetailsByUser?orgId={{bc-org-id}}&userId={{bc-user-id}}
参数:
  • orgId: string- 当前组织中用户的成员服务提供商 (membership service provider,MSP) ID。
  • userId: string- 用户的用户名或电子邮件 ID。
返回:
  • 成功后,JSON 帐户对象将包括指定用户的帐户摘要以及与用户关联的可替换和不可替换标记的详细信息。对于小数不可换代标记,associatedNFTs 部分中的 tokenShare 属性显示用户拥有的共享资源。
返回值示例:
{
    "userAccountId": "ouaccount~412de5e3998dcd100973e1bad6e8729fddc1c7ff610beab8376d733a35c51f38",
    "associatedFTAccounts": [
        {
            "accountId": "oaccount~21206f309941a2a23c4f158a0fe1b8f12bb8e2b0c9a2e1358f5efebc0c7d410e",
            "tokenId": "FT",
            "balance": 50
        }
    ],
    "associatedNFTAccount": {
        "accountId": "oaccount~e88276a3be547e31b567346bdddde52d37734da4d5fae83ab2e5c98a10097371",
        "associatedNFTs": [
            {
                "nftTokenId": "FNFT",
                "tokenShare": 100
            },
            {
                "nftTokenId": "FNFT2",
                "tokenShare": 110
            },
            {
                "nftTokenId": "NFT"
            }
        ]
    }
}
getAccountStatus
原始方法名称:getAccountStatus
此 GET 方法检索令牌帐户的当前状态。链代码的 Token Admin 或令牌帐户所有者可以调用此方法。
查询:
/getAccountStatus?orgId={{bc-org-id}}&userId={{bc-user-id}}
参数:
  • orgId: string- 当前组织中用户的成员服务提供商 (membership service provider,MSP) ID。
  • userId: string- 用户的用户名或电子邮件 ID。
返回:
  • 成功时,标记帐户状态的 JSON 表示形式。
返回值示例:
{
    "assetType": "oaccountStatus",
    "statusId": "oaccountStatus~5a0b0d8b1c6433af9fedfe0d9e6580e7cf6b6bb62a0de6267aaf79f79d5e96d7",
    "accountId": "oaccount~1c568151c4acbcd1bd265c766c677145760a61c47fc8a3ba681a4cfbe287f9c1",
    "status": "active"
}
getAccountStatusHistory
原始方法名称:getAccountStatusHistory
此 GET 方法检索帐户状态的历史记录。链代码的 Token Admin 或令牌帐户所有者可以调用此方法。
查询:
/getAccountStatusHistory?orgId={{bc-org-id}}&userId={{bc-user-id}}
参数:
  • orgId: string- 当前组织中用户的成员服务提供商 (membership service provider,MSP) ID。
  • userId: string- 用户的用户名或电子邮件 ID。
返回:
  • 成功后,账户状态历史记录采用 JSON 格式。
返回值示例:
[
  {
    "trxId": "d5c6d6f601257ba9b6edaf5b7660f00adc13c37d5321b8f7d3a35afab2e93e63",
    "timeStamp": "2022-12-02T10:39:14.000Z",
    "value": {
      "assetType": "oaccountStatus",
      "statusId": "oaccountStatus~5a0b0d8b1c6433af9fedfe0d9e6580e7cf6b6bb62a0de6267aaf79f79d5e96d7",
      "accountId": "oaccount~1c568151c4acbcd1bd265c766c677145760a61c47fc8a3ba681a4cfbe287f9c1",
      "status": "suspended"
    }
  },
  {
    "trxId": "e6c850cfa084dc20ad95fb2bb8165eef3a3bd62a0ac867cccee57c2003125183",
    "timeStamp": "2022-12-02T10:37:50.000Z",
    "value": {
      "assetType": "oaccountStatus",
      "statusId": "oaccountStatus~5a0b0d8b1c6433af9fedfe0d9e6580e7cf6b6bb62a0de6267aaf79f79d5e96d7",
      "accountId": "oaccount~1c568151c4acbcd1bd265c766c677145760a61c47fc8a3ba681a4cfbe287f9c1",
      "status": "active"
    }
  }
]
getAccountTransactionHistory
原始方法名称:getAccountTransactionHistory
此 GET 方法返回账户事务处理历史记录。此方法只能由链代码的 Token Admin 或帐户所有者调用。
/getAccountTransactionHistory?orgId={{bc-org-id}}&userId={{bc-user-id}}
参数:
  • orgId: string- 当前组织中用户的成员服务提供商 (membership service provider,MSP) ID。
  • userId: string- 用户的用户名或电子邮件 ID。
返回值示例:
[
    {
        "transactionId": "otransaction~3a6b23c3003626f3947e990eddbd7ac23398d2200e2eb3eac745e6ddfae140bc~7c88c736df38d5622512f1e8dcdd50710eb47c953f1ecb24ac44790a9e2f475b",
        "timestamp": "2023-06-06T14:48:08.000Z",
        "tokenId": "FNFT",
        "transactedAmount": 10,
        "triggeredByUserAccountId": "ouaccount~412de5e3998dcd100973e1bad6e8729fddc1c7ff610beab8376d733a35c51f38",
        "transactedAccount": "oaccount~dcee860665db8740cb77b846e823752185a1e9a185814d0acb305890f5903446",
        "transactionType": "DEBIT",
        "balance": 90
    },
    {
        "transactionId": "otransaction~3a6b23c3003626f3947e990eddbd7ac23398d2200e2eb3eac745e6ddfae140bc~178e3730bc5bee50d02f1464a4eebf733a051905f651e5789039adb4a3edc114",
        "timestamp": "2023-06-06T14:48:08.000Z",
        "tokenId": "NFT",
        "triggeredByUserAccountId": "ouaccount~412de5e3998dcd100973e1bad6e8729fddc1c7ff610beab8376d733a35c51f38",
        "transactedAccount": "oaccount~dcee860665db8740cb77b846e823752185a1e9a185814d0acb305890f5903446",
        "transactionType": "DEBIT"
    },
    {
        "transactionId": "otransaction~c369929e28e78de06c72d020f1418c9a154a7dd280b2e22ebb4ea4485e249124~a7cefb22ff39ee7e36967be71de27da6798548c872061a62dabc56d88d50b930",
        "timestamp": "2023-06-06T14:47:08.000Z",
        "tokenId": "NFT",
        "triggeredByUserAccountId": "ouaccount~412de5e3998dcd100973e1bad6e8729fddc1c7ff610beab8376d733a35c51f38",
        "transactedAccount": "oaccount~e88276a3be547e31b567346bdddde52d37734da4d5fae83ab2e5c98a10097371",
        "transactionType": "MINT"
    },
    {
        "transactionId": "otransaction~114a1bc78d04be48ee6dc140c32c042ee9481cb118959626f090eec744522422~e4eb15d9354f694230df8835ade012100d82aa43672896a2c7125a86e3048f9f",
        "timestamp": "2023-06-05T17:17:57.000Z",
        "tokenId": "FNFT",
        "transactedAmount": 100,
        "triggeredByUserAccountId": "ouaccount~412de5e3998dcd100973e1bad6e8729fddc1c7ff610beab8376d733a35c51f38",
        "transactedAccount": "oaccount~e88276a3be547e31b567346bdddde52d37734da4d5fae83ab2e5c98a10097371",
        "transactionType": "MINT",
        "balance": 100
    }
]
getAccountsByRole
原始方法名称:getAccountsByRole
此 GET 方法返回指定角色和令牌的所有帐户 ID 的列表。
查询:
/getAccountsByRole?role=role value (for example minter / burner)&tokenDetail={"tokenName":"tokenName value"}
参数:
  • role: string- 要搜索的角色的名称。
  • tokenDetail: JSON- 对于可变令牌,表示令牌 ID。对于不可替代的令牌,需要令牌名称。
返回值示例:
{
  "accounts": [
    "oaccount~1422a74d262a3a55a37cd9023ef8836f765d0be7b49d397696b9961d7434d22a",
    "oaccount~60bb20c14a83f6e426e1437c479c5891e1c6477dfd7ad18b73acac5d80bc504b"
  ]
}
getAllAccounts
原始方法名称:getAllAccounts
此 GET 方法返回所有用户帐户的详细信息。此方法只能由链代码的 Token Admin 调用。
查询:
/getAllAccounts
参数:
返回:
  • 成功后,所有帐户的 JSON 数组。
返回值示例:
[
        {
            "assetType": "ouaccount",
            "accountId": "ouaccount~412de5e3998dcd100973e1bad6e8729fddc1c7ff610beab8376d733a35c51f38",
            "userId": "user2",
            "orgId": "appdev",
            "totalAccounts": 2,
            "totalFtAccounts": 1,
            "associatedFtAccounts": [
                {
                    "accountId": "oaccount~21206f309941a2a23c4f158a0fe1b8f12bb8e2b0c9a2e1358f5efebc0c7d410e",
                    "tokenId": "loy1"
                }
            ],
            "associatedNftAccount": "oaccount~e88276a3be547e31b567346bdddde52d37734da4d5fae83ab2e5c98a10097371"
        },
        {
            "assetType": "ouaccount",
            "accountId": "ouaccount~9501bb774c156eb8354dfe489250ea91f757523d70f08ee494bda98bb352003b",
            "userId": "user1_minter",
            "orgId": "appdev",
            "totalAccounts": 2,
            "totalFtAccounts": 1,
            "associatedFtAccounts": [
                {
                    "accountId": "oaccount~1089ee5122f367ee0ca38c6660298f4b81f199627e4f67f3691c0f628237974c",
                    "tokenId": "loy1"
                }
            ],
            "associatedNftAccount": "oaccount~dcee860665db8740cb77b846e823752185a1e9a185814d0acb305890f5903446"
        },
    ]
getAllTokenAdmins
原始方法名称:getAllTokenAdmins
此 GET 方法返回链代码为 Token Admin 的所有用户的列表。此方法只能由链代码的 Token Admin 调用。
查询:
/getAllTokenAdmins
参数:
返回:
  • 成功后,包含 orgIduserId 对象的 JSON 格式的 admins 数组。
返回值示例:
{
  "admins": [
    {
      "orgId": "appdev",
      "userId": "user2"
    },
    {
      "orgId": "appdev",
      "userId": "user1"
    }
  ]
}
getAllTokens
原始方法名称:getAllTokens
此方法返回保存在状态数据库中的所有令牌资产。此方法只能由链代码的 Token Admin 调用。此方法使用 Berkeley DB SQL 丰富的查询,并且只能在连接到远程 Oracle Blockchain Platform 网络时调用。
/getAllTokens
参数:
返回:
  • JSON 格式的所有标记资产的列表。
返回值示例:
[{
            "tokenMetadata": {
                "ISIN": "ISIN value",
                "Segment": "Segment value",
                "Issuer": "Issuer value",
                "FaceValue": 999,
                "IssueSize": 999,
                "CouponRate": 999,
                "InterestPaymentType": "simple",
                "InterestFrequency": "monthly",
                "IssueDate": "2023-03-28T15:16:36.000Z",
                "MaturityDate": "2023-03-28T15:16:36.000Z"
            },
            "assetType": "otoken",
            "events": false,
            "tokenId": "token2",
            "tokenName": "bond",
            "tokenDesc": "tokenDesc value",
            "tokenStandard": "erc1155+",
            "tokenType": "nonfungible",
            "tokenUnit": "fractional",
            "behaviors": [
                "divisible",
                "mintable",
                "transferable",
                "burnable",
                "roles"
            ],
            "roles": {
                "minter_role_name": "minter",
                "burner_role_name": "burner"
            },
            "mintable": {
                "max_mint_quantity": 0
            },
            "quantity": 10,
            "createdBy": "oaccount~85dfd98d1b99e5b8891e0a0fdcd7d2e07fc5d37958f5d2a5796290b6a9204a43",
            "creationDate": "2024-12-03T12:07:24.000Z",
            "divisible": {
                "decimal": 0
            },
            "isBurned": false,
            "isLocked": false,
            "tokenUri": "tokenUri value",
            "status": "status value"
}]
getAllTokensByUser
原始方法名称:getAllTokensByUser
此 GET 方法返回指定用户拥有的所有令牌资产。此方法使用 Berkeley DB SQL 丰富的查询,并且只能在连接到远程 Oracle Blockchain Platform 网络时调用。此方法只能由链代码的 Token Admin 或帐户所有者调用。
查询:
/getAllTokensByUser?orgId={{bc-org-id}}&userId={{bc-user-id}}
参数:
  • orgId: string- 当前组织中用户的成员服务提供商 (membership service provider,MSP) ID。
  • userId: string- 用户的用户名或电子邮件 ID。
返回值示例:
[{
            "tokenMetadata": {
                "ISIN": "ISIN value",
                "Segment": "Segment value",
                "Issuer": "Issuer value",
                "FaceValue": 999,
                "IssueSize": 999,
                "CouponRate": 999,
                "InterestPaymentType": "simple",
                "InterestFrequency": "monthly",
                "IssueDate": "2023-03-28T15:16:36.000Z",
                "MaturityDate": "2023-03-28T15:16:36.000Z"
            },
            "assetType": "otoken",
            "events": false,
            "tokenId": "token2",
            "tokenName": "bond",
            "tokenDesc": "tokenDesc value",
            "tokenStandard": "erc1155+",
            "tokenType": "nonfungible",
            "tokenUnit": "fractional",
            "behaviors": [
                "divisible",
                "mintable",
                "transferable",
                "burnable",
                "roles"
            ],
            "roles": {
                "minter_role_name": "minter",
                "burner_role_name": "burner"
            },
            "mintable": {
                "max_mint_quantity": 0
            },
            "quantity": 10,
            "createdBy": "oaccount~85dfd98d1b99e5b8891e0a0fdcd7d2e07fc5d37958f5d2a5796290b6a9204a43",
            "creationDate": "2024-12-03T12:07:24.000Z",
            "divisible": {
                "decimal": 0
            },
            "isBurned": false,
            "isLocked": false,
            "tokenUri": "tokenUri value",
            "status": "status value"
}]
getAllTokensWithFilters
原始方法名称:getAllTokensWithFilters
管理员可以调用此 GET 方法来提取按状态筛选的所有令牌。
查询:
/getAllTokensWithFilters?status=status&pageSize=pageSize&bookmark=bookmark
参数:
  • status: string- 令牌的状态,可以是 CREATEDPOSTED
  • pageSize: number- 返回结果的页面大小。
  • bookmark: string –返回结果的书签。
返回值示例:
[{
            "tokenMetadata":{
               "ISIN":"ISIN value",
               "Segment":"Segment value",
               "Issuer":"Issuer value",
               "FaceValue":10,
               "IssueSize":999,
               "CouponRate":10,
               "InterestPaymentType":"simple",
               "InterestFrequency":"monthly",
               "IssueDate":"2023-03-28T15:16:36.000Z",
               "MaturityDate":"2023-03-28T15:16:36.000Z"
            },
            "assetType":"otoken",
            "events":true,
            "tokenId":"bond1",
            "tokenName":"bond",
            "tokenDesc":"tokenDesc value",
            "tokenStandard":"erc1155+",
            "tokenType":"nonfungible",
            "tokenUnit":"fractional",
            "behaviors":[
               "divisible",
               "mintable",
               "transferable",
               "burnable",
               "roles"
            ],
            "roles":{
               "minter_role_name":"minter",
               "burner_role_name":"burner"
            },
            "mintable":{
               "max_mint_quantity":0
            },
            "quantity":100,
            "createdBy":"oaccount~276bcf1324b1ad1e493e22432db3b39f7a4b9bb17b8525c0391ea3ba36138e00",
            "creationDate":"2024-12-02T12:42:09.000Z",
            "divisible":{
               "decimal":0
            },
            "isBurned":false,
            "isLocked":false,
            "tokenUri":"tokenUri value",
            "status":"posted"
         }

]
getTokenApprovalRequestByUser
原始方法名称:getTokenApprovalRequestByUser
任何帐户持有者都可以调用此 GET 方法来获取他们所做的所有令牌审批请求(赎回请求)的详细信息。
查询:
/getTokenApprovalRequestByUser?status=status value
参数:
  • status: string- 请求的状态,可以是 PENDINGREJECTEDAPPROVED
返回值示例:
[
   {
      "tokenName":"bond",
      "assetType":"otokenApproval",
      "id":"otokenApproval~5b2a94283ae95e3d6e5b76ffd6f75b7bff231e4df270a82cdc1f6badd17dea4b",
      "settlementId":"op1",
      "userBondDetailsId":"ouserbonddetails~ed3aaa9979bfe6302dcc83b1b903bd383fda60ff17747ca25af3369e26289747~bond1~op1",
      "fromAccountId":"ouaccount~df36ebaeb728c7768c0d5a3ecab435985c506ff57fd582212029b6f3c9cabf14",
      "toAccountId":"ouaccount~e76f696c0d6c626b24d35b3ac21de377a6da24c1bfdab1411f6702a507003a15",
      "tokenId":"bond1",
      "quantity":2,
      "status":"APPROVED",
      "orderId":"op1",
      "redeemPrice":1,
      "purchasedPrice":11,
      "interestEarned":0
   },
   {
      "tokenName":"bond",
      "assetType":"otokenApproval",
      "id":"otokenApproval~fdf28b2d271ac9c0fbd94a2dedbf365728c77795f3e931e5a4a2dcf48039a989",
      "settlementId":"op3",
      "userBondDetailsId":"ouserbonddetails~ed3aaa9979bfe6302dcc83b1b903bd383fda60ff17747ca25af3369e26289747~bond1~op3",
      "fromAccountId":"ouaccount~df36ebaeb728c7768c0d5a3ecab435985c506ff57fd582212029b6f3c9cabf14",
      "toAccountId":"ouaccount~e76f696c0d6c626b24d35b3ac21de377a6da24c1bfdab1411f6702a507003a15",
      "tokenId":"bond1",
      "quantity":1,
      "status":"APPROVED",
      "orderId":"op3",
      "redeemPrice":11,
      "purchasedPrice":11,
      "interestEarned":0
   }
]
getTokenApprovalRequestForUserByStatus
原始方法名称:getTokenApprovalRequestByUser
任何帐户持有者都可以调用此 GET 方法来获取他们所做的所有令牌审批请求(赎回请求)的详细信息。
查询:
/getTokenApprovalRequestForUserByStatus?status=status value
参数:
  • status: string- 请求的状态,可以是 PENDINGREJECTEDAPPROVED
返回值示例:
[
   {
      "tokenName":"bond",
      "assetType":"otokenApproval",
      "id":"otokenApproval~5b2a94283ae95e3d6e5b76ffd6f75b7bff231e4df270a82cdc1f6badd17dea4b",
      "settlementId":"op1",
      "userBondDetailsId":"ouserbonddetails~ed3aaa9979bfe6302dcc83b1b903bd383fda60ff17747ca25af3369e26289747~bond1~op1",
      "fromAccountId":"ouaccount~df36ebaeb728c7768c0d5a3ecab435985c506ff57fd582212029b6f3c9cabf14",
      "toAccountId":"ouaccount~e76f696c0d6c626b24d35b3ac21de377a6da24c1bfdab1411f6702a507003a15",
      "tokenId":"bond1",
      "quantity":2,
      "status":"APPROVED",
      "orderId":"op1",
      "redeemPrice":1,
      "purchasedPrice":11,
      "interestEarned":0
   },
   {
      "tokenName":"bond",
      "assetType":"otokenApproval",
      "id":"otokenApproval~fdf28b2d271ac9c0fbd94a2dedbf365728c77795f3e931e5a4a2dcf48039a989",
      "settlementId":"op3",
      "userBondDetailsId":"ouserbonddetails~ed3aaa9979bfe6302dcc83b1b903bd383fda60ff17747ca25af3369e26289747~bond1~op3",
      "fromAccountId":"ouaccount~df36ebaeb728c7768c0d5a3ecab435985c506ff57fd582212029b6f3c9cabf14",
      "toAccountId":"ouaccount~e76f696c0d6c626b24d35b3ac21de377a6da24c1bfdab1411f6702a507003a15",
      "tokenId":"bond1",
      "quantity":1,
      "status":"APPROVED",
      "orderId":"op3",
      "redeemPrice":11,
      "purchasedPrice":11,
      "interestEarned":0
   }
]
getTokenById
原始方法名称:getTokenById
如果令牌存在于状态数据库中,则此 GET 方法将返回令牌对象。对于小数 NFT,也会返回所有者列表。此方法只能由链代码的 Token Admin 或令牌所有者调用。
查询:
/getTokenById?tokenId={{bc-token-id}}
参数:
  • tokenId: string- 要获取的令牌的 ID。
返回值示例:
[{
            "tokenMetadata":{
               "ISIN":"ISIN value",
               "Segment":"Segment value",
               "Issuer":"Issuer value",
               "FaceValue":10,
               "IssueSize":999,
               "CouponRate":10,
               "InterestPaymentType":"simple",
               "InterestFrequency":"monthly",
               "IssueDate":"2023-03-28T15:16:36.000Z",
               "MaturityDate":"2023-03-28T15:16:36.000Z"
            },
            "assetType":"otoken",
            "events":true,
            "tokenId":"bond1",
            "tokenName":"bond",
            "tokenDesc":"tokenDesc value",
            "tokenStandard":"erc1155+",
            "tokenType":"nonfungible",
            "tokenUnit":"fractional",
            "behaviors":[
               "divisible",
               "mintable",
               "transferable",
               "burnable",
               "roles"
            ],
            "roles":{
               "minter_role_name":"minter",
               "burner_role_name":"burner"
            },
            "mintable":{
               "max_mint_quantity":0
            },
            "quantity":100,
            "createdBy":"oaccount~276bcf1324b1ad1e493e22432db3b39f7a4b9bb17b8525c0391ea3ba36138e00",
            "creationDate":"2024-12-02T12:42:09.000Z",
            "divisible":{
               "decimal":0
            },
            "isBurned":false,
            "isLocked":false,
            "tokenUri":"tokenUri value",
            "status":"posted"
         }

]
getTokenHistory
原始方法名称:getTokenHistory
此 GET 方法返回指定令牌 ID 的历史记录。
查询:
/getTokenHistory?tokenId={{bc-token-id}}
参数:
  • tokenId: string- 令牌的 ID。
返回:
  • 成功后,包含令牌历史记录的 JSON 数组。
返回值示例:
[{
            "tokenMetadata":{
               "ISIN":"ISIN value",
               "Segment":"Segment value",
               "Issuer":"Issuer value",
               "FaceValue":10,
               "IssueSize":999,
               "CouponRate":10,
               "InterestPaymentType":"simple",
               "InterestFrequency":"monthly",
               "IssueDate":"2023-03-28T15:16:36.000Z",
               "MaturityDate":"2023-03-28T15:16:36.000Z"
            },
            "assetType":"otoken",
            "events":true,
            "tokenId":"bond1",
            "tokenName":"bond",
            "tokenDesc":"tokenDesc value",
            "tokenStandard":"erc1155+",
            "tokenType":"nonfungible",
            "tokenUnit":"fractional",
            "behaviors":[
               "divisible",
               "mintable",
               "transferable",
               "burnable",
               "roles"
            ],
            "roles":{
               "minter_role_name":"minter",
               "burner_role_name":"burner"
            },
            "mintable":{
               "max_mint_quantity":0
            },
            "quantity":100,
            "createdBy":"oaccount~276bcf1324b1ad1e493e22432db3b39f7a4b9bb17b8525c0391ea3ba36138e00",
            "creationDate":"2024-12-02T12:42:09.000Z",
            "divisible":{
               "decimal":0
            },
            "isBurned":false,
            "isLocked":false,
            "tokenUri":"tokenUri value",
            "status":"posted"
         }

]
getUsersByRole
原始方法名称:getUsersByRole
此方法返回指定角色和令牌的所有用户的列表。此方法只能由链代码的 Token Admin 调用。
查询:
/getUsersByRole?role=role value (for example minter / burner)&tokenDetail={"tokenName":"tokenName value"}
参数:
  • role: string- 要搜索的角色的名称。
  • tokenDetail: JSON- 对于可变令牌,表示令牌 ID。对于不可替代的令牌,需要令牌名称。
返回值示例:
{
    "users": [
        {
            "accountId": "oaccount~1422a74d262a3a55a37cd9023ef8836f765d0be7b49d397696b9961d7434d22a",
            "orgId": "appdev",
            "userId": "user2"
        },
        {
            "accountId": "oaccount~60bb20c14a83f6e426e1437c479c5891e1c6477dfd7ad18b73acac5d80bc504b",
            "orgId": "appdev",
            "userId": "user1"
        }
    ]
}
init
原始方法名称:init
实例化链代码时会调用此 POST 方法。每个 Token Admin 都由 adminList 参数中的 userIdorgId 信息标识。userId 是实例所有者或登录到实例的用户的用户名或电子邮件 ID。orgId 是当前网络组织中用户的成员服务提供商 (Membership Service Provider,MSP) ID。首次部署链代码时,adminList 参数是必需的。如果要升级链代码,请传递空列表 ([])。如果您是最初部署链代码的用户,则还可以在升级链代码时在 adminList 参数中指定新管理员。升级期间将忽略 adminList 参数中的任何其他信息。
有效负载:
{
 "adminList": "[{\"orgId\":\"{{bc-org-id}}\",\"userId\":\"{{bc-user-id}}\"}]"
}
参数:
  • adminList array-{orgId, userId} 信息数组,用于指定令牌管理员的列表。adminList 数组是必需参数。
返回:
  • 成功后,将出现无有效负载的消息。
返回值示例:
{
}
isInRole
原始方法名称:isInRole
此 GET 方法返回布尔值以指示用户是否具有指定的角色。非实物标记由标记名称指定。此方法只能由链代码的 Token Admin 或帐户的 Account Owner 调用。指定的用户必须具有与可交换令牌关联的令牌帐户,或者具有 NFT 角色的非可交换令牌帐户。指定的角色必须存在于标记的规范文件中。
查询:
/isInRole?orgId={{bc-org-id}}&userId={{bc-user-id}}&role=role value (for example minter / burner)&tokenDetail={"tokenName":"tokenName value"}
参数:
  • orgId: string- 当前组织中用户的成员服务提供商 (membership service provider,MSP) ID。
  • userId: string- 用户的用户名或电子邮件 ID。
  • role: string- 要搜索的角色的名称。
  • tokenDetails: TokenDetail- 指定标记的详细信息。对于非易变标记,请使用以下格式:
    {"tokenName":"artCollection"}
返回值示例:
{
    "result": true,
    "msg": "Account Id oaccount~1422a74d262a3a55a37cd9023ef8836f765d0be7b49d397696b9961d7434d22a (Org-Id: appdev, User-Id: idcqa) has minter role"
}
isTokenAdmin
原始方法名称:isTokenAdmin
如果函数的调用方为 Token Admin,则此 GET 方法返回布尔值 true,否则返回 false。此方法只能由链代码的 Token Admin 调用。
/isTokenAdmin?orgId={{bc-org-id}}&userId={{bc-user-id}}
参数:
  • orgId: string- 当前组织中用户的成员服务提供商 (membership service provider,MSP) ID。
  • userId: string- 用户的用户名或电子邮件 ID。
返回:
  • 如果调用方为 Token Admin,则该方法返回 true,否则返回 false
返回值示例:
{"result": true}
mintBatch
原始方法名称:mintBatch
此 POST 方法在批处理操作中创建 (mint) 多个标记。此方法仅创建可替换令牌或小数非可替换令牌。

对于可变令牌,如果 minter 角色在规范文件中定义,则具有 minter 角色的任何用户都可以调用此方法。如果没有,任何用户都可以使用此方法来创建标记。如果该属性是在创建或更新令牌时指定的,则不能超过令牌的 max_mint_quantity 属性。

对于非可换代币,如果在规范文件中定义了 minter 角色,则具有 minter 角色的任何用户都可以调用此方法。如果没有,任何用户都可以使用此方法来创建标记。此外,调用者还必须是令牌的创建者。可以铸造的小数非实物代币的数量没有上限。

不能使用此方法来模拟整个不可替换标记。

有效负载:
{
 "orgId": "{{bc-org-id}}",
 "userId": "{{bc-user-id}}",
 "tokenIds": "[\"{{bc-token-id}}\"]",
 "quantity": "[quantity value]",
 "sameOrgEndorser": true
}
参数:
  • orgId: string- 当前组织中用户的成员服务提供商 (membership service provider,MSP) ID。
  • userId: string- 用户的用户名或电子邮件 ID。
  • tokenIds: string[]- 要为其生成标记的标记 ID 列表。
  • quantity: number[]- 与标记 ID 数组相对应的标记数量列表。
返回:
  • 成功后,JSON 对象将包含铸造标记的详细信息。
返回值示例:
{
    "msg": "Successfully minted batch of tokens for User-Account-Id ouaccount~412de5e3998dcd100973e1bad6e8729fddc1c7ff610beab8376d733a35c51f38 (Org-Id: appdev, User-Id: idcqa).",
    "details": [
        {
            "msg": "Successfully minted 100 tokens of fractional tokenId: plot55 to Org-Id: appdev, User-Id: idcqa"
        },
        {
            "msg": "Successfully minted 100 tokens of tokenId: loyalty to Token-Account-Id oaccount~21206f309941a2a23c4f158a0fe1b8f12bb8e2b0c9a2e1358f5efebc0c7d410e"
        }
    ]
}
ownerOf
原始方法名称:ownerOf
此 GET 方法返回指定令牌 ID 的所有者的帐户 ID、组织 ID 和用户 ID。任何人都可以调用此方法。
查询:
/ownerOf?tokenId={{bc-token-id}}
参数:
  • tokenId: string- 令牌的 ID。
返回值示例:
[
    {
        "accountId": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d",
        "orgId": "Org1MSP",
        "userId": "admin"
    },
    {
        "accountId": "oaccount~74108eca702bab6d8548e740254f2cc7955d886885251d52d065042172a59db0",
        "orgId": "Org1MSP",
        "userId": "user"
    }
]
payInterest
原始方法名称:ownerOf
此 POST 方法只能由令牌创建者或管理员调用以支付债券令牌上获得的利息。仅当令牌的利息频率为每月、每季度或每年时,才能调用此方法。如果利息频率已到期,则无法支付利息。利息由链代码根据令牌的息票利率计算。采购操作将 CBDC 令牌从呼叫者的帐户转移到债券所有者的帐户。因此,此方法必须在原子事务处理的上下文中运行。该方法还验证传输过程,确保使用正确的 orgIduserId 调用适当的 CBDC 链代码进行传输。orgIduserId 必须对应于令牌所有者,并且 CBDC 令牌传输值必须等于债券链代码计算的利息。
有效负载:
{
 "orgId": "{{bc-org-id}}",
 "userId": "{{bc-user-id}}",
 "tokenId": "{{bc-token-id}}",
 "orderId": "orderId value",
 "CBDCTokenId": "CBDCTokenId value",
 "CBDCFromOrgId": "CBDCFromOrgId value",
 "CBDCFromUserId": "CBDCFromUserId value",
 "CBDCQuantity": 0,
 "CBDCRemark": "{\\\"category\\\":\\\"category value\\\",\\\"description\\\":\\\"description value\\\"}",
 "endorsers": {{endorsers}}
}
参数:
  • orgId: string- 用户的成员资格服务提供商 (membership service provider,MSP) ID。
  • userId: string- 用户的用户名或电子邮件 ID。
  • tokenId: string- 令牌的 ID。
  • orderId: string- 操作的订单 ID。
  • CBDCTokenId: string-CBDC 链代码中令牌的 ID。
  • CBDCOrgId: string-CBDC 链代码中用户的 MSP ID。
  • CBDCUserId: string-CBDC 链代码中用户的用户名或电子邮件 ID。
  • CBDCQuantity: string –在 CBDC 链代码中传输的令牌数量。
  • CBDCRemark: string-CBDC 链代码中传输的注释,必须采用前面显示的格式。
返回值示例:
{
   "returnCode":"Success",
   "error":"",
   "result":{
      "transactions":[
         {
            "channel":"test",
            "chaincode":"BondMarketplace",
            "txstatus":"Committed",
            "prepare":{
               "txid":"e969f962df5efda2ea6287380e308cc974efd79dfff3567840ed3844bf936160"
            },
            "commit":{
               "txid":"5544e928d3242291fb39189e8329679a9c81d61d6f72db60ca89135cd20fffef"
            },
            "rollback":{
               
            }
         },
         {
            "channel":"cbdctest",
            "chaincode":"cbdc",
            "txstatus":"Committed",
            "prepare":{
               "txid":"1245885b1a0c7f12c41fa2f2905549b8a5f37ab3a5e094b9dca122cb0611a117"
            },
            "commit":{
               "txid":"3c83e20c7d470cdc9c1b0e2e0ea8d9962d58ada8d1b8f0d2606c8aa1f0ae7741"
            },
            "rollback":{
               
            }
         }
      ],
      "lrc":{
         
      },
      "globalStatus":"Success",
      "globalTxid":"761bb7cc-1d66-4645-aeb2-50e4dbd23d83",
      "txStartTime":"2024-12-05T12:01:21.881988035Z"
   }
}
postBondToken
原始方法名称:postBondToken
此 POST 方法只能由令牌创建者调用。该方法提交债券令牌以在市场中列出。创建令牌时,其状态最初设置为 created。此方法将状态更新为 posted。用户可以运行 getAllTokensWithFilter 方法来检索状态为 posted 的所有 NFT。
有效负载:
{
 "tokenId": "{{bc-token-id}}",
 "sameOrgEndorser": true
}
参数:
  • tokenId: string- 要发布的令牌的 ID。
返回值示例:
{
         "isValid":true,
         "payload":{
            "tokenMetadata":{
               "ISIN":"ISIN value",
               "Segment":"Segment value",
               "Issuer":"Issuer value",
               "FaceValue":10,
               "IssueSize":999,
               "CouponRate":10,
               "InterestPaymentType":"simple",
               "InterestFrequency":"monthly",
               "IssueDate":"2023-03-28T15:16:36.000Z",
               "MaturityDate":"2023-03-28T15:16:36.000Z"
            },
            "assetType":"otoken",
            "events":true,
            "tokenId":"bond1",
            "tokenName":"bond",
            "tokenDesc":"tokenDesc value",
            "tokenStandard":"erc1155+",
            "tokenType":"nonfungible",
            "tokenUnit":"fractional",
            "behaviors":[
               "divisible",
               "mintable",
               "transferable",
               "burnable",
               "roles"
            ],
            "roles":{
               "minter_role_name":"minter",
               "burner_role_name":"burner"
            },
            "mintable":{
               "max_mint_quantity":0
            },
            "quantity":100,
            "createdBy":"oaccount~276bcf1324b1ad1e493e22432db3b39f7a4b9bb17b8525c0391ea3ba36138e00",
            "creationDate":"2024-12-02T12:42:09.000Z",
            "divisible":{
               "decimal":0
            },
            "isBurned":false,
            "isLocked":false,
            "tokenUri":"tokenUri value",
            "status":"created"
         },
         "message":"Successfully updated asset with ID bond1"
      }
purchaseBondToken
原始方法名称:purchaseBondToken
任何账户持有人都可以调用此 POST 方法来购买列出的债券 NFT。采购将债券 NFT 从创建者的帐户转移到调用者的帐户,并将 CBDC 令牌从调用者的帐户转移到创建者的帐户。因此,该方法必须在原子事务的上下文中运行。该方法还验证传输过程,确保使用正确的 orgIduserId 来调用相应的 CBDC 链代码以进行传输。orgIduserId 必须与令牌创建者相对应,并且 CBDC 令牌传输值必须等于债券令牌的面值乘以所购买的数量加上附加费用。
有效负载:
{
 "tokenId": "{{bc-token-id}}",
 "quantity": 1,
 "orderId": "orderId value",
 "additionalFees": 1,
 "CBDCTokenId": "CBDCTokenId value",
 "CBDCFromOrgId": "CBDCFromOrgId value",
 "CBDCFromUserId": "CBDCFromUserId value",
 "CBDCQuantity": 0,
 "CBDCRemark": "{\\\"category\\\":\\\"category value\\\",\\\"description\\\":\\\"description value\\\"}",
 "endorsers": {{endorsers}}
}
参数:
  • tokenId: string- 要购买的令牌的 ID。
  • orgId: string- 用户的成员资格服务提供商 (membership service provider,MSP) ID。
  • userId: string- 用户的用户名或电子邮件 ID。
  • settlementId: string- 操作的结算 ID。
  • CBDCTokenId: string-CBDC 链代码中令牌的 ID。
  • CBDCOrgId: string-CBDC 链代码中用户的 MSP ID。
  • CBDCUserId: string-CBDC 链代码中用户的用户名或电子邮件 ID。
  • CBDCQuantity: string –在 CBDC 链代码中传输的令牌数量。
  • CBDCRemark: string-CBDC 链代码中传输的注释,必须采用前面显示的格式。
返回值示例:
{
   "returnCode":"Success",
   "error":"",
   "result":{
      "transactions":[
         {
            "channel":"test",
            "chaincode":"BondMarketplace",
            "txstatus":"Committed",
            "prepare":{
               "txid":"e969f962df5efda2ea6287380e308cc974efd79dfff3567840ed3844bf936160"
            },
            "commit":{
               "txid":"5544e928d3242291fb39189e8329679a9c81d61d6f72db60ca89135cd20fffef"
            },
            "rollback":{
               
            }
         },
         {
            "channel":"cbdctest",
            "chaincode":"cbdc",
            "txstatus":"Committed",
            "prepare":{
               "txid":"1245885b1a0c7f12c41fa2f2905549b8a5f37ab3a5e094b9dca122cb0611a117"
            },
            "commit":{
               "txid":"3c83e20c7d470cdc9c1b0e2e0ea8d9962d58ada8d1b8f0d2606c8aa1f0ae7741"
            },
            "rollback":{
               
            }
         }
      ],
      "lrc":{
         
      },
      "globalStatus":"Success",
      "globalTxid":"761bb7cc-1d66-4645-aeb2-50e4dbd23d83",
      "txStartTime":"2024-12-05T12:01:21.881988035Z"
   }
}
rejectBondRedemption
原始方法名称:rejectBondRedemption
令牌创建者可以调用此 POST 方法来拒绝兑换请求。令牌所有者可以使用其他结算 ID 再次提出赎回请求。
有效负载:
{
 "fromOrgId": "fromOrgId value",
 "fromUserId": "fromUserId value",
 "settlementId": "settlementId value",
 "tokenId": "{{bc-token-id}}",
 "endorsers": {{endorsers}}
}
参数:
  • fromOrgId: string- 用户的成员资格服务提供商 (membership service provider,MSP) ID。
  • fromUserId: string- 用户的用户名或电子邮件 ID。
  • settlementId: string- 赎回操作的结算 ID。
  • tokenId: string- 令牌的 ID。
返回值示例:
{
   "status":"success",
   "msg":"Successfully rejected the token approval request"
}
removeRole
原始方法名称:removeRole
此 POST 方法从指定用户和令牌中删除角色。可替换标记由标记 ID 指定。非实物标记由标记名称指定。此方法只能由链代码的 Token Admin 调用。
{
 "orgId": "{{bc-org-id}}",
 "userId": "{{bc-user-id}}",
 "role": "role value (for example minter / burner)",
 "tokenDetail": "{\"tokenName\":\"tokenName value\"}",
 "endorsers": {{endorsers}}
}
参数:
  • orgId: string- 当前组织中用户的成员服务提供商 (membership service provider,MSP) ID。
  • userId: string- 用户的用户名或电子邮件 ID。
  • role: string- 要从指定用户中删除的角色的名称。
  • tokenDetails: TokenDetail- 指定标记的详细信息。对于非易变标记,请使用以下格式:
    {"tokenName":"artCollection"}
返回值示例:
{
  "msg": "Successfully removed role 'minter' from Account Id: oaccount~60bb20c14a83f6e426e1437c479c5891e1c6477dfd7ad18b73acac5d80bc504b (Org-Id: appdev, User-Id: user1)"
}
removeTokenAdmin
原始方法名称:removeTokenAdmin
此 POST 方法将用户删除为链代码的 Token Admin。此方法只能由链代码的 Token Admin 调用。您无法将自己删除为 Token Admin
有效负载:
{
 "orgId": "{{bc-org-id}}",
 "userId": "{{bc-user-id}}",
 "sameOrgEndorser": true
}
参数:
  • orgId: string- 当前组织中用户的成员服务提供商 (membership service provider,MSP) ID。
  • userId: string- 用户的用户名或电子邮件 ID。
返回:
  • 成功后,将包含被删除为链代码 Token Admin 的用户的详细信息的消息。
返回值示例:
{"msg": "Successfully removed Admin (OrgId: appDev, UserId: user1)"}
requestBondRedemption
原始方法名称:requestBondRedemption
此 POST 方法只能由令牌所有者调用,以便在到期后发出赎回债券令牌的请求。此方法还涉及链代码计算赎回价格。只能对用户拥有的债券令牌的全部数量提出赎回请求。用户可以根据不同的结算 ID 提出多个兑换请求,但令牌创建者只能批准一个兑换请求。
有效负载:
{
 "settlementId": "settlementId value",
 "tokenId": "{{bc-token-id}}",
 "orderId": "orderId value",
 "additionalFees": 1,
 "endorsers": {{endorsers}}
}
参数:
  • settlementId: string- 赎回操作的结算 ID。
  • tokenId: string- 令牌的 ID。
  • orderId: string —购买操作的订单 ID。
  • additionalFees: number —添加到兑换价格的额外费用。
返回值示例:
{
         "tokenName":"bond",
         "assetType":"otokenApproval",
         "id":"otokenApproval~9e006057ac96ae997e3964531b1a08ad2316555701c7fe9ec7b88e38e20892bf",
         "settlementId":"op4",
         "userBondDetailsId":"ouserbonddetails~ed3aaa9979bfe6302dcc83b1b903bd383fda60ff17747ca25af3369e26289747~bond1~op4",
         "fromAccountId":"ouaccount~df36ebaeb728c7768c0d5a3ecab435985c506ff57fd582212029b6f3c9cabf14",
         "toAccountId":"ouaccount~e76f696c0d6c626b24d35b3ac21de377a6da24c1bfdab1411f6702a507003a15",
         "tokenId":"bond1",
         "quantity":1,
         "status":"PENDING",
         "orderId":"op4",
         "redeemPrice":11

}
safeBatchTransferFrom
原始方法名称:safeBatchTransferFrom
此 POST 方法完成将令牌 ID 列表中指定的令牌从一个用户传输到另一个用户的批处理操作。

对于 NFT,由于该方法转移了 NFT 的所有权,因此 NFT 的发送者必须拥有该令牌。

对于小数 NFT,如果用户(包括令牌的创建者)传输他们拥有的所有共享资源,则他们将失去令牌的所有权。如果令牌的任何共享资源传输给用户,则该用户将自动成为小数 NFT 的所有者之一。

方法的调用方必须是指定的发送方。

{
 "fromOrgId": "fromOrgId value",
 "fromUserId": "fromUserId value",
 "toOrgId": "toOrgId value",
 "toUserId": "toUserId value",
 "tokenIds": "[\"{{bc-token-id}}\"]",
 "quantity": "[quantity value]",
 "endorsers": {{endorsers}}
}
参数:
  • fromOrgId: string- 当前组织中发送者和令牌所有者的成员资格服务提供商 (Membership Service Provider,MSP) ID。
  • fromUserId: string- 发件人和令牌所有者的用户名或电子邮件 ID。
  • toOrgId: string- 当前组织中接收者的成员服务提供商 (MSP) ID。
  • toUserId: string- 接收者的用户名或电子邮件 ID。
  • tokenIds: string[]- 要传输的令牌的令牌 ID 列表。
  • quantity: number[]- 要传输的令牌数量的列表,对应于令牌 ID 数组。
返回:
  • 成功后,将显示一条消息,其中包含每个令牌传输的详细信息。
返回值示例:
[
    {
        "msg": "Successfully transferred NFT token: 'FNFT' of '10' quantity from Account-Id: oaccount~e88276a3be547e31b567346bdddde52d37734da4d5fae83ab2e5c98a10097371 (Org-Id: appdev, User-Id: idcqa) to Account-Id: oaccount~dcee860665db8740cb77b846e823752185a1e9a185814d0acb305890f5903446 (Org-Id: appdev, User-Id: user1_minter)"
    },
    {
        "msg": "Successfully transferred 10 FT token: 'FT' from Account-Id: oaccount~21206f309941a2a23c4f158a0fe1b8f12bb8e2b0c9a2e1358f5efebc0c7d410e (Org-Id: appdev, User-Id: idcqa) to Account-Id: oaccount~1089ee5122f367ee0ca38c6660298f4b81f199627e4f67f3691c0f628237974c (Org-Id: appdev, User-Id: user1_minter)"
    },
    {
        "msg": "Successfully transferred NFT token: 'NFT' from Account-Id: oaccount~e88276a3be547e31b567346bdddde52d37734da4d5fae83ab2e5c98a10097371 (Org-Id: appdev, User-Id: idcqa) to Account-Id: oaccount~dcee860665db8740cb77b846e823752185a1e9a185814d0acb305890f5903446 (Org-Id: appdev, User-Id: user1_minter)"
    }
]
suspendAccount
原始方法名称:suspendAccount
此 POST 方法暂停令牌帐户。此方法只能由链代码的 Token Admin 调用。账户挂起后,您无法完成任何更新账户的操作。已删除的账户无法暂停。
有效负载:
{
 "orgId": "{{bc-org-id}}",
 "userId": "{{bc-user-id}}",
 "endorsers": {{endorsers}}
}
参数:
  • orgId: string- 当前组织中用户的成员服务提供商 (membership service provider,MSP) ID。
  • userId: string- 用户的用户名或电子邮件 ID。
返回:
  • 成功时,标记帐户状态的 JSON 表示形式。
返回值示例:
{
    "assetType": "oaccountStatus",
    "statusId": "oaccountStatus~5a0b0d8b1c6433af9fedfe0d9e6580e7cf6b6bb62a0de6267aaf79f79d5e96d7",
    "accountId": "oaccount~1c568151c4acbcd1bd265c766c677145760a61c47fc8a3ba681a4cfbe287f9c1",
    "status": "suspended"
}
updateBondToken
原始方法名称:updateBondToken
此 POST 方法更新标记。定义的每个标记都有自己的更新方法。无法更新标记元数据或不可换代标记的标记 URI。此方法只能由令牌所有者调用。
有效负载:
{
 "tokenAsset": "{\"tokenId\":\"{{bc-token-id}}\",\"tokenDesc\":\"tokenDesc value\",\"tokenUri\":\"tokenUri value\",\"status\":\"status value\", \"tokenMetadata\":{\"ISIN\":\"ISIN value\",\"Segment\":\"Segment value\",\"Issuer\":\"Issuer value\",\"FaceValue\":999,\"IssueSize\":999,\"CouponRate\":999,\"InterestPaymentType\":\"InterestPaymentType value\",\"InterestFrequency\":\"InterestFrequency value\",\"IssueDate\":\"2023-03-28T15:16:36+00:00\",\"MaturityDate\":\"2023-03-28T15:16:36+00:00\"},\"status\":\"status value\"}",
 "sameOrgEndorser": true
}
参数:
  • tokenAsset: <Token Class>- 令牌资产。资产的属性在模型文件中定义。
返回:
  • 成功后,将以 JSON 格式更新标记资产。
返回值示例(整个 NFT)
{
            "tokenMetadata": {
                "ISIN": "ISIN value",
                "Segment": "Segment value",
                "Issuer": "Issuer value",
                "FaceValue": 999,
                "IssueSize": 999,
                "CouponRate": 999,
                "InterestPaymentType": "simple",
                "InterestFrequency": "monthly",
                "IssueDate": "2023-03-28T15:16:36.000Z",
                "MaturityDate": "2023-03-28T15:16:36.000Z"
            },
            "assetType": "otoken",
            "events": false,
            "tokenId": "token2",
            "tokenName": "bond",
            "tokenDesc": "tokenDesc value",
            "tokenStandard": "erc1155+",
            "tokenType": "nonfungible",
            "tokenUnit": "fractional",
            "behaviors": [
                "divisible",
                "mintable",
                "transferable",
                "burnable",
                "roles"
            ],
            "roles": {
                "minter_role_name": "minter",
                "burner_role_name": "burner"
            },
            "mintable": {
                "max_mint_quantity": 0
            },
            "quantity": 10,
            "createdBy": "oaccount~85dfd98d1b99e5b8891e0a0fdcd7d2e07fc5d37958f5d2a5796290b6a9204a43",
            "creationDate": "2024-12-03T12:07:24.000Z",
            "divisible": {
                "decimal": 0
            },
            "isBurned": false,
            "isLocked": false,
            "tokenUri": "tokenUri value",
            "status": "created"
}
URI
原始方法名称:URI
此方法返回指定标记的 URI。
查询:
/URI?tokenId={{bc-token-id}}
参数:
  • tokenId: string- 令牌的 ID。
返回值示例:
{
    "tokenUri": "example.com"
}
下表显示了链代码 API 名称与更新后的端点之间的映射。有关链代码 API 的详细信息,请参阅 Blockchain App Builder for Oracle Blockchain Platform 中的 Scaffolded TypeScript Token Project
已更新端点 TypeScript 链代码 API 名称 转到链代码 API 名称 方法类型为
activateAccount activateAccount ActivateAccount 本机 ERC-1155 方法
addAdmin addAdmin AddAdmin 本机 ERC-1155 方法
addRole addRole AddRole 本机 ERC-1155 方法
approveBondRedemption approveTokenRedemption ApproveTokenRedemption 修改日期
balanceOfBatch balanceOfBatch BalanceOfBatch 本机 ERC-1155 方法
batchTransferFrom batchTransferFrom BatchTransferFrom 本机 ERC-1155 方法
burnBatch burnBatch BurnBatch 本机 ERC-1155 方法
createAccount createAccount CreateAccount 本机 ERC-1155 方法
createAccountWithEnrollment createAccountWithEnrollment CreateAccountWithEnrollment 已添加
createBondToken createBondToken CreateBondToken 本机 ERC-1155 方法
createIDCSUser createIDCSUser CreateIDCSUser 已添加
createTokenAccount createTokenAccount CreateTokenAccount 本机 ERC-1155 方法
createUserAccount createUserAccount CreateUserAccount 本机 ERC-1155 方法
deleteAccount deleteAccount DeleteAccount 本机 ERC-1155 方法
getAccount getAccount GetAccount 本机 ERC-1155 方法
getAccountBondSummary getAccountBondSummary GetAccountBondSummary 债券市场方法
getAccountBondSummaryWithPagination getAccountBondSummaryWithPagination GetAccountBondSummaryWithPagination 债券市场方法
getAccountDetailsByUser getAccountDetailsByUser GetAccountDetailsByUser 本机 ERC-1155 方法
getAccountStatus getAccountStatus GetAccountStatus 本机 ERC-1155 方法
getAccountStatusHistory getAccountStatusHistory GetAccountStatusHistory 本机 ERC-1155 方法
getAccountTransactionHistory getAccountTransactionHistory GetAccountTransactionHistory 本机 ERC-1155 方法
getAccountsByRole getAccountsByRole GetAccountsByRole 本机 ERC-1155 方法
getAllAccounts getAllAccounts GetAllAccounts 本机 ERC-1155 方法
getAllTokenAdmins getAllTokenAdmins GetAllTokenAdmins 本机 ERC-1155 方法
getAllTokens getAllTokens GetAllTokens 本机 ERC-1155 方法
getAllTokensByUser getAllTokensByUser GetAllTokensByUser 本机 ERC-1155 方法
getAllTokensWithFilters getAllTokensWithFilters GetAllTokensWithFilters 债券市场方法
getTokenApprovalRequestByUser getTokenApprovalRequestByUser GetTokenApprovalRequestByUser 债券市场方法
getTokenApprovalRequestForUserByStatus getTokenApprovalRequestForUserByStatus GetTokenApprovalRequestForUserByStatus 债券市场方法
getTokenById getTokenById GetTokenById 本机 ERC-1155 方法
getTokenHistory getTokenHistory GetTokenHistory 本机 ERC-1155 方法
getUsersByRole getUsersByRole GetUsersByRole 本机 ERC-1155 方法
init init Init 本机 ERC-1155 方法
isInRole isInRole IsInRole 本机 ERC-1155 方法
isTokenAdmin isTokenAdmin IsTokenAdmin 本机 ERC-1155 方法
mintBatch mintBatch MintBatch 本机 ERC-1155 方法
ownerOf ownerOf OwnerOf 本机 ERC-1155 方法
payInterest payInterest PayInterest 修改日期
postBondToken postToken PostToken 债券市场方法
purchaseBondToken purchaseToken PurchaseToken 修改日期
rejectBondRedemption rejectTokenRedemption RejectTokenRedemption 债券市场方法
removeRole removeRole RemoveRole 本机 ERC-1155 方法
removeTokenAdmin removeTokenAdmin RemoveTokenAdmin 本机 ERC-1155 方法
requestBondRedemption requestTokenRedemption RequestTokenRedemption 债券市场方法
safeBatchTransferFrom safeBatchTransferFrom SafeBatchTransferFrom 本机 ERC-1155 方法
suspendAccount suspendAccount SuspendAccount 本机 ERC-1155 方法
updateBondToken updateBondToken UpdateBondToken 本机 ERC-1155 方法
URI URI URI 本机 ERC-1155 方法