债券市场包装器 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

activateAccount
原始方法名称:activateAccount
此 POST 方法会激活令牌账户。此方法只能由管理员或账户所有者调用。无法删除帐户。
有效负载:
{
    "tokenId": "{{bc-token-id}}",
    "orgId": "{{bc-org-id}}",
    "userId": "{{bc-user-id}}",
    "endorsers": {{endorsers}}
}
参数:
  • tokenId: string- 令牌的 ID。
  • orgId: string —当前组织中用户的成员服务提供商 (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 —当前组织中用户的成员服务提供商 (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 —当前组织中用户的成员服务提供商 (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- 用户的成员服务提供商 (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[] —当前组织中的成员服务提供商 (Member 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 —当前组织中发件人和令牌所有者的成员服务提供商 (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 —当前组织中的成员服务提供商 (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 —要为其创建账户的用户的成员服务提供商 (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 —当前组织中用户的成员服务提供商 (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 方法创建令牌。定义的每个标记都有自己的 create 方法。对于不可替换的令牌,此方法的调用者将成为 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"
}
createIDSCUser
原始方法名称: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 —当前组织中用户的成员服务提供商 (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 —当前组织中用户的成员服务提供商 (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 —当前组织中用户的成员服务提供商 (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 —当前组织中用户的成员服务提供商 (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 —当前组织中用户的成员服务提供商 (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 —当前组织中用户的成员服务提供商 (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 —当前组织中用户的成员服务提供商 (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 —当前组织中用户的成员服务提供商 (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 —当前组织中用户的成员服务提供商 (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 —当前组织中用户的成员服务提供商 (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
参数:
返回:
  • 成功后,使用 JSON 格式的 admins 数组,其中包含 orgIduserId 对象。
返回值示例:
{
  "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 —当前组织中用户的成员服务提供商 (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 是当前网络组织中用户的成员服务提供者 (member 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 —当前组织中用户的成员服务提供商 (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 —当前组织中用户的成员服务提供商 (MSP) ID。
  • userId: string —用户的用户名或电子邮件 ID。
返回:
  • 如果调用方为 Token Admin,则方法返回 true,否则返回 false
返回值示例:
{"result": true}
mintBatch
原始方法名称:mintBatch
此 POST 方法在批处理操作中创建(铸造)多个标记。此方法仅创建可替换标记或小数非可替换标记。

对于可替换标记,如果在规范文件中定义了 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 —当前组织中用户的成员服务提供商 (MSP) ID。
  • userId: string —用户的用户名或电子邮件 ID。
  • tokenIds: string[]- 用于 mint 令牌的令牌 ID 列表。
  • quantity: number[]- 要 mint 的令牌数量列表,对应于令牌 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- 用户的成员服务提供商 (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- 用户的成员服务提供商 (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- 用户的成员服务提供商 (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 —当前组织中用户的成员服务提供商 (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 —当前组织中用户的成员服务提供商 (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 —当前组织中发件人和令牌所有者的成员服务提供商 (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 —当前组织中用户的成员服务提供商 (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 的详细信息,请参见 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 方法