- Oracle Blockchain Platform 數位資產版
- 一般權杖架構
- 不適用的權杖架構
- 不適用的權杖架構包裝程式 API 套件
不適用的權杖架構包裝程式 API 套件
Oracle Blockchain Platform Digital Assets Edition 包含一個包裝函式 API 套件,可延伸 REST API 以支援可收集 NFT 市集特定的作業。
包裝程式 API 套件使用 API 閘道服務和 OCI 函數來部署專為可收集市集應用程式設計的 API 路由。不可行的權杖架構包裝函式 API 套件可從 Oracle Blockchain Platform 主控台下載,並包含下列元件。
NFTCollectiblesWithERC721WrapperAPI.zip
,包含包裝函式 API 套件的封存檔案,包含部署所需的 Terraform 指令碼。您可以將此檔案部署到 Oracle Cloud Infrastructure (OCI) 上的資源管理程式堆疊,以為包裝函式 API 建立必要的 Oracle 資源。NFTCollectiblesWithERC721_WrapperAPI.postman_collection.json
- Postman 集合,可讓您測試已部署的包裝函式 API。此集合包含預先設定的要求,其端點和有效負載與包裝函式 API 套裝程式中定義的 API 相對應。
包裝函式 API
-
activateAccount
- 原始方法名稱:
activateAccount
- 此 POST 方法會啟用權杖帳戶。此方法只能由管理員呼叫。對於在帳戶狀態功能之前建立的任何帳戶,您必須呼叫此方法,才能查看帳戶狀態為有效。
- 有效負載:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "endorsers": {{endorsers}} }
- 參數:
orgId: string
– 目前組織中使用者的成員身分服務提供者 (MSP) ID。userId: string
– 使用者的使用者名稱或電子郵件 ID。endorsers: string[]
– 必須為交易背書的對等陣列 (例如peer1
、peer2
)。
- 傳回值:
- 成功時,指定記號帳戶之帳戶狀態物件的 JSON 表示法。
- 傳回值範例:
{ "returnCode": "Success", "error": "", "result": { "txid": "db0738d4a44f6d9c80b24fce7c518c07023f7be19edaa69b272eaf7886b4b925", "payload": { "assetType": "oaccountStatus", "status_id": "oaccountStatus~d5814d96d8517ac31727d60aace0519c58a425892ab0d378fcfb0a35771f65ae", "account_id": "oaccount~802bf8da5579c6103b2dddaa6c4385df8e722d639a18029e0e93d7a5d6f826d6", "status": "active" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 194 } }
-
addTokenAdmin
- 原始方法名稱:
addTokenAdmin
- 此 POST 方法會將使用者新增為鏈碼的
Token Admin
。此方法只能由鏈碼的Token Admin
呼叫。 - 有效負載:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "sameOrgEndorser": true }
- 參數:
orgId: string
– 目前組織中使用者的成員身分服務提供者 (MSP) ID。userId: string
– 使用者的使用者名稱或電子郵件 ID。sameOrgEndorser: boolean
– 布林值,指出交易背書是否必須來自與要求者相同的組織。
- 傳回值:
- 成功時,包含以鏈碼
Token Admin
新增之使用者明細的訊息。
- 成功時,包含以鏈碼
- 傳回值範例:
{ "returnCode": "Success", "error": "", "result": { "txid": "bd7416689b1acdace3c557faebbc0ad9a51671c10278ba6909350a6fe4b08eed", "payload": { "msg":"Successfully added Admin (orgId: Org1MSP, userId: User1)" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 190 } }
-
addRole
- 原始方法名稱:
addRole
- 這個方法會將角色新增至指定的使用者和記號。
- 有效負載:
{ "role": "role value (for example minter / burner)", "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "endorsers": {{endorsers}} }
- 參數:
role: string
– 要新增至指定使用者的角色名稱。orgId: string
– 目前組織中使用者的成員身分服務提供者 (MSP) ID。userId: string
– 使用者的使用者名稱或電子郵件 ID。endorsers: string[]
– 必須為交易背書的對等陣列 (例如peer1
、peer2
)。
- 傳回值範例:
{ "returnCode": "Success", "error": "", "result": { "txid": "bd7416689b1acdace3c557faebbc0ad9a51671c10278ba6909350a6fe4b08eed", "payload": { "msg": "Successfully added role 'minter' to Account Id: oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d (Org-Id: Org1MSP, User-Id: admin)" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 193 } }
-
addTokenSysRole
- 原始方法名稱:
addTokenSysRole
- 此方法會將
Org Admins
新增至權杖鏈碼。 - 有效負載:
{ "role": "role value (for example vault)", "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "endorsers": {{endorsers}} }
- 參數:
role: string
– 要新增至指定使用者的角色名稱。orgId: string
– 目前組織中使用者的成員身分服務提供者 (MSP) ID。userId: string
– 使用者的使用者名稱或電子郵件 ID。endorsers: string[]
– 必須為交易背書的對等陣列 (例如peer1
、peer2
)。
- 傳回值範例:
{ "returnCode": "Success", "error": "", "result": { "txid": "96a84dffcb9156f7271dfb414e8c43b540595044cf9145f5fd56e9873797fc4a", "payload": { "msg": "Successfully added Org Admin (Org_Id: CB, User_Id: cb)" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 197 } }
-
balanceOf
- 原始方法名稱:
balanceOf
- 此 GET 方法會傳回指定使用者保留的 NFT 總數。只有鏈碼的
Token Admin
或帳戶擁有者才能呼叫此方法。 - 查詢:
/balanceOf?orgId={{bc-org-id}}&userId={{bc-user-id}}
- 參數:
orgId: string
– 目前組織中使用者的成員身分服務提供者 (MSP) ID。userId: string
– 使用者的使用者名稱或電子郵件 ID。
- 傳回值範例:
{ "returnCode": "Success", "error": "", "result": { "payload": { "totalNfts": 0 }, "encode": "JSON" } }
-
buy
- 原始方法名稱:
buy
- 此 POST 方法會購買銷售中的記號。
- 有效負載:
{ "fromOrgId": "from_org_id value", "fromUserId": "from_user_id value", "toOrgId": "to_org_id value", "toUserId": "to_user_id value", "nonfungibleTokenId": "nonfungible_token_id value", "amountPaid": 1, "endorsers": {{endorsers}} }
- 參數:
fromOrgId: string
– 目前組織中寄件者 (所有者) 的成員身分服務提供者 (MSP) ID。fromUserId: string
– 寄件者 (擁有者) 的使用者名稱或電子郵件 ID。toOrgId: string
– 目前組織中接收者的成員身分服務提供者 (MSP) ID。toUserId: string
– 接收者的使用者名稱或電子郵件 ID。nonfungibleTokenId: string
– 要購買之記號的 ID。amountPaid: number
– 記號的價格。endorsers: string[]
– 必須為交易背書的對等陣列 (例如peer1
、peer2
)。
- 傳回值範例:
{ "returnCode": "Success", "error": "", "result": { "txid": "bd7416689b1acdace3c557faebbc0ad9a51671c10278ba6909350a6fe4b08eed", "payload": { "msg": "Token ID: 'monalisa' has been successfully transferred to UserID :oaccount~ec32cff8635a056f3dda3da70b1d6090d61f66c6a170c4a95fd008181f729dba" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 193 } }
-
createAccount
- 原始方法名稱:
createAccount
- 此方法會為指定的使用者和記號建立帳戶。必須為任何需要記號的使用者建立帳戶。帳戶會追蹤使用者擁有的 NFT 數目。帳戶 ID 是一組英數字元,前面加上
oaccount~
,後面接著目前網路組織中使用者之成員服務提供者 ID (orgId
) 的 SHA-256 雜湊、執行處理擁有者的使用者名稱或電子郵件 ID (userId
)、登入執行處理的使用者,以及常數字串nft
。此方法只能由鏈碼的Token Admin
呼叫。 - 有效負載:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "tokenType": "nonfungible", "endorsers": {{endorsers}} }
- 參數:
orgId
– 要建立帳戶之使用者的成員身分服務提供者 (MSP) ID。ID 必須以數字或英文字母字元為開頭,而且可以包含英文字母、數字以及特殊字元,例如底線 (_)、句號 (.)、at 符號 (@) 以及連字號 (-)。userId
– 使用者的使用者名稱或電子郵件 ID。ID 必須以數字或英文字母字元為開頭,而且可以包含英文字母、數字以及特殊字元,例如底線 (_)、句號 (.)、at 符號 (@) 以及連字號 (-)。tokenType: TokenType
– 記號的類型,必須是fungible
。endorsers: string[]
– 必須為交易背書的對等陣列 (例如peer1
、peer2
)。
- 傳回值範例:
{ "returnCode": "Success", "error": "", "result": { "txid": "bd7416689b1acdace3c557faebbc0ad9a51671c10278ba6909350a6fe4b08eed", "payload": { "assetType": "oaccount", "accountId": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d", "bapAccountVersion": 0, "userId": "admin", "orgId": "Org1MSP", "tokenType": "nonfungible", "noOfNfts": 0 }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 193 } }
-
createArtCollectionToken
- 原始方法名稱:
createArtCollectionToken
- 此 POST 方法會建立 NFT (mints)。資產和關聯的特性會儲存在狀態資料庫中。此交易的呼叫者必須具有權杖帳戶。此交易的來電者會成為 NFT 的擁有者。如果記號設定檔案包含
behaviors
的roles
區段和roles
的minter_role_name
特性,則交易的呼叫者必須具有 minter 角色。否則,任何來電者都可以提示 NFT。 - 有效負載:
{ "tokenAsset": "{\"tokenId\":\"{{bc-token-id}}\",\"tokenDesc\":\"tokenDesc value\",\"tokenUri\":\"tokenUri value\",\"metadata\":{\"Painting_Name\":\"Painting_Name value\",\"Description\":\"Description value\",\"Painter_Name\":\"Painter_Name value\"},\"Price\":999,\"On_Sale_Flag\":true}", "sameOrgEndorser": true }
- 參數:
tokenAsset: <Token Class>
– 要提示的記號資產。如需記號資產特性的詳細資訊,請參閱輸入設定檔案。sameOrgEndorser: boolean
– 布林值,指出交易背書是否必須來自與要求者相同的組織。
- 傳回值範例:
{ "returnCode": "Success", "error": "", "result": { "txid": "bd7416689b1acdace3c557faebbc0ad9a51671c10278ba6909350a6fe4b08eed", "payload": { "metadata": { "painting_name": "Mona_Lisa", "description": "Mona Lisa Painting", "image": "monalisa.jpeg", "painter_name": "Leonardo_da_Vinci" }, "assetType": "otoken", "tokenId": "monalisa", "tokenName": "artcollection", "tokenDesc": "token description", "symbol": "ART", "tokenStandard": "erc721+", "tokenType": "nonfungible", "tokenUnit": "whole", "behaviors": [ "indivisible", "singleton", "mintable", "transferable", "burnable", "roles" ], "roles": { "minter_role_name": "minter" }, "mintable": { "max_mint_quantity": 20000 }, "owner": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d", "createdBy": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d", "creationDate": "2022-04-05T08:30:42.000Z", "isBurned": false, "tokenUri": "\"https://bafybeid6pmpp62bongoip5iy2skosvyxh3gr7r2e35x3ctvawjco6ddmsq\\ .ipfs.infura-ipfs.io/?filename=MonaLisa.jpeg\"", "price": 100, "on_sale_flag": false }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 193 } }
-
deleteAccount
- 原始方法名稱:
deleteAccount
- 此 POST 方法會刪除記號帳戶。帳戶刪除後,帳戶處於最終狀態,無法更新或變更為任何其他狀態。若要刪除帳戶,帳戶餘額必須為零。此方法只能由鏈碼的
Token Admin
呼叫。 - 有效負載:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "endorsers": {{endorsers}} }
- 參數:
orgId: string
– 目前組織中使用者的成員身分服務提供者 (MSP) ID。userId: string
– 使用者的使用者名稱或電子郵件 ID。
- 傳回值:
- 成功時,代表權杖帳戶狀態的 JSON。
- 傳回值範例:
{ "returnCode": "Success", "error": "", "result": { "txid": "bd7416689b1acdace3c557faebbc0ad9a51671c10278ba6909350a6fe4b08eed", "payload": { "assetType": "oaccountStatus", "statusId": "oaccountStatus~5a0b0d8b1c6433af9fedfe0d9e6580e7cf6b6bb62a0de6267aaf79f79d5e96d7", "accountId": "oaccount~1c568151c4acbcd1bd265c766c677145760a61c47fc8a3ba681a4cfbe287f9c1", "status": "deleted" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 193 } }
-
getAccountByUser
- 原始方法名稱:
getAccountByUser
- 此方法會傳回指定使用者的帳戶詳細資訊。只有鏈碼的
Token Admin
或帳戶的Account Owner
才能呼叫此方法。 - 查詢:
/getAccountByUser?orgId={{bc-org-id}}&userId={{bc-user-id}}
- 參數:
orgId: string
– 目前組織中使用者的成員身分服務提供者 (MSP) ID。userId: string
– 使用者的使用者名稱或電子郵件 ID。
- 傳回值範例:
{ "returnCode": "Success", "error": "", "result": { "payload": { "bapAccountVersion": 0, "assetType": "oaccount", "status": "active", "accountId": "oaccount~cc301bee057f14236a97d434909ec1084970921b008f6baab09c2a0f5f419a9a", "userId": "idcqa", "orgId": "appdev", "tokenType": "nonfungible", "noOfNfts": 0 }, "encode": "JSON" } }
-
getAccountHistory
- 原始方法名稱:
getAccountHistory
- 此方法會傳回指定使用者的帳戶歷史記錄。此為非同步方法。只有鏈碼的
Token Admin
或帳戶擁有者才能呼叫此方法。 - 查詢:
/getAccountHistory?orgId={{bc-org-id}}&userId={{bc-user-id}}
- 參數:
orgId: string
– 目前組織中使用者的成員身分服務提供者 (MSP) ID。userId: string
– 使用者的使用者名稱或電子郵件 ID。
- 傳回值範例:
{ "returnCode": "Success", "error": "", "result": { "txid": "bd7416689b1acdace3c557faebbc0ad9a51671c10278ba6909350a6fe4b08eed", "payload": [ { "trxId": "6ffd0d94f234c12444a5d5aa559563b59dff4d2280b573fea956dc632bdaf5d4", "timeStamp": 1649151044, "value": { "assetType": "oaccount", "bapAccountVersion" : 5, "accountId": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d", "userId": "admin", "orgId": "Org1MSP", "tokenType": "nonfungible", "noOfNfts": 1 } }, { "trxId": "a605f1fa62e511c2945fce5437f983a5e70ec814b82520d3ecd2d81e3ecf53a3", "timeStamp": 1649151022, "value": { "assetType": "oaccount", "bapAccountVersion" : 4, "accountId": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d", "userId": "admin", "orgId": "Org1MSP", "tokenType": "nonfungible", "noOfNfts": 2 } }, { "trxId": "ca4c07bf04240345de918cbf1f4f3da4b4d0ab044c5b8bea94343e427d9ed4e7", "timeStamp": 1649150910, "value": { "assetType": "oaccount", "bapAccountVersion" : 3, "accountId": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d", "userId": "admin", "orgId": "Org1MSP", "tokenType": "nonfungible", "noOfNfts": 1 } }, { "trxId": "cfb52ffc8c34c7fd86210fcf8c5f53d9f92a056c45ed3a33671d638020c1f9cb", "timeStamp": 1649149545, "value": { "assetType": "oaccount", "bapAccountVersion" : 2, "accountId": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d", "userId": "admin", "orgId": "Org1MSP", "tokenType": "nonfungible", "noOfNfts": 0 } }, { "trxId": "e7747b3001a170f88688620956320e9402e1dd8edad8afb4818a08a34647337c", "timeStamp": 1649147442, "value": { "assetType": "oaccount", "bapAccountVersion" : 1, "accountId": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d", "userId": "admin", "orgId": "Org1MSP", "tokenType": "nonfungible", "noOfNfts": 1 } }, { "trxId": "d2d1f9c898707ae831e9361bc25da6369eac37b10c87dc04d18d6f3808222f08", "timeStamp": 1649137534, "value": { "assetType": "oaccount", "bapAccountVersion" : 0, "accountId": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d", "userId": "admin", "orgId": "Org1MSP", "tokenType": "nonfungible", "noOfNfts": 0 } } ], "encode": "JSON" } }
-
getAccountsByRole
- 原始方法名稱:
getAccountsByRole
- 此方法會傳回指定角色的所有帳戶 ID 清單。此方法只能由鏈碼的
Token Admin
呼叫。 - 查詢:
/getAccountsByRole?role=role value (for example minter / burner)
- 參數:
role: string
– 要搜尋之角色的名稱。
- 傳回值範例:
{ "returnCode": "Success", "error": "", "result": { "txid": "bd7416689b1acdace3c557faebbc0ad9a51671c10278ba6909350a6fe4b08eed", "payload": { "accounts": [ "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d" ] }, "encode": "JSON" } }
-
getAccountsByTokenSysRole
- 原始方法名稱:
getAccountsByTokenSysRole
- 此方法會傳回指定之
TokenSys
角色的所有帳戶 ID 清單。此方法只能由鏈碼的Token Admin
呼叫。 - 查詢:
/getAccountsByTokenSysRole?role=role value (for example vault)
- 參數:
role: string
– 要搜尋的TokenSys
角色名稱。
- 傳回值範例:
{ "returnCode": "Success", "error": "", "result": { "payload": { "accountIds": [ "oaccount~bf07f584a94be44781e49d9101bfaf58c6fbbe77a4dfebdb83c874c2caf03eba" ] }, "encode": "JSON" } }
-
getAccountStatus
- 原始方法名稱:
getAccountStatus
- 此 GET 方法會擷取權杖帳戶的目前狀態。鏈碼的
Token Admin
或權杖帳戶擁有者可以呼叫此方法。 - 查詢:
/getAccountStatus?orgId={{bc-org-id}}&userId={{bc-user-id}}
- 參數:
orgId: string
– 目前組織中使用者的成員身分服務提供者 (MSP) ID。userId: string
– 使用者的使用者名稱或電子郵件 ID。
- 傳回值:
- 成功時,代表權杖帳戶狀態的 JSON。
- 傳回值範例:
{ "returnCode": "Success", "error": "", "result": { "payload": { "assetType": "oaccountStatus", "statusId": "oaccountStatus~5a0b0d8b1c6433af9fedfe0d9e6580e7cf6b6bb62a0de6267aaf79f79d5e96d7", "accountId": "oaccount~1c568151c4acbcd1bd265c766c677145760a61c47fc8a3ba681a4cfbe287f9c1", "status": "active" }, "encode": "JSON" } }
-
getAccountStatusHistory
- 原始方法名稱:
getAccountStatusHistory
- 此 GET 方法會擷取帳戶狀態的歷史記錄。鏈碼的
Token Admin
或權杖帳戶擁有者可以呼叫此方法。 - 查詢:
/getAccountStatusHistory?orgId={{bc-org-id}}&userId={{bc-user-id}}
- 參數:
orgId: string
– 目前組織中使用者的成員身分服務提供者 (MSP) ID。userId: string
– 使用者的使用者名稱或電子郵件 ID。
- 傳回值:
- 成功時,會有 JSON 格式的帳戶狀態歷史記錄。
- 傳回值範例:
{ "returnCode": "Success", "error": "", "result": { "payload": [ { "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" } } ], "encode": "JSON" } }
-
getAccountTransactionHistory
- 原始方法名稱:
getAccountTransactionHistory
- 此 GET 方式會傳回科目交易歷史記錄。只有鏈碼的
Token Admin
或帳戶擁有者才能呼叫此方法。 /getAccountTransactionHistory?orgId={{bc-org-id}}&userId={{bc-user-id}}
- 參數:
orgId: string
– 目前組織中使用者的成員身分服務提供者 (MSP) ID。userId: string
– 使用者的使用者名稱或電子郵件 ID。
- 傳回值範例:
{ "returnCode": "Success", "error": "", "result": { "payload": [ { "transactionId": "otransaction~6ffd0d94f234c12444a5d5aa559563b59dff4d2280b573fea956dc632bdaf5d4", "timestamp": "2022-04-05T09:30:44.000Z", "tokenId": "monalisa1", "noOfNfts": 1, "transactedAccount": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d", "transactionType": "BURN" }, { "transactionId": "otransaction~a605f1fa62e511c2945fce5437f983a5e70ec814b82520d3ecd2d81e3ecf53a3", "timestamp": "2022-04-05T09:30:22.000Z", "tokenId": "monalisa1", "transactedAccount": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d", "transactionType": "MINT" }, { "transactionId": "otransaction~ca4c07bf04240345de918cbf1f4f3da4b4d0ab044c5b8bea94343e427d9ed4e7", "timestamp": "2022-04-05T09:28:30.000Z", "tokenId": "monalisa", "transactedAccount": "oaccount~ec32cff8635a056f3dda3da70b1d6090d61f66c6a170c4a95fd008181f729dba", "transactionType": "CREDIT" }, { "transactionId": "otransaction~cfb52ffc8c34c7fd86210fcf8c5f53d9f92a056c45ed3a33671d638020c1f9cb", "timestamp": "2022-04-05T09:05:45.000Z", "tokenId": "monalisa", "transactedAccount": "oaccount~ec32cff8635a056f3dda3da70b1d6090d61f66c6a170c4a95fd008181f729dba", "transactionType": "DEBIT" }, { "transactionId": "otransaction~e7747b3001a170f88688620956320e9402e1dd8edad8afb4818a08a34647337c", "timestamp": "2022-04-05T08:30:42.000Z", "tokenId": "monalisa", "transactedAccount": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d", "transactionType": "MINT" } ], "encode": "JSON" } }
-
getAccountTransactionHistoryWithFilters
- 原始方法名稱:
getAccountTransactionHistoryWithFilters
- 此 GET 方法會傳回指定使用者的帳戶交易歷史記錄,依
PageSize
、Bookmark
、startTime
和endTime
篩選。此為非同步方法。此方法只能在連線至遠端 Oracle Blockchain Platform 網路時呼叫。只有鏈碼的Token Admin
或帳戶擁有者才能呼叫此方法。 /getAccountTransactionHistoryWithFilters?orgId={{bc-org-id}}&userId={{bc-user-id}}&filters={"pageSize":20,"bookmark":"","startTime":"2022-01-16T15:16:36+00:00","endTime":"2022-01-17T15:16:36+00:00"}
- 參數:
orgId: string
– 目前組織中使用者的成員身分服務提供者 (MSP) ID。userId: string
– 使用者的使用者名稱或電子郵件 ID。filters: object
– Filter 類別的物件,包含四個屬性:pageSize
、bookmark
、startTime
和endTime
。
- 傳回值範例:
{ "returnCode": "Success", "error": "", "result": { "payload": [ { "transactionId": "otransaction~6ffd0d94f234c12444a5d5aa559563b59dff4d2280b573fea956dc632bdaf5d4", "timestamp": "2022-04-05T09:30:44.000Z", "tokenId": "monalisa1", "transactedAccount": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d", "transactionType": "BURN" }, { "transactionId": "otransaction~a605f1fa62e511c2945fce5437f983a5e70ec814b82520d3ecd2d81e3ecf53a3", "timestamp": "2022-04-05T09:30:22.000Z", "tokenId": "monalisa1", "transactedAccount": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d", "transactionType": "MINT" }, { "transactionId": "otransaction~ca4c07bf04240345de918cbf1f4f3da4b4d0ab044c5b8bea94343e427d9ed4e7", "timestamp": "2022-04-05T09:28:30.000Z", "tokenId": "monalisa", "transactedAccount": "oaccount~ec32cff8635a056f3dda3da70b1d6090d61f66c6a170c4a95fd008181f729dba", "transactionType": "CREDIT" }, { "transactionId": "otransaction~cfb52ffc8c34c7fd86210fcf8c5f53d9f92a056c45ed3a33671d638020c1f9cb", "timestamp": "2022-04-05T09:05:45.000Z", "tokenId": "monalisa", "transactedAccount": "oaccount~ec32cff8635a056f3dda3da70b1d6090d61f66c6a170c4a95fd008181f729dba", "transactionType": "DEBIT" }, { "transactionId": "otransaction~e7747b3001a170f88688620956320e9402e1dd8edad8afb4818a08a34647337c", "timestamp": "2022-04-05T08:30:42.000Z", "tokenId": "monalisa", "transactedAccount": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d", "transactionType": "MINT" } ], "encode": "JSON" } }
-
getAllAccounts
- 原始方法名稱:
getAllAccounts
- 此 GET 方法會傳回所有使用者帳戶的詳細資訊。此方法只能由鏈碼的
Token Admin
呼叫。 - 查詢:
/getAllAccounts
- 參數:
- 無
- 傳回值:
- 成功時,所有帳戶的 JSON 陣列。
- 傳回值範例:
{ "returnCode": "Success", "error": "", "result": { "payload": [ { "key": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d", "valueJson": { "assetType": "oaccount", "accountId": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d", "userId": "admin", "orgId": "Org1MSP", "tokenType": "nonfungible", "noOfNfts": 1 } } ], "encode": "JSON" } }
-
getAllLockedNFTs
- 原始方法名稱:
getAllLockedNFTs
- 此 GET 方法會傳回所有鎖定的 NFT 清單。只有鏈碼的
Token Admin
或 Vault Manager (具有TokenSys vault
角色的使用者) 才能呼叫此方法。 - 查詢:
/getAllLockedNFTs
- 參數:
- 無
- 傳回值範例:
{ "returnCode": "Success", "error": "", "result": { "payload": [ { "key":"token1", "valueJson":{ "assetType":"otoken", "tokenId":"token1", "tokenName":"artcollection", "symbol":"ART", "tokenStandard":"erc721+", "tokenType":"nonfungible", "tokenUnit":"whole", "behaviors":[ "indivisible", "singleton", "mintable", "transferable", "lockable", "burnable", "roles" ], "roles":{ "minter_role_name":"minter" }, "mintable":{ "max_mint_quantity":20000 }, "createdBy":"oaccount~208e3345ac84b4849f0d2648b2f2f018019886a1230f99304ebff1b6a7733463", "creationDate":"2023-10-20T10:26:29.000Z", "owner":"oaccount~208e3345ac84b4849f0d2648b2f2f018019886a1230f99304ebff1b6a7733463", "isBurned":false, "isLocked":true, "tokenUri":"token1.example.com", "price":120, "on_sale_flag":false } } ], "encode": "JSON" } }
-
getAllTokenAdmins
- 原始方法名稱:
getAllTokenAdmins
- 此方法會傳回屬於鏈碼之
Token Admin
的所有使用者清單。此方法只能由鏈碼的Token Admin
呼叫。 - 查詢:
/getAllTokenAdmins
- 參數:
- 無
- 傳回值:
- 成功時,會有 JSON 格式的
admins
陣列,其中包含orgId
和userId
物件。
- 成功時,會有 JSON 格式的
- 傳回值範例:
{ "returnCode": "Success", "error": "", "result": { "payload": { "admins":[ { "orgId":"Org1MSP", "userId":"admin" } ] }, "encode": "JSON" } }
-
getAllTokens
- 原始方法名稱:
getAllTokens
- 此方法會傳回儲存在狀態資料庫中的所有記號資產。此方法只能由鏈碼的
Token Admin
呼叫。此方法使用 Berkeley DB SQL Rich Query,而且只有在連線至遠端 Oracle Blockchain Platform 網路時才能呼叫。 - 查詢:
/getAllTokens
- 參數:
- 無
- 傳回值範例:
{ "returnCode": "Success", "error": "", "result": { "payload": [ { "key": "monalisa", "valueJson": { "metadata": { "PaintingName": "Mona_Lisa", "Description": "Mona Lisa Painting", "Image": "monalisa.jpeg", "PainterName": "Leonardo_da_Vinci" }, "assetType": "otoken", "tokenId": "monalisa", "tokenName": "ravinft", "tokenDesc": "token Description", "symbol": "PNT", "tokenStandard": "erc721+", "tokenType": "nonfungible", "tokenUnit": "whole", "behaviors": [ "indivisible", "singleton", "mintable", "transferable", "burnable", "roles" ], "roles": { "minter_role_name": "minter", "burner_role_name": "burner" }, "mintable": { "max_mint_quantity": 20000 }, "owner": "oaccount~543c2258e351c3e7a40ea59b81e62154d38fbfc9d1b5b79f30ac5e08e7d0dfd1", "createdBy": "oaccount~543c2258e351c3e7a40ea59b81e62154d38fbfc9d1b5b79f30ac5e08e7d0dfd1", "creationDate": "2022-04-07T21:17:48.000Z", "isBurned": false, "tokenUri": "https://bafybeid6pmpp62bongoip5iy2skosvyxh3gr7r2e35x3ctvawjco6ddmsq\\\\ .ipfs.infura-ipfs.io/?filename=MonaLisa.jpeg", "NftBasePrice": 100 } }, { "key": "monalisa1", "valueJson": { "metadata": { "PaintingName": "Mona_Lisa", "Description": "Mona Lisa Painting", "Image": "monalisa.jpeg", "PainterName": "Leonardo_da_Vinci" }, "assetType": "otoken", "tokenId": "monalisa1", "tokenName": "ravinft", "tokenDesc": "token Description", "symbol": "PNT", "tokenStandard": "erc721+", "tokenType": "nonfungible", "tokenUnit": "whole", "behaviors": [ "indivisible", "singleton", "mintable", "transferable", "burnable", "roles" ], "roles": { "minter_role_name": "minter", "burner_role_name": "burner" }, "mintable": { "max_mint_quantity": 20000 }, "owner": "oaccount~543c2258e351c3e7a40ea59b81e62154d38fbfc9d1b5b79f30ac5e08e7d0dfd1", "createdBy": "oaccount~543c2258e351c3e7a40ea59b81e62154d38fbfc9d1b5b79f30ac5e08e7d0dfd1", "creationDate": "2022-04-07T21:17:59.000Z", "isBurned": false, "tokenUri": "https://bafybeid6pmpp62bongoip5iy2skosvyxh3gr7r2e35x3ctvawjco6ddmsq\\\\ .ipfs.infura-ipfs.io/?filename=MonaLisa.jpeg", "NftBasePrice": 100 } } ], "encode": "JSON" } }
-
getAllTokensByUser
- 原始方法名稱:
getAllTokensByUser
- 此 GET 方法會傳回指定使用者擁有的所有權杖資產。此方法使用 Berkeley DB SQL Rich Query,而且只有在連線至遠端 Oracle Blockchain Platform 網路時才能呼叫。只有鏈碼的
Token Admin
或帳戶擁有者才能呼叫此方法。 - 查詢:
/getAllTokensByUser?orgId={{bc-org-id}}&userId={{bc-user-id}}
- 參數:
org_id: string
– 目前組織中使用者的成員身分服務提供者 (MSP) ID。user_id: string
– 使用者的使用者名稱或電子郵件 ID。
- 傳回值範例:
{ "returnCode": "Success", "error": "", "result": { "payload": [ { "key": "monalisa", "valueJson": { "metadata": { "PaintingName": "Mona_Lisa", "Description": "Mona Lisa Painting", "Image": "monalisa.jpeg", "PainterName": "Leonardo_da_Vinci" }, "assetType": "otoken", "tokenId": "monalisa", "tokenName": "ravinft", "tokenDesc": "token Description", "symbol": "PNT", "tokenStandard": "erc721+", "tokenType": "nonfungible", "tokenUnit": "whole", "behaviors": [ "indivisible", "singleton", "mintable", "transferable", "burnable", "roles" ], "roles": { "minter_role_name": "minter", "burner_role_name": "burner" }, "mintable": { "max_mint_quantity": 20000 }, "owner": "oaccount~543c2258e351c3e7a40ea59b81e62154d38fbfc9d1b5b79f30ac5e08e7d0dfd1", "createdBy": "oaccount~543c2258e351c3e7a40ea59b81e62154d38fbfc9d1b5b79f30ac5e08e7d0dfd1", "creationDate": "2022-04-07T21:17:48.000Z", "isBurned": false, "tokenUri": "https://bafybeid6pmpp62bongoip5iy2skosvyxh3gr7r2e35x3ctvawjco6ddmsq\\\\ .ipfs.infura-ipfs.io/?filename=MonaLisa.jpeg", "NftBasePrice": 100 } }, { "key": "monalisa1", "valueJson": { "metadata": { "PaintingName": "Mona_Lisa", "Description": "Mona Lisa Painting", "Image": "monalisa.jpeg", "PainterName": "Leonardo_da_Vinci" }, "assetType": "otoken", "tokenId": "monalisa1", "tokenName": "ravinft", "tokenDesc": "token Description", "symbol": "PNT", "tokenStandard": "erc721+", "tokenType": "nonfungible", "tokenUnit": "whole", "behaviors": [ "indivisible", "singleton", "mintable", "transferable", "burnable", "roles" ], "roles": { "minter_role_name": "minter", "burner_role_name": "burner" }, "mintable": { "max_mint_quantity": 20000 }, "owner": "oaccount~543c2258e351c3e7a40ea59b81e62154d38fbfc9d1b5b79f30ac5e08e7d0dfd1", "createdBy": "oaccount~543c2258e351c3e7a40ea59b81e62154d38fbfc9d1b5b79f30ac5e08e7d0dfd1", "creationDate": "2022-04-07T21:17:59.000Z", "isBurned": false, "tokenUri": "https://bafybeid6pmpp62bongoip5iy2skosvyxh3gr7r2e35x3ctvawjco6ddmsq\\\\ .ipfs.infura-ipfs.io/?filename=MonaLisa.jpeg", "NftBasePrice": 100 } } ], "encode": "JSON" } }
-
getLockedNFTsByOrg
- 原始方法名稱:
getLockedNFTsByOrg
- 此方法會傳回指定組織的所有鎖定不可行記號清單,以及選擇性地傳回指定的使用者。只有鏈碼的
Token Admin
或 Vault 管理員 (具有TokenSys vault
角色的使用者) 才能呼叫此方法。 - 查詢:
/getLockedNFTsByOrg?orgId={{bc-org-id}}&userId={{bc-user-id}}
- 參數:
org_id: string
– 目前組織中使用者的成員身分服務提供者 (MSP) ID。user_id: string
– 使用者的使用者名稱或電子郵件 ID。
- 傳回值範例:
{ "returnCode": "Success", "error": "", "result": { "payload": [ { "key":"token1", "valueJson":{ "assetType":"otoken", "tokenId":"token1", "tokenName":"artcollection", "symbol":"ART", "tokenStandard":"erc721+", "tokenType":"nonfungible", "tokenUnit":"whole", "behaviors":[ "indivisible", "singleton", "mintable", "transferable", "lockable", "burnable", "roles" ], "roles":{ "minter_role_name":"minter" }, "mintable":{ "max_mint_quantity":20000 }, "createdBy":"oaccount~208e3345ac84b4849f0d2648b2f2f018019886a1230f99304ebff1b6a7733463", "creationDate":"2023-10-20T10:26:29.000Z", "owner":"oaccount~208e3345ac84b4849f0d2648b2f2f018019886a1230f99304ebff1b6a7733463", "isBurned":false, "isLocked":true, "tokenUri":"token1.examplecom", "price":120, "on_sale_flag":false } } ], "encode": "JSON" } }
-
getTokenById
- 原始方法名稱:
getTokenById
- 如果憑證存在於狀態資料庫中,則此方法會傳回記號物件。只有鏈碼或記號擁有者的
Token Admin
才能呼叫此方法。 - 查詢:
/getTokenById?tokenId={{bc-token-id}}
- 參數:
tokenId: string
– 要取得之記號的 ID。
- 傳回值範例:
{ "returnCode": "Success", "error": "", "result": { "payload": { "metadata": { "painting_name": "Mona_Lisa", "description": "Mona Lisa Painting", "image": "monalisa.jpeg", "painter_name": "Leonardo_da_Vinci" }, "assetType": "otoken", "tokenId": "monalisa", "tokenName": "artcollection", "tokenDesc": "token description", "symbol": "ART", "tokenStandard": "erc721+", "tokenType": "nonfungible", "tokenUnit": "whole", "behaviors": [ "indivisible", "singleton", "mintable", "transferable", "burnable", "roles" ], "roles": { "minter_role_name": "minter" }, "mintable": { "max_mint_quantity": 20000 }, "owner": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d", "createdBy": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d", "transferredBy": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d", "creationDate": "2022-04-05T08:30:42.000Z", "transferredDate": "2022-04-05T09:28:30.000Z", "isBurned": false, "tokenUri": "https://bafybeid6pmpp62bongoip5iy2skosvyxh3gr7r2e35x3ctvawjco6ddmsq\\ .ipfs.infura-ipfs.io/?filename=MonaLisa.jpeg", "price": 100, "on_sale_flag": true }, "encode": "JSON" } }
-
getTokenHistory
- 原始方法名稱:
getTokenHistory
- 此方法會傳回指定記號 ID 的歷史記錄。此為非同步方法。此方法只能在連線至遠端 Oracle Blockchain Platform 網路時呼叫。任何人都可以呼叫這個方法。
/getTokenHistory?tokenId={{bc-token-id}}
- 參數:
tokenId: string
– 記號的 ID。
- 傳回值範例:
{ "returnCode": "Success", "error": "", "result": { "payload": [ { "trxId": "ca4c07bf04240345de918cbf1f4f3da4b4d0ab044c5b8bea94343e427d9ed4e7", "timeStamp": 1649150910, "value": { "metadata": { "painting_name": "Mona_Lisa", "description": "Mona Lisa Painting", "image": "monalisa.jpeg", "painter_name": "Leonardo_da_Vinci" }, "assetType": "otoken", "tokenId": "monalisa", "tokenName": "artcollection", "tokenDesc": "token description", "symbol": "ART", "tokenStandard": "erc721+", "tokenType": "nonfungible", "tokenUnit": "whole", "behaviors": [ "indivisible", "singleton", "mintable", "transferable", "burnable", "roles" ], "roles": { "minter_role_name": "minter" }, "mintable": { "max_mint_quantity": 20000 }, "owner": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d", "createdBy": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d", "transferredBy": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d", "creationDate": "2022-04-05T08:30:42.000Z", "transferredDate": "2022-04-05T09:28:30.000Z", "isBurned": false, "tokenUri": "https://bafybeid6pmpp62bongoip5iy2skosvyxh3gr7r2e35x3ctvawjco6ddmsq\\ .ipfs.infura-ipfs.io/?filename=MonaLisa.jpeg", "price": 100, "on_sale_flag": true } }, { "trxId": "cfb52ffc8c34c7fd86210fcf8c5f53d9f92a056c45ed3a33671d638020c1f9cb", "timeStamp": 1649149545, "value": { "metadata": { "painting_name": "Mona_Lisa", "description": "Mona Lisa Painting", "image": "monalisa.jpeg", "painter_name": "Leonardo_da_Vinci" }, "assetType": "otoken", "tokenId": "monalisa", "tokenName": "artcollection", "tokenDesc": "token description", "symbol": "ART", "tokenStandard": "erc721+", "tokenType": "nonfungible", "tokenUnit": "whole", "behaviors": [ "indivisible", "singleton", "mintable", "transferable", "burnable", "roles" ], "roles": { "minter_role_name": "minter" }, "mintable": { "max_mint_quantity": 20000 }, "owner": "oaccount~ec32cff8635a056f3dda3da70b1d6090d61f66c6a170c4a95fd008181f729dba", "createdBy": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d", "transferredBy": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d", "creationDate": "2022-04-05T08:30:42.000Z", "transferredDate": "2022-04-05T09:05:45.000Z", "isBurned": false, "tokenUri": "https://bafybeid6pmpp62bongoip5iy2skosvyxh3gr7r2e35x3ctvawjco6ddmsq\\ .ipfs.infura-ipfs.io/?filename=MonaLisa.jpeg", "price": 100, "on_sale_flag": true } }, { "trxId": "702e61cc8d6d2982521023d0d5f3195900f35e146d6a90ef66daae551e6075d2", "timeStamp": 1649147729, "value": { "metadata": { "painting_name": "Mona_Lisa", "description": "Mona Lisa Painting", "image": "monalisa.jpeg", "painter_name": "Leonardo_da_Vinci" }, "assetType": "otoken", "tokenId": "monalisa", "tokenName": "artcollection", "tokenDesc": "token description", "symbol": "ART", "tokenStandard": "erc721+", "tokenType": "nonfungible", "tokenUnit": "whole", "behaviors": [ "indivisible", "singleton", "mintable", "transferable", "burnable", "roles" ], "roles": { "minter_role_name": "minter" }, "mintable": { "max_mint_quantity": 20000 }, "owner": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d", "createdBy": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d", "creationDate": "2022-04-05T08:30:42.000Z", "isBurned": false, "tokenUri": "https://bafybeid6pmpp62bongoip5iy2skosvyxh3gr7r2e35x3ctvawjco6ddmsq\\ .ipfs.infura-ipfs.io/?filename=MonaLisa.jpeg", "price": 100, "on_sale_flag": true } }, { "trxId": "e7747b3001a170f88688620956320e9402e1dd8edad8afb4818a08a34647337c", "timeStamp": 1649147442, "value": { "metadata": { "painting_name": "Mona_Lisa", "description": "Mona Lisa Painting", "image": "monalisa.jpeg", "painter_name": "Leonardo_da_Vinci" }, "assetType": "otoken", "tokenId": "monalisa", "tokenName": "artcollection", "tokenDesc": "token description", "symbol": "ART", "tokenStandard": "erc721+", "tokenType": "nonfungible", "tokenUnit": "whole", "behaviors": [ "indivisible", "singleton", "mintable", "transferable", "burnable", "roles" ], "roles": { "minter_role_name": "minter" }, "mintable": { "max_mint_quantity": 20000 }, "owner": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d", "createdBy": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d", "creationDate": "2022-04-05T08:30:42.000Z", "isBurned": false, "tokenUri": "\"https://bafybeid6pmpp62bongoip5iy2skosvyxh3gr7r2e35x3ctvawjco6ddmsq\\ .ipfs.infura-ipfs.io/?filename=MonaLisa.jpeg\"", "price": 100, "on_sale_flag": false } } ] "encode": "JSON" } }
-
getTransactionById
- 原始方法名稱:
getTransactionById
- 此方法會傳回指定交易 ID 的交易歷史記錄。此為非同步方法。此方法只能由鏈碼的
Token Admin
呼叫。 - 查詢:
/getTransactionById?transactionId=transactionId value
- 參數:
transactionId: string
– 交易的 ID,其為前置碼otransaction~
,後面接著十六進位格式的 64 位元雜湊。
- 傳回值範例:
{ "returnCode": "Success", "error": "", "result": { "payload": { "transactionId": "otransaction~6ffd0d94f234c12444a5d5aa559563b59dff4d2280b573fea956dc632bdaf5d4", "history": [ { "trxId": "6ffd0d94f234c12444a5d5aa559563b59dff4d2280b573fea956dc632bdaf5d4", "timeStamp": 1649151044, "value": { "assetType": "otransaction", "transactionId": "otransaction~6ffd0d94f234c12444a5d5aa559563b59dff4d2280b573fea956dc632bdaf5d4", "tokenId": "monalisa1", "fromAccountId": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d", "toAccountId": "", "triggeredByAccountId": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d", "transactionType": "BURN", "timestamp": "2022-04-05T09:30:44.000Z", } } ] }, "encode": "JSON" } }
-
getUserByAccountId
- 原始方法名稱:
getUserByAccountId
- 此 GET 方法會傳回指定帳戶的使用者詳細資訊。
- 查詢:
/getUserByAccountId?accountId=accountId value
- 參數:
accountId: string
– 帳戶的 ID。
- 傳回值範例:
{ "returnCode": "Success", "error": "", "result": { "payload": { "userId": "admin", "orgId": "Org1MSP" }, "encode": "JSON" } }
-
getUsersByRole
- 原始方法名稱:
getUsersByRole
- 此方法會傳回指定角色的所有使用者清單。
/getUsersByRole?role=role value (for example minter / burner)
- 參數:
role: string
– 要搜尋之角色的名稱。
- 傳回值範例:
{ "returnCode": "Success", "error": "", "result": { "payload": { "users": [ { "userId": "admin", "orgId": "Org1MSP" } ] }, "encode": "JSON" } }
-
init
- 原始方法名稱:
init
- 部署鏈碼時會呼叫此方法。使用者資訊會儲存為鏈碼的
Token Admin
。 - 有效負載:
{ "adminList": "[{\"orgId\":\"{{bc-org-id}}\",\"userId\":\"{{bc-admin-user}}\"}]" }
- 參數:
adminList array
– 指定記號管理員清單的{user_id, org_id}
資訊陣列。adminList
陣列是必要參數。
- 傳回值範例:
{ "returnCode": "Success", "error": "", "result": { "txid": "fdb7dc89832c8045a333823b77fa24ae628178148dc93b3550040e070d7cd807", "payload": "", "encode": "UTF-8", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 263 } }
-
isInRole
- 原始方法名稱:
isInRole
- 此 GET 方法會傳回布林值,指示使用者是否具有指定的角色。只有鏈碼的
Token Admin
或帳戶的Account Owner
才能呼叫此方法。 - 查詢:
/isInRole?orgId={{bc-org-id}}&userId={{bc-user-id}}&role=role value (for example minter / burner)
- 參數:
orgId: string
– 目前組織中使用者的成員身分服務提供者 (MSP) ID。userId: string
– 使用者的使用者名稱或電子郵件 ID。role: string
– 要搜尋之角色的名稱。
- 傳回值範例:
{ "returnCode": "Success", "error": "", "result": { "payload": { "result":"true" }, "encode": "JSON" } }
-
isInTokenSysRole
- 原始方法名稱:
isInTokenSysRole
- 此 GET 方法會傳回布林值,指示使用者是否具有指定的
TokenSys
角色。只有鏈碼的Token Admin
或帳戶的Account Owner
才能呼叫此方法。 - 查詢:
/isInTokenSysRole?orgId={{bc-org-id}}&userId={{bc-user-id}}&role=role value (for example vault)
- 參數:
role: string
– 要搜尋的TokenSys
角色名稱。orgId: string
– 目前組織中使用者的成員身分服務提供者 (MSP) ID。userId: string
– 使用者的使用者名稱或電子郵件 ID。
- 傳回值範例:
{ "returnCode": "Success", "error": "", "result": { "payload": { "result": true, "msg": "Account Id oaccount~bf07f584a94be44781e49d9101bfaf58c6fbbe77a4dfebdb83c874c2caf03eba (Org-Id: Org1MSP, User-Id: user1) has vault role" }, "encode": "JSON" } }
-
isNFTLocked
- 原始方法名稱:
isNFTLocked
- 此 GET 方法會傳回布林值,指示指定的記號是否被鎖定。只有鏈碼的
Token Admin
、記號擁有者或保存庫管理程式 (具備TokenSys vault
角色的使用者) 才能呼叫此方法。 - 查詢:
/isNFTLocked?tokenId={{bc-token-id}}
- 參數:
tokenId: string
– 記號的 ID。
- 傳回值範例:
{ "returnCode": "Success", "error": "", "result": { "payload": { "isNFTLocked":true }, "encode": "JSON" } }
-
lockNFT
- 原始方法名稱:
lockNFT
- 此 POST 方法會鎖定指定的不可行記號。若要鎖定記號,必須要有具備
TokenSys vault
角色的使用者,他們才能擔任 Vault 管理員。 - 有效負載:
{ "tokenId": "{{bc-token-id}}", "sameOrgEndorser": true }
- 參數:
tokenId: string
– 要鎖定之記號的 ID。sameOrgEndorser: boolean
– 布林值,指出交易背書是否必須來自與要求者相同的組織。
- 傳回值範例:
{ "returnCode": "Success", "error": "", "result": { "txid": "bd7416689b1acdace3c557faebbc0ad9a51671c10278ba6909350a6fe4b08eed", "payload": { "assetType":"otoken", "tokenId":"token1", "tokenName":"artcollection", "symbol":"ART", "tokenStandard":"erc721+", "tokenType":"nonfungible", "tokenUnit":"whole", "behaviors":[ "indivisible", "singleton", "mintable", "transferable", "lockable", "burnable", "roles" ], "roles":{ "minter_role_name":"minter" }, "mintable":{ "max_mint_quantity":20000 }, "createdBy":"oaccount~208e3345ac84b4849f0d2648b2f2f018019886a1230f99304ebff1b6a7733463", "creationDate":"2023-10-20T10:26:29.000Z", "owner":"oaccount~208e3345ac84b4849f0d2648b2f2f018019886a1230f99304ebff1b6a7733463", "isBurned":false, "isLocked":true, "tokenUri":"token1.example.com", "price":120, "on_sale_flag":false }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 193 } }
-
name
- 原始方法名稱:
name
- 此 GET 方法會傳回記號類別的名稱。任何人都可以呼叫這個方法。
- 查詢:
/name
- 參數: 無
- 傳回值範例:
{ "returnCode": "Success", "error": "", "result": { "payload": {"tokenName": "artcollection"}, "encode": "JSON" } }
-
ownerOf
- 原始方法名稱:
ownerOf
- 此 GET 方法會傳回指定權杖 ID 之擁有者的帳戶 ID。任何人都可以呼叫這個方法。
- 查詢:
/ownerOf?tokenId={{bc-token-id}}
- 參數:
tokenId: string
– 記號的 ID。
- 傳回值:
- 擁有者帳戶 ID 的 JSON 物件。
- 傳回值範例:
{ "returnCode": "Success", "error": "", "result": { "payload": { "owner": "oaccount~d6d22c3167e3c6ab9ee5653e1a008c37c20cc47ebb0229ca0aedfafe64c675b8" }, "encode": "JSON" } }
-
post
- 原始方法名稱:
post
- 此 POST 方法會張貼指定價格的銷售權杖。
- 有效負載:
{ "tokenId": "{{bc-token-id}}", "sellingPrice": 1, "endorsers": {{endorsers}} }
- 參數:
tokenId: string
– 記號的 ID。sellingPrice: number
– 記號的價格。endorsers: string[]
– 必須為交易背書的對等陣列 (例如peer1
、peer2
)。
- 傳回值範例:
{ "returnCode": "Success", "error": "", "result": { "txid": "bd7416689b1acdace3c557faebbc0ad9a51671c10278ba6909350a6fe4b08eed", "payload": { "msg": "Token ID: 'monalisa' has been posted for selling in the marketplace" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 193 } }
-
removeRole
- 原始方法名稱:
removeRole
- 此方法會從指定的使用者移除角色。此方法只能由鏈碼的
Token Admin
呼叫。 - 有效負載:
{ "role": "role value (for example minter / burner)", "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "endorsers": {{endorsers}} }
- 參數:
role: string
– 要從指定使用者移除的角色名稱。mintable
和burnable
行為對應規格檔案的minter_role_name
和burner_role_name
特性。orgId: string
– 目前組織中使用者的成員身分服務提供者 (MSP) ID。userId: string
– 使用者的使用者名稱或電子郵件 ID。endorsers: string[]
– 必須為交易背書的對等陣列 (例如peer1
、peer2
)。
- 傳回值範例:
{ "returnCode": "Success", "error": "", "result": { "txid": "bd7416689b1acdace3c557faebbc0ad9a51671c10278ba6909350a6fe4b08eed", "payload": { "msg": "Successfully removed role 'minter' from Account Id: oaccount~ec32cff8635a056f3dda3da70b1d6090d61f66c6a170c4a95fd008181f729dba (Org-Id: Org1MSP, User-Id: user1)" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 193 } }
-
removeTokenAdmin
- 原始方法名稱:
removeTokenAdmin
- 此 POST 方法會移除使用者作為鏈碼的
Token Admin
。此方法只能由鏈碼的Token Admin
呼叫。管理員無法移除自己。 - 有效負載:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "sameOrgEndorser": true }
- 參數:
org_id: string
– 目前組織中使用者的成員身分服務提供者 (MSP) ID。user_id: string
– 使用者的使用者名稱或電子郵件 ID。sameOrgEndorser: boolean
– 布林值,指出交易背書是否必須來自與要求者相同的組織。
- 傳回值範例:
{ "returnCode": "Success", "error": "", "result": { "txid": "bd7416689b1acdace3c557faebbc0ad9a51671c10278ba6909350a6fe4b08eed", "payload": { "msg": "Successfully removed Admin (orgId: Org1MSP, userId: User1)" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 193 } }
-
removeTokenSysRole
- 原始方法名稱:
removeTokenSysRole
- 此方法會從指定的使用者和記號移除
TokenSys
角色。此方法只能由鏈碼的Token Admin
呼叫。 - 有效負載:
{ "role": "role value (for example vault)", "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "endorsers": {{endorsers}} }
- 參數:
role: string
– 要從指定使用者移除的TokenSys
角色名稱。orgId: string
– 目前組織中使用者的成員身分服務提供者 (MSP) ID。userId: string
– 使用者的使用者名稱或電子郵件 ID。endorsers: string[]
– 必須為交易背書的對等陣列 (例如peer1
、peer2
)。
- 傳回值範例:
{ "returnCode": "Success", "error": "", "result": { "txid": "bd7416689b1acdace3c557faebbc0ad9a51671c10278ba6909350a6fe4b08eed", "payload": { "msg": "Successfully removed role 'vault' from Account Id: oaccount~bf07f584a94be44781e49d9101bfaf58c6fbbe77a4dfebdb83c874c2caf03eba (Org-Id: Org1MSP, User-Id: user1)" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 193 } }
-
safeTransferFrom
- 原始方法名稱:
safeTransferFrom
- 此為非同步函數。此 POST 方法會將指定 NFT 的所有權從呼叫程式轉移至另一個帳戶。此方法包含下列驗證:
- 記號已存在且未燒錄。
- 寄件人帳戶與接收者帳戶存在且不是相同的帳戶。
- 寄件者帳戶擁有權杖。
- 函數的呼叫者是寄件者。
- 有效負載:
{ "fromOrgId": "fromOrgId value", "fromUserId": "fromUserId value", "toOrgId": "toOrgId value", "toUserId": "toUserId value", "tokenId": "{{bc-token-id}}", "data": "data value", "endorsers": {{endorsers}} }
- 參數:
fromOrgId: string
– 目前組織中寄件者與記號擁有者的成員身分服務提供者 (MSP) ID。fromUserId: string
– 寄件者與記號擁有者的使用者名稱或電子郵件 ID。toOrgId: string
– 目前組織中接收者的成員身分服務提供者 (MSP) ID。toUserId: string
– 接收者的使用者名稱或電子郵件 ID。tokenId: string
– 要傳輸之記號的 ID。data: string
– 儲存在交易記錄中的選擇性其他資訊。endorsers: string[]
– 必須為交易背書的對等陣列 (例如peer1
、peer2
)。
- 傳回值範例:
{ "returnCode": "Success", "error": "", "result": { "txid": "bd7416689b1acdace3c557faebbc0ad9a51671c10278ba6909350a6fe4b08eed", "payload": { "msg": "Successfully transferred NFT token: 'monalisa' from Account-Id: oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d (Org-Id: Org1MSP, User-Id: admin) to Account-Id: oaccount~ec32cff8635a056f3dda3da70b1d6090d61f66c6a170c4a95fd008181f729dba (Org-Id: Org1MSP, User-Id: user1)" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 193 } }
-
suspendAccount
- 原始方法名稱:
suspendAccount
- 此方法會暫停有趣的權杖帳戶。如果在分類帳中找不到
accountStatus
值,則會發出錯誤。此方法只能由鏈碼的Token Admin
呼叫。 - 有效負載:
{ "orgId": "{{bc-org-id}}", "userId": "{{bc-user-id}}", "endorsers": {{endorsers}} }
- 參數:
orgId: string
– 目前組織中使用者的成員身分服務提供者 (MSP) ID。userId: string
– 使用者的使用者名稱或電子郵件 ID。endorsers: string[]
– 必須為交易背書的對等陣列 (例如peer1
、peer2
)。
- 傳回值範例:
{ "returnCode": "Success", "error": "", "result": { "txid": "bd7416689b1acdace3c557faebbc0ad9a51671c10278ba6909350a6fe4b08eed", "payload": { "assetType": "oaccountStatus", "statusId": "oaccountStatus~5a0b0d8b1c6433af9fedfe0d9e6580e7cf6b6bb62a0de6267aaf79f79d5e96d7", "accountId": "oaccount~1c568151c4acbcd1bd265c766c677145760a61c47fc8a3ba681a4cfbe287f9c1", "status": "suspended" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 193 } }
-
symbol
- 原始方法名稱:
symbol
- 此方法會傳回記號類別的符號。任何人都可以呼叫這個方法。
- 查詢:
/symbol
- 參數:
- 無
- 傳回值範例:
{ "returnCode": "Success", "error": "", "result": { "payload": { "symbol": "PNT" }, "encode": "JSON" } }
-
tokenURI
- 原始方法名稱:
tokenURI
- 此方法會傳回指定記號的 URI。任何人都可以呼叫這個方法。
- 查詢:
/tokenURI?tokenId={{bc-token-id}}
- 參數:
tokenId: string
– 記號的 ID。
- 傳回值範例:
{ "returnCode": "Success", "error": "", "result": { "payload": { "tokenURI": "https://bafybeid6pmpp62bongoip5iy2skosvyxh3gr7r2e35x3ctvawjco6ddmsq\.ipfs.infura-ipfs.io/?filename=MonaLisa.jpeg" }, "encode": "JSON" } }
-
totalNetSupply
- 原始方法名稱:
totalNetSupply
- 此 GET 方法會傳回有提示的記號總數減去已燒錄的記號數目。此方法只能由鏈碼的
Token Admin
呼叫。 /totalNetSupply
- 參數:
- 無
- 傳回值範例:
{ "returnCode": "Success", "error": "", "result": { "payload": { "totalNetSupply": 1 }, "encode": "JSON" } }
-
totalSupply
- 原始方法名稱:
totalSupply
- 此 GET 方法會傳回提示的記號總數。此方法只能由鏈碼的
Token Admin
呼叫。 - 查詢:
/totalSupply
- 參數:
- 無
- 傳回值範例:
{ "returnCode": "Success", "error": "", "result": { "payload": { "totalSupply": 3 }, "encode": "JSON" } }
-
transferFrom
- 原始方法名稱:
transferFrom
- 此為非同步函數。此方法會將指定 NFT 的所有權從寄件者帳戶轉移至接收者帳戶。呼叫者必須負責傳遞正確的參數。任何使用者都可以呼叫此方法,而不只是記號擁有者。此方法包含下列驗證:
- 記號已存在且未燒錄。
- 寄件人帳戶與接收者帳戶存在且不是相同的帳戶。
- 寄件者帳戶擁有權杖。
- 有效負載:
{ "fromOrgId": "fromOrgId value", "fromUserId": "fromUserId value", "toOrgId": "toOrgId value", "toUserId": "toUserId value", "tokenId": "{{bc-token-id}}", "endorsers": {{endorsers}} }
- 參數:
fromOrgId: string
– 目前組織中寄件者的成員身分服務提供者 (MSP) ID。fromUserId: string
– 寄件者的使用者名稱或電子郵件 ID。toOrgId: string
– 目前組織中接收者的成員身分服務提供者 (MSP) ID。toUserId: string
– 接收者的使用者名稱或電子郵件 ID。tokenId: string
– 要傳輸之記號的 ID。endorsers: string[]
– 必須為交易背書的對等陣列 (例如peer1
、peer2
)。
- 傳回值範例:
{ "returnCode": "Success", "error": "", "result": { "txid": "bd7416689b1acdace3c557faebbc0ad9a51671c10278ba6909350a6fe4b08eed", "payload": { "msg": "Successfully transferred NFT token: 'monalisa' from Account-Id: oaccount~ec32cff8635a056f3dda3da70b1d6090d61f66c6a170c4a95fd008181f729dba (Org-Id: Org1MSP, User-Id: user1) to Account-Id: oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d (Org-Id: Org1MSP, User-Id: admin)" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 193 } }
-
transferTokenSysRole
- 原始方法名稱:
transferTokenSysRole
- 此方法會將
TokenSys
角色從使用者傳輸給其他使用者。 - 有效負載:
{ "role": "role value (for example vault)", "fromOrgId": "fromOrgId value", "fromUserId": "fromUserId value", "toOrgId": "toOrgId value", "toUserId": "toUserId value", "endorsers": {{endorsers}} }
- 參數:
role: string
– 要傳輸之TokenSys
角色的名稱。fromOrgId: string
– 目前組織中寄件者的成員身分服務提供者 (MSP) ID。fromUserId: string
– 寄件者的使用者名稱或電子郵件 ID。toOrgId: string
– 目前組織中接收者的成員身分服務提供者 (MSP) ID。toUserId: string
– 接收者的使用者名稱或電子郵件 ID。endorsers: string[]
– 必須為交易背書的對等陣列 (例如peer1
、peer2
)。
- 傳回值範例:
{ "returnCode": "Success", "error": "", "result": { "txid": "bd7416689b1acdace3c557faebbc0ad9a51671c10278ba6909350a6fe4b08eed", "payload": { "msg": "Successfully transfered role 'vault' from Account Id: ouaccount~f4e311528f03fffa7810753d643f66289ff6c9080fcf839902f28a1d3aff1789 (Org-Id: Org1MSP, User-Id: user1) to Account Id: ouaccount~ae5be2ae8f98d6d32f5d02b43877d987114e7937c7bacbc30390dcce09996a19 (Org-Id: Org1MSP, User-Id: user2)" }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 193 } }
-
updateArtCollectionToken
- 原始方法名稱:
updateArtCollectionToken
- 此方法會更新記號特性。建立權杖資產之後,只有權杖擁有者可以更新權杖自訂特性。如果使用者同時是記號的記號擁有者和建立者,他們也可以更新
TokenDesc
特性。無法更新權杖描述資料。即使您只想要更新某些特性,也必須將所有記號特性傳遞至此方法。 - 有效負載:
{ "tokenAsset": "{\"tokenId\":\"{{bc-token-id}}\",\"tokenDesc\":\"tokenDesc value\",\"tokenUri\":\"tokenUri value\",\"Price\":999,\"On_Sale_Flag\":true}", "sameOrgEndorser": true }
- 參數:
tokenAsset: <Token Class>
– 要更新的記號資產。如需記號資產特性的詳細資訊,請參閱輸入設定檔案。endorsers: string[]
– 必須為交易背書的對等陣列 (例如peer1
、peer2
)。
- 傳回值範例:
{ "returnCode": "Success", "error": "", "result": { "txid": "bd7416689b1acdace3c557faebbc0ad9a51671c10278ba6909350a6fe4b08eed", "payload": { "metadata": { "painting_name": "Mona_Lisa", "description": "Mona Lisa Painting", "image": "monalisa.jpeg", "painter_name": "Leonardo_da_Vinci" }, "assetType": "otoken", "tokenId": "monalisa", "tokenName": "artcollection", "tokenDesc": "token description", "symbol": "ART", "tokenStandard": "erc721+", "tokenType": "nonfungible", "tokenUnit": "whole", "behaviors": [ "indivisible", "singleton", "mintable", "transferable", "burnable", "roles" ], "roles": { "minter_role_name": "minter" }, "mintable": { "max_mint_quantity": 20000 }, "owner": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d", "createdBy": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d", "creationDate": "2022-04-05T08:30:42.000Z", "isBurned": false, "tokenUri": "https://bafybeid6pmpp62bongoip5iy2skosvyxh3gr7r2e35x3ctvawjco6ddmsq\\.ipfs.infura-ipfs.io/?filename=MonaLisa.jpeg", "price": 100, "on_sale_flag": true }, "encode": "JSON", "sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009", "blockNumber": 193 } }