-
activateAccount
- 原始方法名稱:
activateAccount
- 此 POST 方法會啟用權杖帳戶。只有管理員或帳戶擁有者可以呼叫此方法。對於在分類帳中找不到
accountStatus
的現有科目,該方法會傳回狀態設為 active
的 accountStatus
物件。
- 有效負載:
{
"tokenId": "{{bc-token-id}}",
"orgId": "{{bc-org-id}}",
"userId": "{{bc-user-id}}",
"endorsers": {{endorsers}}
}
- 參數:
tokenId: string
– 記號的 ID。
orgId: string
– 目前組織中使用者的成員身分服務提供者 (MSP) ID。
userId: string
– 使用者的使用者名稱或電子郵件 ID。
endorsers: string[]
– 必須為交易背書的對等陣列 (例如 peer1
、peer2
)。
- 傳回值:
- 成功時,會顯示功能變數替代字帳戶之已更新帳戶狀態物件的 JSON 表示法。
- 傳回值範例:
{
"assetType": "oaccountStatus",
"status_id": "oaccountStatus~5a0b0d8b1c6433af9fedfe0d9e6580e7cf6b6bb62a0de6267aaf79f79d5e96d7",
"account_id": "oaccount~1c568151c4acbcd1bd265c766c677145760a61c47fc8a3ba681a4cfbe287f9c1",
"status": "active"
}
-
addTokenAdmin
- 原始方法名稱:
addTokenAdmin
- 此 POST 方法會將使用者新增為鏈碼的
Token Admin
。只有鏈碼的 Token Admin
才能呼叫此方法。
- 有效負載:
{
"orgId": "{{bc-org-id}}",
"userId": "{{bc-user-id}}",
"endorsers": {{endorsers}}
}
- 參數:
orgId: string
– 目前組織中使用者的成員身分服務提供者 (MSP) ID。
userId: string
– 使用者的使用者名稱或電子郵件 ID。
endorsers: string[]
– 必須為交易背書的對等陣列 (例如 peer1
、peer2
)。
- 傳回值:
- 成功時,包含以鏈碼
Token Admin
新增之使用者明細的訊息。
- 傳回值範例:
{
"msg": "Successfully added Admin (OrgId: appDev, UserId: user1)"
}
-
addRole
- 原始方法名稱:
addRole
- 此 POST 方法會將角色新增至指定的使用者與記號。只有鏈碼的
Token Admin
才能呼叫此方法。tokenDetails 參數「有趣」記號需要 tokenId
值作為輸入。非有趣的記號需要 tokenName 作為輸入,以便使用 tokenDetail 參數以不同方式指定有趣和不可行記號的詳細資訊。
- 有效負載:
{
"tokenId": "{{bc-token-id}}",
"orgId": "{{bc-org-id}}",
"userId": "{{bc-user-id}}",
"role": "role minter/burner"
"tokenDetails": "{"tokenName": "token name value"}"
"endorsers": {{endorsers}}
}
- 參數:
- 傳回值範例:
{
"msg": "Successfully added role 'minter' to Account Id: oaccount~1422a74d262a3a55a37cd9023ef8836f765d0be7b49d397696b9961d7434d22a
(Org-Id: appdev, User-Id: user2)"
}
-
associateFungibleTokenToAccount
- 原始方法名稱:
associateFungibleTokenToAccount
- 此 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。
endorsers: string[]
– 必須為交易背書的對等陣列 (例如 peer1
、peer2
)。
- 傳回值範例:
{
"assetType": "ouaccount",
"accountId": "ouaccount~24ffd4d32a028a85b4b960f5d55536c837b5429bc7f346150adfa904ec2937cc",
"userId": "user2",
"orgId": "appdev",
"totalAccounts": 1,
"totalFtAccounts": 1,
"associatedFtAccounts": [
{
"accountId": "oaccount~1422a74d262a3a55a37cd9023ef8836f765d0be7b49d397696b9961d7434d22a",
"tokenId": "tokenOne"
}
],
"associatedNftAccount": ""
}
-
buyWithEthCoin
- 原始方法名稱:
buyWithEthCoin
- 任何帳戶擁有者都可以使用此 POST 方法,使用 Ethereum 購買 NFT,並將忠誠度權杖移轉為獎勵點數。
- 有效負載:
{
"fromOrgId":"from_org_id value",
"fromUserId":"from_user_id value",
"toOrgId":"to_org_id value",
"toUserId":"to_user_id value",
"nftId":"[\"nft_id value\"]",
"loyaltyId":"[\"loyalty_id value\"]",
"ethQty":"[eth_qty value]",
"loyaltyRewardQuantity":"[loyalty_reward_quantity value]",
"endorsers":{{"endorsers"}}
}
- 參數:
fromOrgId: string
– 目前組織中寄件者 (所有者) 的成員身分服務提供者 (MSP) ID。
fromUserId: string
– 寄件者 (擁有者) 的使用者名稱或電子郵件 ID。
toOrgId: string
– 目前組織中接收者的成員身分服務提供者 (MSP) ID。
toUserId: string
– 接收者的使用者名稱或電子郵件 ID。
nftId: string
– 要購買之記號的 ID。
loyaltyId: string
– 代表忠誠度點數之有趣變數替代字的 ID。
ethQty: number
– Ethereum 中的記號價格。
loyaltyRewardQuantity: string
– 要移轉的忠誠度點數數量。
endorsers: string[]
– 必須為交易背書的對等陣列 (例如 peer1
、peer2
)。
- 傳回值範例:
{
"msg": "Token ID : 'artcollection1' has been successfully transferred to UserID : 'user1'"
}
-
balanceOfBatch
- 原始方法名稱:
balanceOfBatch
- 此 GET 方法會完成取得權杖帳戶餘額的批次作業。只有鏈碼的
Token Admin
或帳戶擁有者才能呼叫此方法。
- 查詢:
/balanceOfBatch?orgIds=["{{bc-org-id}}"]&userIds=["{{bc-user-id}}"]&tokenIds=["{{bc-token-id}}"]
- 參數:
orgIds: string[]
– 目前組織中的成員身分服務提供者 (MSP) ID 清單。
userIds: string[]
– 使用者名稱或電子郵件 ID 的清單。
tokenIds: string[]
– 記號 ID 的清單。
- 傳回值範例:
[
{
"orgId": "AppBldFFFFMay22",
"userId": "user2",
"userAccountId": "ouaccount~412de5e3998dcd100973e1bad6e8729fddc1c7ff610beab8376d733a35c51f38",
"tokenAccountId": "oaccount~e88276a3be547e31b567346bdddde52d37734da4d5fae83ab2e5c98a10097371",
"tokenId": "FNFT",
"balance": 100
},
{
"orgId": "AppBldFFFFMay22",
"userId": "user2",
"userAccountId": "ouaccount~412de5e3998dcd100973e1bad6e8729fddc1c7ff610beab8376d733a35c51f38",
"tokenAccountId": "oaccount~21206f309941a2a23c4f158a0fe1b8f12bb8e2b0c9a2e1358f5efebc0c7d410e",
"tokenId": "FT",
"balance": 50
},
{
"orgId": "AppBldFFFFMay22",
"userId": "example_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 陣列對應的要傳輸的記號數量清單。
endorsers: string[]
– 必須為交易背書的對等陣列 (例如 peer1
、peer2
)。
- 傳回值:
- 傳回值範例:
[
{
"msg": "Successfully transferred NFT token: 'FNFT' of '10' quantity from Account-Id: oaccount~e88276a3be547e31b567346bdddde52d37734da4d5fae83ab2e5c98a10097371 (Org-Id: AppBldFFFFMay22, User-Id: user2) to Account-Id: oaccount~dcee860665db8740cb77b846e823752185a1e9a185814d0acb305890f5903446 (Org-Id: AppBldFFFFMay22, User-Id: example_minter)"
},
{
"msg": "Successfully transferred 10 FT token: 'FT' from Account-Id: oaccount~21206f309941a2a23c4f158a0fe1b8f12bb8e2b0c9a2e1358f5efebc0c7d410e (Org-Id: AppBldFFFFMay22, User-Id: user2) to Account-Id: oaccount~1089ee5122f367ee0ca38c6660298f4b81f199627e4f67f3691c0f628237974c (Org-Id: AppBldFFFFMay22, User-Id: example_minter)"
},
{
"msg": "Successfully transferred NFT token: 'NFT' from Account-Id: oaccount~e88276a3be547e31b567346bdddde52d37734da4d5fae83ab2e5c98a10097371 (Org-Id: AppBldFFFFMay22, User-Id: user2) to Account-Id: oaccount~dcee860665db8740cb77b846e823752185a1e9a185814d0acb305890f5903446 (Org-Id: AppBldFFFFMay22, User-Id: example_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 陣列。
sameOrgEndorser: boolean
– 布林值,指出交易背書是否必須來自與要求者相同的組織。
- 傳回值:
- 傳回值範例:
[
{
"msg": "Successfully burned NFT token: 'art' from Account-Id: oaccount~76cb672eeb1bd535899562a840d0c15a356db89e24bc8b43ac1dba845a4282c6 (Org-Id: appdev, User-Id: user2)"
},
{
"msg": "Successfully burned 5 tokens of tokenId: tokenOne from Account-ID oaccount~1422a74d262a3a55a37cd9023ef8836f765d0be7b49d397696b9961d7434d22a (Org-Id: appdev, User-Id: user2)"
},
{
"msg": "Successfully burned 2 token share of tokenId: FNFT from Account-ID oaccount~87bcb699d507368ee3966cd03ee6d7736ffc55dde8c0f0e16b14866334ac504a (Org-Id: AutoF1377358917, User-Id: user2)"
}
]
-
burnNFT
- 原始方法名稱:
burnNFT
- 此 POST 方法會停用或燒錄指定的不可見記號,並傳回記號物件和記號歷史記錄。任何具有燒錄機角色的使用者都可以呼叫這個方法。
- 有效負載:
{
"orgId": "{{bc-org-id}}",
"userId": "{{bc-user-id}}",
"tokenId": "{{bc-token-id}}",
"sameOrgEndorser": true
}
- 參數:
orgId: string
– 目前組織中的成員身分服務提供者 (MSP) ID。
userId: string
– 使用者名稱或電子郵件 ID。
tokenId: string
– 要燒錄之不可行記號的 ID
sameOrgEndorser: boolean
– 布林值,指出交易背書是否必須來自與要求者相同的組織。
- 傳回值:
- 傳回值範例:
{
"msg": "Successfully burned NFT token: 'art' from Account-Id: oaccount~76cb672eeb1bd535899562a840d0c15a356db89e24bc8b43ac1dba845a4282c6 (Org-Id: appdev, User-Id: user2)"
}
-
createAccount
- 原始方法名稱:
createAccount
- 此 POST 方法會為指定的使用者和關聯的記號帳戶建立有趣或不可行記號的帳戶。必須為任何需要記號的使用者建立帳戶。使用者帳戶會追蹤使用者持有的 NFT 帳戶和有趣的記號帳戶。使用者必須擁有網路中的帳號,才能完成記號相關的作業。只有鏈碼的
Token Admin
才能呼叫此方法。
使用者帳戶具有唯一 ID,由 orgId
參數的 SHA-256 雜湊和 userId
參數組成。
使用者可以有多個具有唯一帳戶 ID 的可行權杖帳戶。有趣的記號帳戶 ID 是由 orgId
參數的 SHA-256 雜湊、userId
參數、以波狀符號 (~
) 區隔的常數字串 ft
,以及代表正由波狀符號 (~
) 區隔之有趣帳戶索引的計數器編號所組成。
使用者只能有一個不可執行的權杖帳戶。非可行的記號帳戶 ID 是唯一的,由 orgId
參數的 SHA-256 雜湊、userId
參數以及以波狀符號 (~
) 區隔的常數字串 nft
組成。使用者擁有的所有非可行權杖 (不論是全部或小數) 都會連結至此帳戶。
使用者帳戶 ID 開頭為 ouaccount~
。記號帳戶 ID 開頭為 oaccount~
。
- 有效負載:
{
"orgId": "{{bc-org-id}}",
"userId": "{{bc-user-id}}",
"ftAccount": true,
"nftAccount": true,
"endorsers": {{endorsers}}
}
- 參數:
orgId: string
– 目前組織中使用者的成員身分服務提供者 (MSP) ID。
userId: string
– 使用者的使用者名稱或電子郵件 ID。
ftAccount: boolean
– 若為 true,則會建立有趣的記號帳戶並與使用者帳戶建立關聯。
nftAccount: boolean
– 若為 true,則會建立與使用者帳戶相關聯的不可行記號帳戶。
endorsers: string[]
– 必須為交易背書的對等陣列 (例如 peer1
、peer2
)。
- 傳回值範例:
{
"assetType": "ouaccount",
"accountId": "ouaccount~cf20877546f52687f387e7c91d88b9722c97e1a456cc0484f40c747f7804feae",
"userId": "user1",
"orgId": "appdev",
"totalAccounts": 2,
"totalFtAccounts": 1,
"associatedFtAccounts": [
{
"accountId": "oaccount~60bb20c14a83f6e426e1437c479c5891e1c6477dfd7ad18b73acac5d80bc504b",
"tokenId": ""
}
],
"associatedNftAccount": "oaccount~73c3e835dac6d0a56ca9d8def08269f83cefd59b9d297fe2cdc5a9083828fa58"
}
-
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\",\"tokenMetadata\":{\"Painting_Name\":\"Painting_Name value\",\"Description\":\"Description value\",\"Painter_Name\":\"Painter_Name value\"},\"Price\":999,\"On_Sale_Flag\":true}",
"quantity": 1,
"sameOrgEndorser": true
}
- 參數:
tokenAsset: <Token Class>
– 要提示的記號資產。如需記號資產特性的詳細資訊,請參閱輸入設定檔案。
quantity: number
– 要提示的單詞數目。此參數的唯一支援值為 1
。
sameOrgEndorser: boolean
– 布林值,指出交易背書是否必須來自與要求者相同的組織。
- 傳回值範例:
{
"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"
}
-
createLoyaltyToken
- 原始方法名稱:
createLoyaltyToken
- 此 POST 方法會建立記號。每個定義的記號都有自己的建立方法。只有鏈碼的
Token Admin
才能呼叫此方法。
- 有效負載:
{
"tokenAsset": "{\"tokenId\":\"{{bc-token-id}}\",\"tokenDesc\":\"tokenDesc value\",\"Token_Name\":\"Token_Name value\",\"Token_to_Currency_Ratio\":999}",
"sameOrgEndorser": true
}
- 參數:
tokenAsset: <Token Class>
– 權杖資產。資產的特性是在模型檔案中定義。
sameOrgEndorser: boolean
– 布林值,指出交易背書是否必須來自與要求者相同的組織。
- 傳回值範例:
{
"assetType": "otoken",
"events": false,
"tokenId": "token2",
"tokenName": "loyalty",
"tokenDesc": "tokenDesc value",
"tokenStandard": "erc1155+",
"tokenType": "fungible",
"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"
}
-
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
– 要建立的記號帳戶類型。唯一支援的記號類型為 nonfungible
和 fungible
。
endorsers: string[]
– 必須為交易背書的對等陣列 (例如 peer1
、peer2
)。
- 傳回值:
- 傳回值範例:
{
"assetType": "ouaccount",
"accountId": "ouaccount~24ffd4d32a028a85b4b960f5d55536c837b5429bc7f346150adfa904ec2937cc",
"userId": "user2",
"orgId": "appdev",
"totalAccounts": 1,
"totalFtAccounts": 1,
"associatedFtAccounts": [
{
"accountId": "oaccount~1422a74d262a3a55a37cd9023ef8836f765d0be7b49d397696b9961d7434d22a",
"tokenId": ""
}
],
"associatedNftAccount": "oaccount~1422a74d262a3a55a37cd9023ef8836f765d0be7b49d397696b9961d7434d22a"
}
-
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。
endorsers: string[]
– 必須為交易背書的對等陣列 (例如 peer1
、peer2
)。
- 傳回值:
- 傳回值範例:
{
"assetType": "ouaccount",
"accountId": "ouaccount~24ffd4d32a028a85b4b960f5d55536c837b5429bc7f346150adfa904ec2937cc",
"userId": "user2",
"orgId": "appdev",
"totalAccounts": 0,
"totalFtAccounts": 0,
"associatedFtAccounts": [],
"associatedNftAccount": ""
}
-
deleteAccount
- 原始方法名稱:
deleteAccount
- 此 POST 方法會刪除記號帳戶。帳戶刪除後,帳戶處於最終狀態,無法更新或變更為任何其他狀態。若要刪除帳戶,帳戶餘額必須為零。只有鏈碼的
Token Admin
才能呼叫此方法。
- 有效負載:
{
"orgId": "{{bc-org-id}}",
"userId": "{{bc-user-id}}",
"endorsers": {{endorsers}}
}
- 參數:
orgId: string
– 目前組織中使用者的成員身分服務提供者 (MSP) ID。
userId: string
– 使用者的使用者名稱或電子郵件 ID。
endorsers: string[]
– 必須為交易背書的對等陣列 (例如 peer1
、peer2
)。
- 傳回值:
- 傳回值範例:
{
"assetType": "oaccountStatus",
"status_id": "oaccountStatus~5a0b0d8b1c6433af9fedfe0d9e6580e7cf6b6bb62a0de6267aaf79f79d5e96d7",
"account_id": "oaccount~1c568151c4acbcd1bd265c766c677145760a61c47fc8a3ba681a4cfbe287f9c1",
"status": "deleted"
}
-
exchangeToken
- 原始方法名稱:
exchangeToken
- 此方法會在指定的帳戶之間交換記號。此方法僅支援在 NFT、真菌記號或真菌記號與 NFT 之間交換。NFT 可為整體或分數。只有帳戶擁有者才能呼叫此方法。
- 有效負載:
{
"fromTokenId": "fromTokenId value",
"fromOrgId": "fromOrgId value",
"fromUserId": "fromUserId value",
"fromTokenQuantity": 1,
"toTokenId": "toTokenId value",
"toOrgId": "toOrgId value",
"toUserId": "toUserId value",
"toTokenQuantity": 1,
"endorsers": {{endorsers}}
}
- 參數:
fromTokenId: string
– 寄件者所擁有之記號的 ID。
fromOrgId: string
– 目前組織中寄件者的成員身分服務提供者 (MSP) ID。
fromUserId: string
– 寄件者的使用者名稱或電子郵件 ID。
fromTokenQuantity: number
– 傳送者與接收者交換的記號數量。
toTokenId: string
– 接收者所擁有之記號的 ID。
toOrgId: string
– 目前組織中接收者的成員身分服務提供者 (MSP) ID。
toUserId: string
– 接收者的使用者名稱或電子郵件 ID。
toTokenQuantity: number
– 接收者與寄件者交換的記號數量。
endorsers: string[]
– 必須為交易背書的對等陣列 (例如 peer1
、peer2
)。
- 傳回值:
- 傳回值範例:
{
"msg": "Succesfully exchanged 10 tokens of type nonfungible with tokenId: [r1] from Account oaccount~e88276a3be547e31b567346bdddde52d37734da4d5fae83ab2e5c98a10097371 (OrgId: AppBldFFFFMay22, UserId: user2) to 10 tokens of type fungible with tokenId: [loy1] from Account oaccount~1089ee5122f367ee0ca38c6660298f4b81f199627e4f67f3691c0f628237974c (OrgId: AppBldFFFFMay22, UserId: example_minter)"
}
-
getAccount
- 原始方法名稱:
getAccount
- 此 GET 方法會傳回指定使用者的權杖帳戶詳細資訊。只有鏈碼的
Token Admin
或帳戶的 Account Owner
才能呼叫此方法。
- 查詢:
/getAccount?orgId={{bc-org-id}}&userId={{bc-user-id}}
- 參數:
orgId: string
– 目前組織中使用者的成員身分服務提供者 (MSP) ID。
userId: string
– 使用者的使用者名稱或電子郵件 ID。
- 傳回值:
- 傳回值範例
{
"assetType": "oaccount",
"accountId": "oaccount~e88276a3be547e31b567346bdddde52d37734da4d5fae83ab2e5c98a10097371",
"userId": "user2",
"orgId": "AppBldFFFFMay22",
"tokenType": "nonfungible",
"noOfNfts": 3
}
-
getAccountDetailsByUser
- 原始方法名稱:
getAccountDetailsByUser
- 此 GET 方法會傳回指定使用者的帳戶詳細資訊。只有鏈碼的
Token Admin
或帳戶的 Account Owner
才能呼叫此方法。
- 查詢:
/getAccountDetailsByUser?orgId={{bc-org-id}}&userId={{bc-user-id}}
- 參數:
orgId: string
– 目前組織中使用者的成員身分服務提供者 (MSP) ID。
userId: string
– 使用者的使用者名稱或電子郵件 ID。
- 傳回值範例:
{
"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"
}
]
}
}
-
getAccountHistory
- 原始方法名稱:
getAccountHistory
- 此 GET 方法會傳回指定權杖帳戶的帳戶歷史記錄。若為 NFT 帳戶,
tokenId
參數必須空白。只有鏈碼的 Token Admin
或帳戶擁有者才能呼叫此方法。
- 查詢:
/getAccountHistory?orgId={{bc-org-id}}&userId={{bc-user-id}}&tokenId={{bc-token-id}}
- 參數:
orgId: string
– 目前組織中使用者的成員身分服務提供者 (MSP) ID。
userId: string
– 使用者的使用者名稱或電子郵件 ID。
tokenId: string
– 不良記號的 ID。
- 傳回值範例:
[
{
"trxId": "a2cfc6fc064334d6b9931cdf67193711ec2ff5c50a4714f11855fe7384f00e35",
"timeStamp": "2023-06-06T14:44:31.000Z",
"value": {
"accountId": "oaccount~21206f309941a2a23c4f158a0fe1b8f12bb8e2b0c9a2e1358f5efebc0c7d410e",
"assetType": "oaccount",
"balance": 100,
"orgId": "AppBldFFFFMay22",
"tokenId": "loy1",
"tokenName": "loyalty",
"tokenType": "fungible",
"userId": "user2"
}
},
{
"trxId": "de483cf7505ae4e7018c4b604c3ab9327c2fb1f802d9408e22735667c1d6997f",
"timeStamp": "2023-06-06T14:43:23.000Z",
"value": {
"assetType": "oaccount",
"accountId": "oaccount~21206f309941a2a23c4f158a0fe1b8f12bb8e2b0c9a2e1358f5efebc0c7d410e",
"userId": "user2",
"orgId": "AppBldFFFFMay22",
"tokenType": "fungible",
"tokenId": "loy1",
"tokenName": "loyalty",
"balance": 0
}
},
{
"trxId": "db053e653d3ad9aa5b7b6e04b7cd51aacfbb413272d857a155b60d2a6a12bf4d",
"timeStamp": "2023-06-05T16:59:08.000Z",
"value": {
"assetType": "oaccount",
"accountId": "oaccount~21206f309941a2a23c4f158a0fe1b8f12bb8e2b0c9a2e1358f5efebc0c7d410e",
"userId": "user2",
"orgId": "AppBldFFFFMay22",
"tokenType": "fungible",
"tokenId": "",
"balance": 0
}
}
]
-
getAccountStatus
- 原始方法名稱:
getAccountStatus
- 此 GET 方法會擷取權杖帳戶的目前狀態。鏈碼的
Token Admin
或權杖帳戶擁有者可以呼叫此方法。
- 查詢:
/getAccountStatus?orgId={{bc-org-id}}&userId={{bc-user-id}}
- 參數:
orgId: string
– 目前組織中使用者的成員身分服務提供者 (MSP) ID。
userId: string
– 使用者的使用者名稱或電子郵件 ID。
- 傳回值:
- 傳回值範例:
{
"assetType": "oaccountStatus",
"status_id": "oaccountStatus~5a0b0d8b1c6433af9fedfe0d9e6580e7cf6b6bb62a0de6267aaf79f79d5e96d7",
"account_id": "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。
- 傳回值:
- 傳回值範例:
[
{
"trxId": "d5c6d6f601257ba9b6edaf5b7660f00adc13c37d5321b8f7d3a35afab2e93e63",
"timeStamp": "2022-12-02T10:39:14.000Z",
"value": {
"assetType": "oaccountStatus",
"status_id": "oaccountStatus~5a0b0d8b1c6433af9fedfe0d9e6580e7cf6b6bb62a0de6267aaf79f79d5e96d7",
"account_id": "oaccount~1c568151c4acbcd1bd265c766c677145760a61c47fc8a3ba681a4cfbe287f9c1",
"status": "suspended"
}
},
{
"trxId": "e6c850cfa084dc20ad95fb2bb8165eef3a3bd62a0ac867cccee57c2003125183",
"timeStamp": "2022-12-02T10:37:50.000Z",
"value": {
"assetType": "oaccountStatus",
"status_id": "oaccountStatus~5a0b0d8b1c6433af9fedfe0d9e6580e7cf6b6bb62a0de6267aaf79f79d5e96d7",
"account_id": "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
- 此方法會傳回指定角色的所有帳戶 ID 清單。只有鏈碼的
Token Admin
才能呼叫此方法。
- 查詢:
/getAccountsByRole?role=role value (for example minter / burner)&tokenDetail={"tokenName":"tokenName value"}
- 參數:
- 傳回值範例:
{
"accounts": [
"oaccount~1422a74d262a3a55a37cd9023ef8836f765d0be7b49d397696b9961d7434d22a",
"oaccount~60bb20c14a83f6e426e1437c479c5891e1c6477dfd7ad18b73acac5d80bc504b"
]
}
-
getAllAccounts
- 原始方法名稱:
getAllAccounts
- 此 GET 方法會傳回所有使用者帳戶的詳細資訊。只有鏈碼的
Token Admin
才能呼叫此方法。
- 查詢:
/getAllAccounts
- 參數:
- 傳回值:
- 傳回值範例:
[
{
"assetType": "ouaccount",
"accountId": "ouaccount~412de5e3998dcd100973e1bad6e8729fddc1c7ff610beab8376d733a35c51f38",
"userId": "user2",
"orgId": "AppBldFFFFMay22",
"totalAccounts": 2,
"totalFtAccounts": 1,
"associatedFtAccounts": [
{
"accountId": "oaccount~21206f309941a2a23c4f158a0fe1b8f12bb8e2b0c9a2e1358f5efebc0c7d410e",
"tokenId": "loy1"
}
],
"associatedNftAccount": "oaccount~e88276a3be547e31b567346bdddde52d37734da4d5fae83ab2e5c98a10097371"
},
{
"assetType": "ouaccount",
"accountId": "ouaccount~9501bb774c156eb8354dfe489250ea91f757523d70f08ee494bda98bb352003b",
"userId": "example_minter",
"orgId": "AppBldFFFFMay22",
"totalAccounts": 2,
"totalFtAccounts": 1,
"associatedFtAccounts": [
{
"accountId": "oaccount~1089ee5122f367ee0ca38c6660298f4b81f199627e4f67f3691c0f628237974c",
"tokenId": "loy1"
}
],
"associatedNftAccount": "oaccount~dcee860665db8740cb77b846e823752185a1e9a185814d0acb305890f5903446"
},
]
-
getAllTokenAdmins
- 原始方法名稱:
getAllTokenAdmins
- 此 GET 方法會傳回屬於鏈碼之
Token Admin
的所有使用者清單。只有鏈碼的 Token Admin
才能呼叫此方法。
- 查詢:
/getAllTokenAdmins
- 參數:
- 傳回值:
- 成功時,會有 JSON 格式的
admins
陣列,其中包含 orgId
和 userId
物件。
- 傳回值範例:
{
"admins": [
{
"orgId": "appdev",
"userId": "user2"
},
{
"orgId": "appdev",
"userId": "user1"
}
]
}
-
getAllTokens
- 原始方法名稱:
getAllTokens
- 此 GET 方法會傳回儲存在狀態資料庫中的所有記號資產。只有鏈碼的
Token Admin
才能呼叫此方法。此方法使用 Berkeley DB SQL Rich Query,而且只有在連線至遠端 Oracle Blockchain Platform 網路時才能呼叫。
- 查詢:
/getAllTokens
- 參數:
- 傳回值範例:
[{
"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 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。
- 傳回值範例:
[{
"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"
}]
-
getTokenById
- 原始方法名稱:
getTokenById
- 如果憑證存在於狀態資料庫中,則此 GET 方法會傳回記號物件。只有鏈碼或記號擁有者的
Token Admin
才能呼叫此方法。若為分數 NFT,回應會包含記號擁有者的清單。
- 查詢:
/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"
}
]
-
getTokenDecimal
- 原始方法名稱:
getTokenDecimal
- 此方法會傳回指定記號的小數位數。只有鏈碼的
Token Admin
才能呼叫此方法。
- 查詢:
/getTokenDecimal?tokenId={{bc-token-id}}
- 參數:
tokenId: string
– 記號的 ID。
- 傳回值範例:
{
"msg": "Token Id: tokenOne has 2 decimal places."
}
-
getTokenHistory
- 原始方法名稱:
getTokenHistory
- 此 GET 方法會傳回指定記號 ID 的歷史記錄。任何人都可以呼叫這個方法。
/getTokenHistory?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"
}
]
-
getTokensByName
- 原始方法名稱:
getTokensByName
- 此 GET 方法會傳回指定權杖名稱的所有權杖資產。此方法使用 Berkeley DB SQL Rich Query,且只能在連線至遠端 Oracle Blockchain Platform 網路時呼叫。只有鏈碼的
Token Admin
才能呼叫此方法。
- 查詢:
/getTokensByName?tokenName=tokenName value
- 參數:
tokenName: string
– 記號的名稱。
- 傳回值範例:
[
{
"key": "tokenOne",
"valueJson": {
"assetType": "otoken",
"tokenId": "tokenOne",
"tokenName": "moneytok",
"tokenStandard": "erc1155+",
"tokenType": "fungible",
"tokenUnit": "fractional",
"behaviors": [
"divisible",
"mintable",
"transferable",
"roles"
],
"roles": {
"minter_role_name": "minter",
"burner_role_name": "burner"
},
"mintable": {
"max_mint_quantity": 1000
},
"divisible": {
"decimal": 2
}
}
},
{
"key": "tokenTwo",
"valueJson": {
"assetType": "otoken",
"tokenId": "tokenTwo",
"tokenName": "moneytok",
"tokenStandard": "erc1155+",
"tokenType": "fungible",
"tokenUnit": "fractional",
"behaviors": [
"divisible",
"mintable",
"transferable",
"roles"
],
"roles": {
"minter_role_name": "minter",
"burner_role_name": "burner"
},
"mintable": {
"max_mint_quantity": 1000
},
"divisible": {
"decimal": 2
}
}
}
]
-
getTransactionById
- 原始方法名稱:
getTransactionById
- 此 GET 方法會傳回指定交易 ID 的交易歷史記錄。此為非同步方法。任何使用者都可以呼叫這個方法。
- 查詢:
/getTransactionById?transactionId=transactionId value
- 參數:
transactionId: string
– 交易的 ID,其為前置碼 otransaction~
,後面接著十六進位格式的 64 位元雜湊。
- 傳回值範例:
{
"transactionId": "otransaction~9ea7b05ab099f7ff4db8342b8c3609031f1d54f11205906e7f1fe88661fe3cbe~33b59ce0c89e96c1e16449f24301581e8e71954f38ad977c7eb6f065e87f2a53",
"history": [
{
"trxId": "9ea7b05ab099f7ff4db8342b8c3609031f1d54f11205906e7f1fe88661fe3cbe",
"timeStamp": "2022-12-08T09:01:28.000Z",
"value": {
"assetType": "otransaction",
"transactionId": "otransaction~9ea7b05ab099f7ff4db8342b8c3609031f1d54f11205906e7f1fe88661fe3cbe~33b59ce0c89e96c1e16449f24301581e8e71954f38ad977c7eb6f065e87f2a53",
"tokenId": "tokenOne",
"fromAccountId": "oaccount~1422a74d262a3a55a37cd9023ef8836f765d0be7b49d397696b9961d7434d22a",
"toAccountId": "",
"transactionType": "BURN",
"amount": 5,
"timestamp": "2022-12-08T09:01:28.000Z",
"triggeredByUserAccountId": "ouaccount~24ffd4d32a028a85b4b960f5d55536c837b5429bc7f346150adfa904ec2937cc"
}
}
]
}
-
getUserByAccountId
- 原始方法名稱:
getUserByAccountId
- 此 GET 方法會傳回指定帳戶 ID 的組織 ID 和使用者 ID。
- 查詢:
/getUserByAccountId?accountId=accountId value
- 參數:
accountId: string
– 帳戶的 ID。
- 傳回值範例:
{
"orgId": "AppBldFFFFMay22",
"userId": "user2"
}
-
getUsersByRole
- 原始方法名稱:
getUsersByRole
- 此 GET 方法會傳回指定角色的所有使用者清單。
- 查詢:
/getUsersByRole?role=role value (for example minter / burner)&tokenDetail={"tokenName":"tokenName value"}
- 參數:
- 傳回值範例:
{
"users": [
{
"accountId": "oaccount~1422a74d262a3a55a37cd9023ef8836f765d0be7b49d397696b9961d7434d22a",
"orgId": "appdev",
"userId": "user2"
},
{
"accountId": "oaccount~60bb20c14a83f6e426e1437c479c5891e1c6477dfd7ad18b73acac5d80bc504b",
"orgId": "appdev",
"userId": "user1"
}
]
}
-
init
- 原始方法名稱:
init
- 部署鏈碼時,會呼叫此 POST 方法。使用者資訊會儲存為鏈碼的
Token Admin
。
- 有效負載:
{
"adminList": "[{\"orgId\":\"{{bc-org-id}}\",\"userId\":\"{{bc-user-id}}\"}]"
}
- 參數:
adminList array
– 指定記號管理員清單的 {user_id, org_id}
資訊陣列。adminList
陣列是必要參數。
- 傳回值:
- 傳回值範例:
{
}
-
isInRole
- 原始方法名稱:
isInRole
- 此 GET 方法會傳回布林值,指示使用者是否具有指定的角色。只有鏈碼的
Token Admin
或帳戶的 Account Owner
才能呼叫此方法。
- 查詢:
/isInRole?orgId={{bc-org-id}}&userId={{bc-user-id}}&role=role value (for example minter / burner)&tokenDetail={"tokenName":"tokenName value"}
- 參數:
- 傳回值範例:
{
"result": true,
"msg": "Account Id oaccount~1422a74d262a3a55a37cd9023ef8836f765d0be7b49d397696b9961d7434d22a (Org-Id: appdev, User-Id: user2) 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[]
– 提示記號的記號 ID 清單。
quantity: number[]
– 對應至記號 ID 陣列的記號數量清單。
sameOrgEndorser: boolean
– 布林值,指出交易背書是否必須來自與要求者相同的組織。
- 傳回值:
- 傳回值範例:
{
"msg": "Successfully minted batch of tokens for User-Account-Id ouaccount~412de5e3998dcd100973e1bad6e8729fddc1c7ff610beab8376d733a35c51f38 (Org-Id: AppBldFFFFMay22, User-Id: user2).",
"details": [
{
"msg": "Successfully minted 100 tokens of fractional tokenId: plot55 to Org-Id: AppBldFFFFMay22, User-Id: user2"
},
{
"msg": "Successfully minted 100 tokens of tokenId: loyalty to Token-Account-Id oaccount~21206f309941a2a23c4f158a0fe1b8f12bb8e2b0c9a2e1358f5efebc0c7d410e"
}
]
}
-
name
- 原始方法名稱:
name
- 此 GET 方法會傳回記號類別的名稱。任何人都可以呼叫這個方法。
- 查詢:
/name?tokenId={{bc-token-id}}
- 參數:
tokenId: string
– 記號的 ID。
- 傳回值範例:
{
"tokenName": "artcollection"
}
-
ownerOf
- 原始方法名稱:
ownerOf
- 此 GET 方法會傳回指定權杖 ID 之擁有者的帳戶 ID。任何人都可以呼叫這個方法。
- 查詢:
/ownerOf?tokenId={{bc-token-id}}
- 參數:
tokenId: string
– 記號的 ID。
- 傳回值:
- 傳回值範例:
[
{
"accountId": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d",
"orgId": "Org1MSP",
"userId": "admin"
},
{
"accountId": "oaccount~74108eca702bab6d8548e740254f2cc7955d886885251d52d065042172a59db0",
"orgId": "Org1MSP",
"userId": "user"
}
]
-
post
- 原始方法名稱:
post
- 此 POST 方法會張貼指定價格的銷售權杖。
- 有效負載:
{
"tokenId": "{{bc-token-id}}",
"sellingPrice": 1,
"endorsers": {{endorsers}}
}
- 參數:
tokenId: string
– 記號的 ID。
sellingPrice: number
– 記號的價格。
endorsers: string[]
– 必須為交易背書的對等陣列 (例如 peer1
、peer2
)。
- 傳回值範例:
{
"msg": "Token ID : 'artCollection1' has been posted for selling in the marketplace"
}
-
removeRole
- 原始方法名稱:
removeRole
- 此方法會從指定的使用者移除角色。只有鏈碼的
Token Admin
才能呼叫此方法。
- 有效負載:
{
"orgId": "{{bc-org-id}}",
"userId": "{{bc-user-id}}",
"role": "role value (for example minter / burner)",
"tokenDetail": "{\"tokenName\":\"tokenName value\"}",
"endorsers": {{endorsers}}
}
- 參數:
- 傳回值範例:
{
"msg": "Successfully removed role 'minter' from Account Id: oaccount~60bb20c14a83f6e426e1437c479c5891e1c6477dfd7ad18b73acac5d80bc504b (Org-Id: appdev, User-Id: user1)"
}
-
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
– 布林值,指出交易背書是否必須來自與要求者相同的組織。
- 傳回值範例:
{
"msg": "Successfully removed Admin (OrgId: appDev, UserId: user1)"
}
-
safeBatchTransferFrom
- 原始方法名稱:
safeBatchTransferFrom
- 此 POST 方法會將指定記號的所有權從呼叫程式轉移到另一個帳戶。此方法的呼叫程式必須是記號的傳送者,而且必須擁有指定的記號。對於分數 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 陣列對應的要傳輸的記號數量清單。
endorsers: string[]
– 必須為交易背書的對等陣列 (例如 peer1
、peer2
)。
- 傳回值範例:
[
{
"msg": "Successfully transferred NFT token: 'FNFT' of '10' quantity from Account-Id: oaccount~e88276a3be547e31b567346bdddde52d37734da4d5fae83ab2e5c98a10097371 (Org-Id: AppBldFFFFMay22, User-Id: user2) to Account-Id: oaccount~dcee860665db8740cb77b846e823752185a1e9a185814d0acb305890f5903446 (Org-Id: AppBldFFFFMay22, User-Id: example_minter)"
},
{
"msg": "Successfully transferred 10 FT token: 'FT' from Account-Id: oaccount~21206f309941a2a23c4f158a0fe1b8f12bb8e2b0c9a2e1358f5efebc0c7d410e (Org-Id: AppBldFFFFMay22, User-Id: user2) to Account-Id: oaccount~1089ee5122f367ee0ca38c6660298f4b81f199627e4f67f3691c0f628237974c (Org-Id: AppBldFFFFMay22, User-Id: example_minter)"
},
{
"msg": "Successfully transferred NFT token: 'NFT' from Account-Id: oaccount~e88276a3be547e31b567346bdddde52d37734da4d5fae83ab2e5c98a10097371 (Org-Id: AppBldFFFFMay22, User-Id: user2) to Account-Id: oaccount~dcee860665db8740cb77b846e823752185a1e9a185814d0acb305890f5903446 (Org-Id: AppBldFFFFMay22, User-Id: example_minter)"
}
]
-
suspendAccount
- 原始方法名稱:
suspendAccount
- 此 POST 方法會暫停有趣的權杖帳戶。如果在分類帳中找不到
accountStatus
值,則會發出錯誤。只有鏈碼的 Token Admin
才能呼叫此方法。
- 有效負載:
{
"orgId": "{{bc-org-id}}",
"userId": "{{bc-user-id}}",
"endorsers": {{endorsers}}
}
- 參數:
orgId: string
– 目前組織中使用者的成員身分服務提供者 (MSP) ID。
userId: string
– 使用者的使用者名稱或電子郵件 ID。
endorsers: string[]
– 必須為交易背書的對等陣列 (例如 peer1
、peer2
)。
- 傳回值範例:
{
"assetType": "oaccountStatus",
"status_id": "oaccountStatus~5a0b0d8b1c6433af9fedfe0d9e6580e7cf6b6bb62a0de6267aaf79f79d5e96d7",
"account_id": "oaccount~1c568151c4acbcd1bd265c766c677145760a61c47fc8a3ba681a4cfbe287f9c1",
"status": "suspended"
}
-
totalNetSupply
- 原始方法名稱:
totalNetSupply
- 此 GET 方法會傳回有提示的記號總數減去已燒錄的記號數目。只有鏈碼的
Token Admin
才能呼叫此方法。
- 查詢 (有趣的權杖):
/totalNetSupply?tokenDetail={"tokenId":"{{bc-token-id}}"}
- 查詢 (非可行權杖):
/totalNetSupply?tokenDetail={"tokenName":"tokenName value"}
- 參數:
- 傳回值範例:
{
"totalNetSupply": 105
}
-
totalSupply
- 原始方法名稱:
totalSupply
- 此 GET 方法會傳回提示的記號總數。只有鏈碼的
Token Admin
才能呼叫此方法。
- 查詢 (有趣的權杖):
/totalSupply?tokenDetail={"tokenId":"{{bc-token-id}}"}
- 查詢 (非可行權杖):
/totalSupply?tokenDetail={"tokenName":"tokenName value"}
- 參數:
- 傳回值範例:
{
"totalSupply": 110
}
-
updateArtCollectionToken
- 原始方法名稱:
updateArtCollectionToken
- 此 POST 方法會更新記號特性。只有記號擁有者可以呼叫此方法。若為 NFT,權杖描述資料和權杖 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>
– 要更新的記號資產。如需記號資產特性的詳細資訊,請參閱輸入設定檔案。
endorsers: string[]
– 必須為交易背書的對等陣列 (例如 peer1
、peer2
)。
- 傳回值範例:
{
"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"
}
-
updateLoyaltyToken
- 原始方法名稱:
updateLoyaltyToken
- 此 POST 方法會更新記號特性。只有記號擁有者可以呼叫此方法。若為 NFT,權杖描述資料和權杖 URI 在提示之後便無法更新。
- 有效負載:
{
"tokenAsset": "{\"tokenId\":\"{{bc-token-id}}\",\"tokenDesc\":\"tokenDesc value\",\"Token_Name\":\"Token_Name value\",\"Token_to_Currency_Ratio\":999}",
"sameOrgEndorser": true
}
- 參數:
tokenAsset: <Token Class>
– 要更新的記號資產。如需記號資產特性的詳細資訊,請參閱輸入設定檔案。
endorsers: string[]
– 必須為交易背書的對等陣列 (例如 peer1
、peer2
)。
- 傳回值範例:
{
"assetType": "otoken",
"events": false,
"tokenId": "token2",
"tokenName": "loyalty",
"tokenDesc": "tokenDesc value",
"tokenStandard": "erc1155+",
"tokenType": "fungible",
"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
- 此 GET 方法會傳回指定記號的 URI。只有記號建立者可以呼叫此方法。
- Query - 查詢
/URI?tokenId={{bc-token-id}}
- 參數:
tokenId: string
– 記號的 ID。
- 傳回值範例:
{
"tokenUri": "example.com"
}