-
registerOrg
- Ursprünglicher Methodenname:
registerOrg
- Diese POST-Methode registriert eine Organisation im System. Diese Methode kann nur von einem Tokenadministrator aufgerufen werden.
- Payload:
{
"orgId": "{{bc-org-id}}",
"orgName": "org_name value",
"endorsers": {{endorsers}}
}
- Parameter:
orgId: string: Die Mitgliedsdienstanbieter-(MSP-)ID des Benutzers in der aktuellen Organisation.
orgName: string (Optional) Der Name der Organisation.
endorsers: string[]: Ein Array der Peers (z.B. peer1, peer2), das die Transaktion freigeben muss.
- Beispiel für Rückgabewert:
{
"assetType": "oorgregistry",
"org_registry_id": "orgregistry",
"registered_orgs": [
{
"org_id": "Org1MSP",
"org_name": "Organisation name"
}
]
}
-
getAllRegisteredOrgs
- Ursprünglicher Methodenname:
getAllRegisteredOrgs
- Diese GET-Methode ruft Details aller registrierten Organisationen ab. Diese Methode kann nur von einem Tokenadministrator aufgerufen werden.
- Abfrage:
/getAllRegisteredOrgs
- Parameter:
- Beispiel für Rückgabewert:
[
{
"org_id": "Org1MSP",
"org_name": "Organisation name"
}
]
-
activateAccount
- Ursprünglicher Methodenname:
activateAccount
- Diese POST-Methode aktiviert ein Token-Konto. Diese Methode kann nur von einem Administrator oder Kontoinhaber aufgerufen werden. Gelöschte Accounts können nicht aktiviert werden.
- Payload:
{
"tokenId": "{{bc-token-id}}",
"orgId": "{{bc-org-id}}",
"userId": "{{bc-user-id}}",
"endorsers": {{endorsers}}
}
- Parameter:
tokenId: string: Die ID des Tokens.
orgId: string: Die Mitgliedsdienstanbieter-(MSP-)ID des Benutzers in der aktuellen Organisation.
userId: string: Der Benutzername oder die E-Mail-ID des Benutzers.
- Rückgabewert:
- Bei Erfolg eine JSON-Darstellung des Accountstatusobjekts für den angegebenen Tokenaccount.
- Beispiel für Rückgabewert:
{
"assetType": "oaccountStatus",
"status_id": "oaccountStatus~5a0b0d8b1c6433af9fedfe0d9e6580e7cf6b6bb62a0de6267aaf79f79d5e96d7",
"account_id": "oaccount~1c568151c4acbcd1bd265c766c677145760a61c47fc8a3ba681a4cfbe287f9c1",
"status": "active"
}
-
addTokenAdmin
- Ursprünglicher Methodenname:
addTokenAdmin
- Diese POST-Methode fügt dem Token-Chaincode weitere Administratoren hinzu. Diese Methode kann nur vom Token-Admin des Chaincodes aufgerufen werden.
- Payload:
{
"orgId": "{{bc-org-id}}",
"userId": "{{bc-user-id}}",
"endorsers": {{endorsers}}
}
- Parameter:
orgId: string: Die Mitgliedsdienstanbieter-(MSP-)ID des Benutzers in der aktuellen Organisation.
userId: string: Der Benutzername oder die E-Mail-ID des Benutzers.
- Rückgabewert:
- Bei Erfolg eine Nachricht, die Details des Benutzers enthält, der als
Token Admin des Chaincodes hinzugefügt wurde.
- Beispiel für Rückgabewert:
{
"msg": "Successfully added Admin (OrgId: appDev, UserId: user1)"
}
-
addRole
- Ursprünglicher Methodenname:
addRole
- Diese POST-Methode fügt einem angegebenen Benutzer und Token eine Rolle hinzu. Diese Methode kann nur von einem
Token Admin des Chaincodes aufgerufen werden. Nicht fungible Token werden durch den Tokennamen angegeben. Der angegebene Benutzer muss über einen nicht fungierbaren Tokenaccount verfügen. Die angegebene Rolle muss in der Spezifikationsdatei für das Token vorhanden sein.
- Payload:
{
"tokenId": "{{bc-token-id}}",
"orgId": "{{bc-org-id}}",
"userId": "{{bc-user-id}}",
"role": "role minter/burner"
"tokenDetails": "{"tokenName": "token name value"}"
"endorsers": {{endorsers}}
}
- Parameter:
- Rückgabewert:
- Bei Erfolg eine Nachricht mit Accountdetails.
- Beispiel für Rückgabewert:
{
"msg": "Successfully added role 'minter' to Account Id: oaccount~1422a74d262a3a55a37cd9023ef8836f765d0be7b49d397696b9961d7434d22a (Org-Id: appdev, User-Id: idcqa)"
}
-
approveBondRedemption
- Ursprünglicher Methodenname:
approveBondRedemption
- Diese POST-Methode kann nur vom Tokenersteller aufgerufen werden, um eine Anforderung zur Einlösung von Anleihe-Token zu genehmigen. Der Genehmigungsvorgang überträgt die Anleihe-NFT vom Konto des Eigentümers (dem Benutzer, der die Anforderung gestellt hat) auf das Konto des Erstellers und überträgt CBDC-Token vom Konto des Anleiheerstellers auf das Konto des Eigentümers. Aus diesem Grund muss diese Methode im Kontext einer atomaren Transaktion ausgeführt werden. Die Methode prüft auch den Übertragungsprozess und stellt sicher, dass der entsprechende CBDC-Chaincode mit den richtigen
orgId und userId für die Übertragung aufgerufen wird. Die Werte für orgId und userId müssen dem Konto des Tokeneigentümers entsprechen, der die Einlösungsanforderung ausgelöst hat. Der CBDC-Tokenübertragungswert muss dem berechneten Einlösungspreis entsprechen, der vom Chaincode beim Anheben der Einlösungsanforderung berechnet wurde.
- Payload:
{
"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}}
}
- Parameter:
fromOrgId: string: Die Mitgliedsdienstanbieter-(MSP-)ID des Benutzers.
fromUserId: string: Der Benutzername oder die E-Mail-ID des Benutzers.
settlementId: string: Die Abrechnungs-ID für den Einlösungsvorgang.
tokenId: string: Die ID des Tokens.
CBDCTokenId: string: Die ID des Tokens im CBDC-Chaincode.
CBDCOrgId: string: Die MSP-ID des Benutzers im CBDC-Kettencode.
CBDCUserId: string: Der Benutzername oder die E-Mail-ID des Benutzers im CBDC-Chaincode.
CBDCQuantity: string: Die Menge der Token, die im CBDC-Chaincode übertragen werden sollen.
CBDCRemark: string: Eine Bemerkung für die Übertragung im CBDC-Kettencode, die in dem zuvor gezeigten Format erfolgen muss.
- Beispiel für Rückgabewert:
{
"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
- Ursprünglicher Methodenname:
balanceOfBatch
- Diese GET-Methode schließt einen Batchvorgang ab, der den Saldo von Tokenkonten abruft. Die Accountdetails werden in drei separaten Listen mit Organisations-IDs, Benutzer-IDs und Token-IDs angegeben. Diese Methode kann nur von einem
Token Admin des Chaincodes oder von Accounteigentümern aufgerufen werden. Kontoinhaber können Saldendetails nur für Konten anzeigen, deren Eigentümer sie sind.
- Abfrage:
/balanceOfBatch?orgIds=["{{bc-org-id}}"]&userIds=["{{bc-user-id}}"]&tokenIds=["{{bc-token-id}}"]
- Parameter:
orgIds: string[]: Eine Liste der MSP-IDs (Member Service Provider) in der aktuellen Organisation.
userIds: string[]: Eine Liste der Benutzernamen oder E-Mail-IDs.
tokenIds: string[]: Eine Liste der Token-IDs.
- Beispiel für Rückgabewert:
Im folgenden Beispiel stellt die Token-ID FNFT ein fraktioniertes, nicht fungierbares Token dar, und die Token-ID FT stellt ein fungibles Token dar.
[
{
"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
- Ursprünglicher Methodenname:
batchTransferFrom
- Diese POST-Methode schließt einen Batchvorgang ab, bei dem Token, die in einer Liste mit Token-IDs angegeben sind, von einem Benutzer an einen anderen Benutzer übertragen werden.
- Payload:
{
"fromOrgId": "fromOrgId value",
"fromUserId": "fromUserId value",
"toOrgId": "toOrgId value",
"toUserId": "toUserId value",
"tokenIds": "[\"{{bc-token-id}}\"]",
"quantity": "[quantity value]",
"endorsers": {{endorsers}}
}
- Parameter:
fromOrgId: string: Die MSP-ID (Member Service Provider) des Absenders und Tokeneigentümers in der aktuellen Organisation.
fromUserId: string: Der Benutzername oder die E-Mail-ID des Absenders und Tokeneigentümers.
toOrgId: string: Die MSP-ID (Member Service Provider) des Empfängers in der aktuellen Organisation.
toUserId: string: Der Benutzername oder die E-Mail-ID des Empfängers.
tokenIds: string[]: Eine Liste der Token-IDs für die zu übertragenden Token.
quantity: number[]: Die Liste der zu übertragenden Tokenmengen, die dem Token-ID-Array entsprechen.
- Rückgabewert:
- Bei Erfolg eine Nachricht mit Details für jede Tokenübertragung.
- Beispiel für Rückgabewert:
[
{
"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
- Ursprünglicher Methodenname:
burnBatch
- Mit dieser POST-Methode werden die angegebenen Token deaktiviert oder gebrannt. Jeder Benutzer mit der Brennerrolle kann diese Methode aufrufen.
- Payload:
{
"orgId": "{{bc-org-id}}",
"userId": "{{bc-user-id}}",
"tokenIds": "[\"{{bc-token-id}}\"]",
"quantity": "[quantity value]",
"sameOrgEndorser": true
}
- Parameter:
orgId: string: Die MSP-ID (Member Service Provider) in der aktuellen Organisation.
userId: string: Der Benutzername oder die E-Mail-ID.
tokenIds: string[]: Die Liste der zu brennenden Token-IDs
quantity: number[]: Die Liste der zu brennenden Tokenmengen, die dem Token-ID-Array entsprechen.
- Rückgabewert:
- Bei Erfolg eine Meldung mit Details zu den Brennvorgängen.
- Beispiel für Rückgabewert:
[
{
"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
- Ursprünglicher Methodenname:
createAccount
- Diese POST-Methode erstellt ein Konto für einen angegebenen Benutzer und zugeordnete Tokenkonten für Token. Ein Konto muss für jeden Benutzer erstellt werden, der zu einem beliebigen Zeitpunkt Token hat. Das Benutzerkonto verfolgt das NFT-Konto und die fungierbaren Tokenkonten, die ein Benutzer hält. Benutzer müssen über Konten im Netzwerk verfügen, um tokenbezogene Vorgänge abzuschließen. Diese Methode kann nur von einem
Token Admin des Chaincodes aufgerufen werden.
Ein Benutzeraccount hat eine eindeutige ID, die durch einen SHA-256-Hash des Parameters orgId und des Parameters userId gebildet wird.
Ein Benutzer kann mehrere fungible Tokenaccounts mit eindeutigen Konto-IDs haben. Fungible Token-Account-IDs werden durch einen SHA-256-Hash des Parameters orgId, den Parameter userId, die durch das Tilde-Symbol (~) getrennte Konstantenzeichenfolge ft und eine Zählernummer gebildet, die den Index des Fungible-Accounts angibt, der durch das Tilde-Symbol (~) getrennt erstellt wird.
Ein Benutzer kann nur ein nicht fungierbares Token-Konto haben. Nicht fungible Tokenaccount-IDs sind eindeutig und werden durch einen SHA-256-Hash des Parameters orgId, des Parameters userId und der Konstantenzeichenfolge nft gebildet, die durch das Tilde-Symbol (~) getrennt sind. Alle nicht fungierbaren Token, die ein Benutzer besitzt, unabhängig davon, ob sie ganz oder teilweise sind, sind mit diesem Konto verknüpft.
- Payload:
{
"orgId": "{{bc-org-id}}",
"userId": "{{bc-user-id}}",
"ftAccount": true,
"nftAccount": true,
"endorsers": {{endorsers}}
}
- Parameter:
orgId - Die Mitgliedsdienstanbieter-(MSP-)ID des Benutzers, für den das Konto erstellt werden soll. Die ID muss mit einem alphanumerischen Zeichen beginnen und kann Buchstaben, Zahlen und Sonderzeichen wie Unterstriche (_), Punkte (.), At-Zeichen (@) und Bindestriche (-) enthalten.
userId: Der Benutzername oder die E-Mail-ID des Benutzers. Die ID muss mit einem alphanumerischen Zeichen beginnen und kann Buchstaben, Zahlen und Sonderzeichen wie Unterstriche (_), Punkte (.), At-Zeichen (@) und Bindestriche (-) enthalten.
ftAccount: boolean: Wenn dieser Wert "true" ist, wird ein fungierbarer Tokenaccount erstellt und mit dem Benutzeraccount verknüpft.
nftAccount: boolean: Wenn dieser Wert "true" ist, wird ein nicht fungierbarer Tokenaccount erstellt und mit dem Benutzeraccount verknüpft.
- Rückgabewert:
- Bei Erfolg ein JSON-Objekt des Accounts, der erstellt wurde.
- Beispiel für Rückgabewert:
{
"assetType": "ouaccount",
"accountId": "ouaccount~cf20877546f52687f387e7c91d88b9722c97e1a456cc0484f40c747f7804feae",
"userId": "user1",
"orgId": "appdev",
"totalAccounts": 2,
"totalFtAccounts": 1,
"associatedFtAccounts": [
{
"accountId": "oaccount~60bb20c14a83f6e426e1437c479c5891e1c6477dfd7ad18b73acac5d80bc504b",
"tokenId": ""
}
],
"associatedNftAccount": "oaccount~73c3e835dac6d0a56ca9d8def08269f83cefd59b9d297fe2cdc5a9083828fa58"
}
-
createAccountWithEnrollment
- Ursprünglicher Methodenname:
createAccountWithEnrollment
- Mit dieser POST-Methode wird eine Anmeldung für einen Benutzer im REST-Proxy der Instanz erstellt und ein NFT-Konto im Anleihemarkt-Chaincode erstellt.
- Payload:
{
"orgId": "orgId value",
"userId": "userId value"
}
- Parameter:
orgId: string: Die Mitgliedsdienstanbieter-(MSP-)ID des Benutzers in der aktuellen Organisation.
userId: string: Der Benutzername oder die E-Mail-ID des Benutzers.
- Rückgabewert:
- Bei Erfolg ein JSON-Objekt des Accounts, der erstellt wurde.
- Beispiel für Rückgabewert:
{
"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
- Ursprünglicher Methodenname:
createBondToken
- Diese POST-Methode erstellt Token. Jedes definierte Token verfügt über eine eigene Erstellungsmethode. Für nicht fungible Token wird der Aufrufer dieser Methode zum Eigentümer der NFT. Wenn das Verhalten
roles in der Eigenschaft behaviors des Tokenmodells definiert ist und ein minter_role_name angegeben ist, muss der aufrufende Account die untergeordnete Rolle aufweisen.
- Payload:
{
"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
}
- Parameter:
tokenAsset: <Token Class>: Das Tokenasset. Die Eigenschaften des Assets werden in der Modelldatei definiert.
quantity: number: Die Anzahl der zu mindernden Token. Der einzige unterstützte Wert für diesen Parameter ist 1.
- Rückgabewert:
- Bei Erfolg ein JSON-Objekt des Accounts, der erstellt wurde.
- Beispiel für Rückgabewert:
{
"tokenMetadata": {
"ISIN": "ISIN value",
"Segment": "Segment value",
"Issuer": "Issuer value",
"FaceValue": 999,
"IssueSize": 999,
"CouponRate": 999,
"InterestPaymentType": "simple",
"InterestFrequency": "monthly",
"IssueDate": "2023-03-28T15:16:36.000Z",
"MaturityDate": "2023-03-28T15:16:36.000Z"
},
"assetType": "otoken",
"events": false,
"tokenId": "token2",
"tokenName": "bond",
"tokenDesc": "tokenDesc value",
"tokenStandard": "erc1155+",
"tokenType": "nonfungible",
"tokenUnit": "fractional",
"behaviors": [
"divisible",
"mintable",
"transferable",
"burnable",
"roles"
],
"roles": {
"minter_role_name": "minter",
"burner_role_name": "burner"
},
"mintable": {
"max_mint_quantity": 0
},
"quantity": 10,
"createdBy": "oaccount~85dfd98d1b99e5b8891e0a0fdcd7d2e07fc5d37958f5d2a5796290b6a9204a43",
"creationDate": "2024-12-03T12:07:24.000Z",
"divisible": {
"decimal": 0
},
"isBurned": false,
"isLocked": false,
"tokenUri": "tokenUri value",
"status": "created"
}
-
createIDCSUser
- Ursprünglicher Methodenname:
createIDCSUser
- Mit dieser POST-Methode wird ein Identity Cloud Service-Benutzer im Mandanten erstellt, der durch die URL in der Datei
terraform.tfvars angegeben wird, und der Benutzer wird der angegebenen Benutzergruppe zugewiesen.
- Payload:
{
"userName": "userName value",
"firstName": "firstName value",
"lastName": "lastName value",
"email": "email value",
"groupName": "groupName value"
}
- Parameter:
userName: string: Die ID des Benutzers.
firstName: string: Der Vorname des Benutzers.
lastName: string: Der Nachname des Benutzers.
email: string: Die E-Mail-Adresse des Benutzers.
groupName: string: Der Name der Identity Cloud Service-Gruppe, die dem Benutzer zugewiesen werden soll.
- Beispiel für Rückgabewert:
{
"status": "Success",
"msg": "User user1 is created and assigned to the group BOND_ADMIN"
}
-
createTokenAccount
- Ursprünglicher Methodenname:
createTokenAccount
- Diese POST-Methode erstellt ein fungibles oder nicht fungibles Tokenkonto, das einem Benutzerkonto zugeordnet werden soll.
Ein Benutzer kann mehrere fungible Tokenaccounts mit eindeutigen Konto-IDs haben. Fungible Token-Account-IDs werden durch einen SHA-256-Hash des Parameters orgId, den Parameter userId, die durch das Tilde-Symbol (~) getrennte Konstantenzeichenfolge ft und eine Zählernummer gebildet, die den Index des Fungible-Accounts angibt, der durch das Tilde-Symbol (~) getrennt erstellt wird.
Ein Benutzer kann nur ein nicht fungierbares Token-Konto haben. Nicht fungible Tokenaccount-IDs sind eindeutig und werden durch einen SHA-256-Hash des Parameters orgId, des Parameters userId und der Konstantenzeichenfolge nft gebildet, die durch das Tilde-Symbol (~) getrennt sind. Alle nicht fungierbaren Token, die ein Benutzer besitzt, unabhängig davon, ob sie ganz oder teilweise sind, sind mit diesem Konto verknüpft.
Diese Methode kann nur von einem Token Admin des Chaincodes aufgerufen werden.
- Payload:
{
"orgId": "{{bc-org-id}}",
"userId": "{{bc-user-id}}",
"tokenType": "nonfungible",
"endorsers": {{endorsers}}
}
- Parameter:
orgId: string: Die Mitgliedsdienstanbieter-(MSP-)ID des Benutzers in der aktuellen Organisation.
userId: string: Der Benutzername oder die E-Mail-ID des Benutzers.
tokenType: TokenType: Der Typ des zu erstellenden Tokenaccounts. Die einzigen unterstützten Tokentypen sind nonfungible und fungible.
- Rückgabewert:
- Bei Erfolg ein JSON-Objekt des erstellten Tokenaccounts.
- Beispiel für Rückgabewert:
{
"assetType": "ouaccount",
"accountId": "ouaccount~24ffd4d32a028a85b4b960f5d55536c837b5429bc7f346150adfa904ec2937cc",
"userId": "user2",
"orgId": "appdev",
"totalAccounts": 1,
"totalFtAccounts": 1,
"associatedFtAccounts": [
{
"accountId": "oaccount~1422a74d262a3a55a37cd9023ef8836f765d0be7b49d397696b9961d7434d22a",
"tokenId": ""
}
],
"associatedNftAccount": ""
}
-
createUserAccount
- Ursprünglicher Methodenname:
createUserAccount
- Diese POST-Methode erstellt ein Konto für einen angegebenen Benutzer. Ein Konto muss für jeden Benutzer erstellt werden, der zu einem beliebigen Zeitpunkt Token hat. Das Benutzerkonto verfolgt das NFT-Konto und die fungierbaren Token-Konten, die ein Benutzer hat. Benutzer müssen über Konten im Netzwerk verfügen, um tokenbezogene Vorgänge abzuschließen.
Eine Account-ID ist ein SHA-256-Hash des Parameters orgId und des Parameters userId. Diese Methode kann nur von einem Token Admin des Chaincodes aufgerufen werden.
- Payload:
{
"orgId": "{{bc-org-id}}",
"userId": "{{bc-user-id}}",
"endorsers": {{endorsers}}
}
- Parameter:
orgId: string: Die Mitgliedsdienstanbieter-(MSP-)ID des Benutzers in der aktuellen Organisation.
userId: string: Der Benutzername oder die E-Mail-ID des Benutzers.
- Rückgabewert:
- Bei Erfolg ein JSON-Objekt des erstellten Benutzeraccounts.
- Beispiel für Rückgabewert:
{
"assetType": "ouaccount",
"accountId": "ouaccount~24ffd4d32a028a85b4b960f5d55536c837b5429bc7f346150adfa904ec2937cc",
"userId": "user2",
"orgId": "appdev",
"totalAccounts": 0,
"totalFtAccounts": 0,
"associatedFtAccounts": [],
"associatedNftAccount": ""
}
-
deleteAccount
- Ursprünglicher Methodenname:
deleteAccount
- Diese POST-Methode löscht ein Token-Konto. Diese Methode kann nur von einem
Token Admin des Chaincodes aufgerufen werden. Diese Methode löst einen Fehler aus, wenn ein accountStatus-Wert für das Konto nicht im Buch gefunden wird.
- Payload:
{
"orgId": "{{bc-org-id}}",
"userId": "{{bc-user-id}}",
"endorsers": {{endorsers}}
}
- Parameter:
orgId: string: Die Mitgliedsdienstanbieter-(MSP-)ID des Benutzers in der aktuellen Organisation.
userId: string: Der Benutzername oder die E-Mail-ID des Benutzers.
- Rückgabewert:
- Bei Erfolg eine JSON-Darstellung des Tokenaccountstatus.
- Beispiel für Rückgabewert:
{
"assetType": "oaccountStatus",
"statusId": "oaccountStatus~5a0b0d8b1c6433af9fedfe0d9e6580e7cf6b6bb62a0de6267aaf79f79d5e96d7",
"accountId": "oaccount~1c568151c4acbcd1bd265c766c677145760a61c47fc8a3ba681a4cfbe287f9c1",
"status": "deleted"
}
-
getAccount
- Ursprünglicher Methodenname:
getAccount
- Diese GET-Methode gibt Tokenaccountdetails für einen angegebenen Benutzer zurück. Diese Methode kann nur mit einer
Token Admin des Chaincodes oder der Account Owner des Accounts aufgerufen werden.
- Abfrage:
/getAccount?orgId={{bc-org-id}}&userId={{bc-user-id}}
- Parameter:
orgId: string: Die Mitgliedsdienstanbieter-(MSP-)ID des Benutzers in der aktuellen Organisation.
userId: string: Der Benutzername oder die E-Mail-ID des Benutzers.
tokenId?: string: Für ein nicht fungierbares Tokenkonto eine leere Zeichenfolge. Für ein fungibles Tokenkonto die Token-ID.
- Rückgabewert:
- Bei Erfolg ein JSON-Objekt, das Tokenaccountdetails enthält.
- Rückgabewert - Beispiel
{
"assetType": "oaccount",
"accountId": "oaccount~e88276a3be547e31b567346bdddde52d37734da4d5fae83ab2e5c98a10097371",
"userId": "user2",
"orgId": "AppBldFFFFMay22",
"tokenType": "nonfungible",
"noOfNfts": 3
}
-
getAccountBondSummary
- Ursprünglicher Methodenname:
getAccountBondSummary
- Diese GET-Methode gibt eine Kontenübersicht für den angegebenen Benutzer zurück, einschließlich Details zu gekauften oder eingelösten Token und deren Kauf- und Einlösungspreisen.
- Abfrage:
/getAccount?orgId={{bc-org-id}}&userId={{bc-user-id}}
- Parameter:
orgId: string: Die Mitgliedsdienstanbieter-(MSP-)ID des Benutzers in der aktuellen Organisation.
userId: string: Der Benutzername oder die E-Mail-ID des Benutzers.
- Rückgabewert:
- Bei Erfolg ein JSON-Objekt, das die Tokenaccountübersicht enthält.
- Rückgabewert - Beispiel
[
{
"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
- Ursprünglicher Methodenname:
getAccountBondSummaryWithPagination
- Diese GET-Methode gibt eine Kontenübersicht für den angegebenen Benutzer zurück, einschließlich Details zu gekauften oder eingelösten Token und deren Kauf- und Einlösungspreisen. Diese Methode kann Ergebnisse mit Seitenumbruch basierend auf Seitengröße und Lesezeichenwerten zurückgeben und auch nach Startzeit und Endzeit gefiltert werden.
- Abfrage:
/getAccountBondSummary?orgId={{bc-org-id}}&userId={{bc-user-id}}&pageSize=1&bookmark={{bookmark}}
- Parameter:
orgId: string: Die Mitgliedsdienstanbieter-(MSP-)ID des Benutzers in der aktuellen Organisation.
userId: string: Der Benutzername oder die E-Mail-ID des Benutzers.
pageSize: number: Die Seitengröße des zurückgegebenen Ergebnisses.
bookmark: string: Das Lesezeichen des zurückgegebenen Ergebnisses.
- Rückgabewert:
- Bei Erfolg ein JSON-Objekt, das die Tokenaccountübersicht enthält.
- Rückgabewert - Beispiel
[
{
"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
- Ursprünglicher Methodenname:
getAccountDetailsByUser
- Diese GET-Methode gibt eine Kontenübersicht für einen angegebenen Benutzer und Details von fungiblen und nicht fungiblen Token zurück, die dem Benutzer zugeordnet sind. Diese Methode kann nur mit einer
Token Admin des Chaincodes oder der Account Owner des Accounts aufgerufen werden.
- Abfrage:
/getAccountDetailsByUser?orgId={{bc-org-id}}&userId={{bc-user-id}}
- Parameter:
orgId: string: Die Mitgliedsdienstanbieter-(MSP-)ID des Benutzers in der aktuellen Organisation.
userId: string: Der Benutzername oder die E-Mail-ID des Benutzers.
- Rückgabewert:
- Bei Erfolg ein JSON-Accountobjekt, das eine Kontenübersicht für den angegebenen Benutzer und Details von fungiblen und nicht fungiblen Token enthält, die dem Benutzer zugeordnet sind. Bei fraktionierten nicht fungierbaren Token zeigt die Eigenschaft
tokenShare im Abschnitt associatedNFTs die Freigabe an, die der Benutzer besitzt.
- Beispiel für Rückgabewert:
{
"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
- Ursprünglicher Methodenname:
getAccountStatus
- Diese GET-Methode ruft den aktuellen Status des Token-Accounts ab. Diese Methode kann von der
Token Admin des Chaincodes oder vom Tokenkontoinhaber aufgerufen werden.
- Abfrage:
/getAccountStatus?orgId={{bc-org-id}}&userId={{bc-user-id}}
- Parameter:
orgId: string: Die Mitgliedsdienstanbieter-(MSP-)ID des Benutzers in der aktuellen Organisation.
userId: string: Der Benutzername oder die E-Mail-ID des Benutzers.
- Rückgabewert:
- Bei Erfolg eine JSON-Darstellung des Tokenaccountstatus.
- Beispiel für Rückgabewert:
{
"assetType": "oaccountStatus",
"statusId": "oaccountStatus~5a0b0d8b1c6433af9fedfe0d9e6580e7cf6b6bb62a0de6267aaf79f79d5e96d7",
"accountId": "oaccount~1c568151c4acbcd1bd265c766c677145760a61c47fc8a3ba681a4cfbe287f9c1",
"status": "active"
}
-
getAccountStatusHistory
- Ursprünglicher Methodenname:
getAccountStatusHistory
- Diese GET-Methode ruft die Historie des Kontostatus ab. Diese Methode kann von der
Token Admin des Chaincodes oder vom Tokenkontoinhaber aufgerufen werden.
- Abfrage:
/getAccountStatusHistory?orgId={{bc-org-id}}&userId={{bc-user-id}}
- Parameter:
orgId: string: Die Mitgliedsdienstanbieter-(MSP-)ID des Benutzers in der aktuellen Organisation.
userId: string: Der Benutzername oder die E-Mail-ID des Benutzers.
- Rückgabewert:
- Bei Erfolg die Accountstatushistorie im JSON-Format.
- Beispiel für Rückgabewert:
[
{
"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
- Ursprünglicher Methodenname:
getAccountTransactionHistory
- Diese GET-Methode gibt die Kontotransaktionshistorie zurück. Diese Methode kann nur von einem
Token Admin des Chaincodes oder vom Accounteigentümer aufgerufen werden.
/getAccountTransactionHistory?orgId={{bc-org-id}}&userId={{bc-user-id}}
- Parameter:
orgId: string: Die Mitgliedsdienstanbieter-(MSP-)ID des Benutzers in der aktuellen Organisation.
userId: string: Der Benutzername oder die E-Mail-ID des Benutzers.
- Beispiel für Rückgabewert:
[
{
"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
- Ursprünglicher Methodenname:
getAccountsByRole
- Diese GET-Methode gibt eine Liste aller Konto-IDs für eine angegebene Rolle und ein bestimmtes Token zurück.
- Abfrage:
/getAccountsByRole?role=role value (for example minter / burner)&tokenDetail={"tokenName":"tokenName value"}
- Parameter:
role: string: Der Name der Rolle, nach der gesucht werden soll.
tokenDetail: JSON: Für fungible Token die Token-ID. Für nicht fungible Token ist der Name des erforderlichen Tokens erforderlich.
- Beispiel für Rückgabewert:
{
"accounts": [
"oaccount~1422a74d262a3a55a37cd9023ef8836f765d0be7b49d397696b9961d7434d22a",
"oaccount~60bb20c14a83f6e426e1437c479c5891e1c6477dfd7ad18b73acac5d80bc504b"
]
}
-
getAllAccounts
- Ursprünglicher Methodenname:
getAllAccounts
- Diese GET-Methode gibt Details aller Benutzeraccounts zurück. Diese Methode kann nur von einem
Token Admin des Chaincodes aufgerufen werden.
- Abfrage:
/getAllAccounts
- Parameter:
- Rückgabewert:
- Bei Erfolg ein JSON-Array aller Konten.
- Beispiel für Rückgabewert:
[
{
"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
- Ursprünglicher Methodenname:
getAllTokenAdmins
- Diese GET-Methode gibt eine Liste aller Benutzer zurück, die ein
Token Admin des Chaincodes sind. Diese Methode kann nur von einem Token Admin des Chaincodes aufgerufen werden.
- Abfrage:
/getAllTokenAdmins
- Parameter:
- Rückgabewert:
- Bei Erfolg ein Array
admins im JSON-Format, das orgId- und userId-Objekte enthält.
- Beispiel für Rückgabewert:
{
"admins": [
{
"orgId": "appdev",
"userId": "user2"
},
{
"orgId": "appdev",
"userId": "user1"
}
]
}
-
getAllTokens
- Ursprünglicher Methodenname:
getAllTokens
- Diese Methode gibt alle Tokenassets zurück, die in der Statusdatenbank gespeichert sind. Diese Methode kann nur von einem
Token Admin des Chaincodes aufgerufen werden. Diese Methode verwendet SQL-reiche Berkeley DB-Abfragen und kann nur aufgerufen werden, wenn eine Verbindung zum Remote-Oracle Blockchain Platform-Netzwerk besteht.
/getAllTokens
- Parameter:
- Rückgabewert:
- Eine Liste aller Tokenassets im JSON-Format.
- Beispiel für Rückgabewert:
[{
"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
- Ursprünglicher Methodenname:
getAllTokensByUser
- Diese GET-Methode gibt alle Tokenassets zurück, deren Eigentümer ein bestimmter Benutzer ist. Diese Methode verwendet SQL-reiche Berkeley DB-Abfragen und kann nur aufgerufen werden, wenn eine Verbindung zum Remote-Oracle Blockchain Platform-Netzwerk besteht. Diese Methode kann nur von einem
Token Admin des Chaincodes oder vom Accounteigentümer aufgerufen werden.
- Abfrage:
/getAllTokensByUser?orgId={{bc-org-id}}&userId={{bc-user-id}}
- Parameter:
orgId: string: Die Mitgliedsdienstanbieter-(MSP-)ID des Benutzers in der aktuellen Organisation.
userId: string: Der Benutzername oder die E-Mail-ID des Benutzers.
- Beispiel für Rückgabewert:
[{
"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
- Ursprünglicher Methodenname:
getAllTokensWithFilters
- Der Administrator kann diese GET-Methode aufrufen, um alle nach Status gefilterten Token abzurufen.
- Abfrage:
/getAllTokensWithFilters?status=status&pageSize=pageSize&bookmark=bookmark
- Parameter:
status: string: Der Status des Tokens, der entweder CREATED oder POSTED lauten kann.
pageSize: number: Die Seitengröße des zurückgegebenen Ergebnisses.
bookmark: string: Das Lesezeichen des zurückgegebenen Ergebnisses.
- Beispiel für Rückgabewert:
[{
"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
- Ursprünglicher Methodenname:
getTokenApprovalRequestByUser
- Jeder Kontoinhaber kann diese GET-Methode aufrufen, um die Details aller Tokengenehmigungsanforderungen (Rücknahmeanforderungen) abzurufen, die er erstellt hat.
- Abfrage:
/getTokenApprovalRequestByUser?status=status value
- Parameter:
status: string: Der Status der Anforderung, der PENDING, REJECTED oder APPROVED lauten kann.
- Beispiel für Rückgabewert:
[
{
"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
- Ursprünglicher Methodenname:
getTokenApprovalRequestByUser
- Jeder Kontoinhaber kann diese GET-Methode aufrufen, um die Details aller Tokengenehmigungsanforderungen (Rücknahmeanforderungen) abzurufen, die er erstellt hat.
- Abfrage:
/getTokenApprovalRequestForUserByStatus?status=status value
- Parameter:
status: string: Der Status der Anforderung, der PENDING, REJECTED oder APPROVED lauten kann.
- Beispiel für Rückgabewert:
[
{
"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
- Ursprünglicher Methodenname:
getTokenById
- Diese GET-Methode gibt ein Tokenobjekt zurück, wenn das Token in der Statusdatenbank vorhanden ist. Bei fraktionierten NFTs wird auch die Eigentümerliste zurückgegeben. Diese Methode kann nur von einem
Token Admin des Chaincodes oder des Tokeneigentümers aufgerufen werden.
- Abfrage:
/getTokenById?tokenId={{bc-token-id}}
- Parameter:
tokenId: string: Die ID des abzurufenden Tokens.
- Beispiel für Rückgabewert:
[{
"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
- Ursprünglicher Methodenname:
getTokenHistory
- Diese GET-Methode gibt die Historie für eine angegebene Token-ID zurück.
- Abfrage:
/getTokenHistory?tokenId={{bc-token-id}}
- Parameter:
tokenId: string: Die ID des Tokens.
- Rückgabewert:
- Bei Erfolg ein JSON-Array, das die Tokenhistorie enthält.
- Beispiel für Rückgabewert:
[{
"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
- Ursprünglicher Methodenname:
getUsersByRole
- Diese Methode gibt eine Liste aller Benutzer für eine angegebene Rolle und ein bestimmtes Token zurück. Diese Methode kann nur von einem
Token Admin des Chaincodes aufgerufen werden.
- Abfrage:
/getUsersByRole?role=role value (for example minter / burner)&tokenDetail={"tokenName":"tokenName value"}
- Parameter:
role: string: Der Name der Rolle, nach der gesucht werden soll.
tokenDetail: JSON: Für fungible Token die Token-ID. Für nicht fungible Token ist der Name des erforderlichen Tokens erforderlich.
- Beispiel für Rückgabewert:
{
"users": [
{
"accountId": "oaccount~1422a74d262a3a55a37cd9023ef8836f765d0be7b49d397696b9961d7434d22a",
"orgId": "appdev",
"userId": "user2"
},
{
"accountId": "oaccount~60bb20c14a83f6e426e1437c479c5891e1c6477dfd7ad18b73acac5d80bc504b",
"orgId": "appdev",
"userId": "user1"
}
]
}
-
init
- Ursprünglicher Methodenname:
init
- Diese POST-Methode wird aufgerufen, wenn der Chaincode instanziiert wird. Jede
Token Admin wird durch die Informationen userId und orgId im Parameter adminList identifiziert. Die userId ist der Benutzername oder die E-Mail-ID des Instanzeigentümers oder des Benutzers, der bei der Instanz angemeldet ist. Die orgId ist die MSP-ID (Member Service Provider) des Benutzers in der aktuellen Netzwerkorganisation. Der Parameter adminList ist erforderlich, wenn Sie den Chaincode das erste Mal bereitstellen. Wenn Sie das Chaincode-Upgrade durchführen, übergeben Sie eine leere Liste ([]). Wenn Sie der Benutzer sind, der den Chaincode ursprünglich bereitgestellt hat, können Sie beim Upgrade des Chaincodes auch neue Admins im Parameter adminList angeben. Alle anderen Informationen im Parameter adminList werden bei Upgrades ignoriert.
- Payload:
{
"adminList": "[{\"orgId\":\"{{bc-org-id}}\",\"userId\":\"{{bc-user-id}}\"}]"
}
- Parameter:
adminList array: Ein Array mit {orgId, userId}-Informationen, das die Liste der Tokenadministratoren angibt. Das Array adminList ist ein obligatorischer Parameter.
- Rückgabewert:
- Bei Erfolg eine Nachricht ohne Payload.
- Beispiel für Rückgabewert:
{
}
-
isInRole
- Ursprünglicher Methodenname:
isInRole
- Diese GET-Methode gibt einen booleschen Wert zurück, um anzugeben, ob ein Benutzer eine bestimmte Rolle hat. Nicht fungible Token werden durch den Tokennamen angegeben. Diese Methode kann nur mit einer
Token Admin des Chaincodes oder der Account Owner des Accounts aufgerufen werden. Der angegebene Benutzer muss über einen Tokenaccount verfügen, der mit dem fungiblen Token verknüpft ist, oder über einen nicht fungierbaren Tokenaccount für NFT-Rollen. Die angegebene Rolle muss in der Spezifikationsdatei für das Token vorhanden sein.
- Abfrage:
/isInRole?orgId={{bc-org-id}}&userId={{bc-user-id}}&role=role value (for example minter / burner)&tokenDetail={"tokenName":"tokenName value"}
- Parameter:
- Beispiel für Rückgabewert:
{
"result": true,
"msg": "Account Id oaccount~1422a74d262a3a55a37cd9023ef8836f765d0be7b49d397696b9961d7434d22a (Org-Id: appdev, User-Id: idcqa) has minter role"
}
-
isTokenAdmin
- Ursprünglicher Methodenname:
isTokenAdmin
- Diese GET-Methode gibt den booleschen Wert
true zurück, wenn der Aufrufer der Funktion ein Token Admin ist. Andernfalls gibt sie false zurück. Diese Methode kann nur von einem Token Admin des Chaincodes aufgerufen werden.
/isTokenAdmin?orgId={{bc-org-id}}&userId={{bc-user-id}}
- Parameter:
orgId: string: Die Mitgliedsdienstanbieter-(MSP-)ID des Benutzers in der aktuellen Organisation.
userId: string: Der Benutzername oder die E-Mail-ID des Benutzers.
- Rückgabewert:
- Die Methode gibt
true zurück, wenn der Aufrufer ein Token Admin ist. Andernfalls wird false zurückgegeben.
- Beispiel für Rückgabewert:
{"result": true}
-
mintBatch
- Ursprünglicher Methodenname:
mintBatch
- Diese POST-Methode erstellt (abzüglich) mehrere Token in einem Batchvorgang. Diese Methode erstellt nur fungible Token oder fraktionierte nicht fungible Token.
Wenn für fungible Token die Rolle "Miner" in der Spezifikationsdatei definiert ist, kann jeder Benutzer mit der Rolle "Miner" diese Methode aufrufen. Wenn nicht, kann jeder Benutzer diese Methode verwenden, um Token zu mintieren. Sie können die Eigenschaft max_mint_quantity des Tokens nicht überschreiten, wenn diese Eigenschaft angegeben wurde, als das Token erstellt oder aktualisiert wurde.
Wenn für nicht fungible Token die Rolle "Miner" in der Spezifikationsdatei definiert ist, kann jeder Benutzer mit der Rolle "Miner" diese Methode aufrufen. Wenn nicht, kann jeder Benutzer diese Methode verwenden, um Token zu mintieren. Zusätzlich muss der Aufrufer auch der Ersteller des Tokens sein. Es gibt keine Obergrenze für die Anzahl der fraktionierten nicht fungiblen Token, die geprägt werden können.
Sie können diese Methode nicht verwenden, um ein ganzes nicht fungibles Token zu prägen.
- Payload:
{
"orgId": "{{bc-org-id}}",
"userId": "{{bc-user-id}}",
"tokenIds": "[\"{{bc-token-id}}\"]",
"quantity": "[quantity value]",
"sameOrgEndorser": true
}
- Parameter:
orgId: string: Die Mitgliedsdienstanbieter-(MSP-)ID des Benutzers in der aktuellen Organisation.
userId: string: Der Benutzername oder die E-Mail-ID des Benutzers.
tokenIds: string[]: Die Liste der Token-IDs, für die Münztoken erstellt werden sollen.
quantity: number[]: Die Liste der Tokenmengen, die dem Token-ID-Array entsprechen.
- Rückgabewert:
- Bei Erfolg ein JSON-Objekt, das Details zu den präparierten Token enthält.
- Beispiel für Rückgabewert:
{
"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
- Ursprünglicher Methodenname:
ownerOf
- Diese GET-Methode gibt die Konto-ID, die Organisations-ID und die Benutzer-ID des Eigentümers der angegebenen Token-ID zurück. Jeder kann diese Methode aufrufen.
- Abfrage:
/ownerOf?tokenId={{bc-token-id}}
- Parameter:
tokenId: string: Die ID des Tokens.
- Beispiel für Rückgabewert:
[
{
"accountId": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d",
"orgId": "Org1MSP",
"userId": "admin"
},
{
"accountId": "oaccount~74108eca702bab6d8548e740254f2cc7955d886885251d52d065042172a59db0",
"orgId": "Org1MSP",
"userId": "user"
}
]
-
payInterest
- Ursprünglicher Methodenname:
ownerOf
- Diese POST-Methode kann nur vom Token-Ersteller oder Admin aufgerufen werden, um die auf dem Anleihe-Token verdienten Zinsen zu bezahlen. Diese Methode kann nur aufgerufen werden, wenn die Zinshäufigkeit des Tokens monatlich, vierteljährlich oder jährlich ist. Zinsen können nicht gezahlt werden, wenn die Zinshäufigkeit fällig ist. Die Zinsen werden vom Chaincode basierend auf dem Kuponsatz des Tokens berechnet. Der Kaufvorgang überträgt CBDC-Token vom Konto des Anrufers auf das Konto des Anleiheeigentümers. Aus diesem Grund muss diese Methode im Kontext einer atomaren Transaktion ausgeführt werden. Die Methode prüft auch den Übertragungsprozess und stellt sicher, dass der entsprechende CBDC-Chaincode mit den richtigen
orgId und userId für die Übertragung aufgerufen wird. Die Werte für orgId und userId müssen dem Tokeneigentümer entsprechen, und der CBDC-Tokenübertragungswert muss den vom Anleihekettencode berechneten Zinsen entsprechen.
- Payload:
{
"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}}
}
- Parameter:
orgId: string: Die Mitgliedsdienstanbieter-(MSP-)ID des Benutzers.
userId: string: Der Benutzername oder die E-Mail-ID des Benutzers.
tokenId: string: Die ID des Tokens.
orderId: string: Die Auftrags-ID für den Vorgang.
CBDCTokenId: string: Die ID des Tokens im CBDC-Chaincode.
CBDCOrgId: string: Die MSP-ID des Benutzers im CBDC-Kettencode.
CBDCUserId: string: Der Benutzername oder die E-Mail-ID des Benutzers im CBDC-Chaincode.
CBDCQuantity: string: Die Menge der Token, die im CBDC-Chaincode übertragen werden sollen.
CBDCRemark: string: Eine Bemerkung für die Übertragung im CBDC-Kettencode, die in dem zuvor gezeigten Format erfolgen muss.
- Beispiel für Rückgabewert:
{
"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
- Ursprünglicher Methodenname:
postBondToken
- Diese POST-Methode kann nur von einem Tokenersteller aufgerufen werden. Die Methode leitet das Anleihe-Token zur Notierung auf dem Marktplatz weiter. Wenn ein Token erstellt wird, wird sein Status zunächst auf
created gesetzt. Diese Methode aktualisiert den Status in posted. Benutzer können die Methode getAllTokensWithFilter ausführen, um alle NFTs mit dem Status posted abzurufen.
- Payload:
{
"tokenId": "{{bc-token-id}}",
"sameOrgEndorser": true
}
- Parameter:
tokenId: string: Die ID des zu postenden Tokens.
- Beispiel für Rückgabewert:
{
"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
- Ursprünglicher Methodenname:
purchaseBondToken
- Diese POST-Methode kann von jedem Kontoinhaber aufgerufen werden, um eine börsennotierte Anleihe NFT zu kaufen. Der Kauf überträgt die Anleihe NFT vom Konto des Erstellers auf das Konto des Anrufers und überträgt CBDC-Token vom Konto des Anrufers auf das Konto des Erstellers. Aus diesem Grund muss die Methode im Kontext einer atomaren Transaktion ausgeführt werden. Die Methode prüft auch den Übertragungsprozess und stellt sicher, dass der entsprechende CBDC-Chaincode mit den richtigen
orgId und userId für die Übertragung aufgerufen wird. Die Werte für orgId und userId müssen dem Tokenersteller entsprechen, und der CBDC-Tokenübertragungswert muss dem Nennwert des Anleihtokens multipliziert mit der gekauften Menge plus zusätzlichen Gebühren entsprechen.
- Payload:
{
"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}}
}
- Parameter:
tokenId: string: Die ID des zu kaufenden Tokens.
orgId: string: Die Mitgliedsdienstanbieter-(MSP-)ID des Benutzers.
userId: string: Der Benutzername oder die E-Mail-ID des Benutzers.
settlementId: string: Die Abrechnungs-ID für den Vorgang.
CBDCTokenId: string: Die ID des Tokens im CBDC-Chaincode.
CBDCOrgId: string: Die MSP-ID des Benutzers im CBDC-Kettencode.
CBDCUserId: string: Der Benutzername oder die E-Mail-ID des Benutzers im CBDC-Chaincode.
CBDCQuantity: string: Die Menge der Token, die im CBDC-Chaincode übertragen werden sollen.
CBDCRemark: string: Eine Bemerkung für die Übertragung im CBDC-Kettencode, die in dem zuvor gezeigten Format erfolgen muss.
- Beispiel für Rückgabewert:
{
"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
- Ursprünglicher Methodenname:
rejectBondRedemption
- Der Tokenersteller kann diese POST-Methode aufrufen, um die Einlösungsanforderung abzulehnen. Token-Eigentümer können eine Einlösungsanforderung mit einer anderen Abrechnungs-ID erneut auslösen.
- Payload:
{
"fromOrgId": "fromOrgId value",
"fromUserId": "fromUserId value",
"settlementId": "settlementId value",
"tokenId": "{{bc-token-id}}",
"endorsers": {{endorsers}}
}
- Parameter:
fromOrgId: string: Die Mitgliedsdienstanbieter-(MSP-)ID des Benutzers.
fromUserId: string: Der Benutzername oder die E-Mail-ID des Benutzers.
settlementId: string: Die Abrechnungs-ID für den Einlösungsvorgang.
tokenId: string: Die ID des Tokens.
- Beispiel für Rückgabewert:
{
"status":"success",
"msg":"Successfully rejected the token approval request"
}
-
removeRole
- Ursprünglicher Methodenname:
removeRole
- Diese POST-Methode entfernt eine Rolle aus einem angegebenen Benutzer und Token. Fungible Token werden durch die Token-ID angegeben. Nicht fungible Token werden durch den Tokennamen angegeben. Diese Methode kann nur von einem
Token Admin des Chaincodes aufgerufen werden.
{
"orgId": "{{bc-org-id}}",
"userId": "{{bc-user-id}}",
"role": "role value (for example minter / burner)",
"tokenDetail": "{\"tokenName\":\"tokenName value\"}",
"endorsers": {{endorsers}}
}
- Parameter:
- Beispiel für Rückgabewert:
{
"msg": "Successfully removed role 'minter' from Account Id: oaccount~60bb20c14a83f6e426e1437c479c5891e1c6477dfd7ad18b73acac5d80bc504b (Org-Id: appdev, User-Id: user1)"
}
-
removeTokenAdmin
- Ursprünglicher Methodenname:
removeTokenAdmin
- Mit dieser POST-Methode wird ein Benutzer als
Token Admin des Chaincodes entfernt. Diese Methode kann nur von einem Token Admin des Chaincodes aufgerufen werden. Sie können sich nicht selbst als Token Admin entfernen.
- Payload:
{
"orgId": "{{bc-org-id}}",
"userId": "{{bc-user-id}}",
"sameOrgEndorser": true
}
- Parameter:
orgId: string: Die Mitgliedsdienstanbieter-(MSP-)ID des Benutzers in der aktuellen Organisation.
userId: string: Der Benutzername oder die E-Mail-ID des Benutzers.
- Rückgabewert:
- Bei Erfolg eine Nachricht, die Details des Benutzers enthält, der als
Token Admin des Chaincodes entfernt wurde.
- Beispiel für Rückgabewert:
{"msg": "Successfully removed Admin (OrgId: appDev, UserId: user1)"}
-
requestBondRedemption
- Ursprünglicher Methodenname:
requestBondRedemption
- Diese POST-Methode kann nur vom Token-Eigentümer aufgerufen werden, um eine Anforderung zur Einlösung von Anleihe-Token nach der Fälligkeit zu stellen. Diese Methode beinhaltet auch die Berechnung des Rücknahmepreises durch den Chaincode. Einlösungsanforderungen können nur für die gesamte Menge des Anleihtokens ausgelöst werden, für das der Benutzer verantwortlich ist. Benutzer können mehrere Einlösungsanforderungen basierend auf verschiedenen Abrechnungs-IDs erstellen, aber nur eine kann vom Tokenersteller genehmigt werden.
- Payload:
{
"settlementId": "settlementId value",
"tokenId": "{{bc-token-id}}",
"orderId": "orderId value",
"additionalFees": 1,
"endorsers": {{endorsers}}
}
- Parameter:
settlementId: string: Die Abrechnungs-ID für den Einlösungsvorgang.
tokenId: string: Die ID des Tokens.
orderId: string: Die Auftrags-ID für den Kaufvorgang.
additionalFees: number – Die zusätzlichen Vergütungen, die zum Einlösungspreis hinzuzufügen sind.
- Beispiel für Rückgabewert:
{
"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
- Ursprünglicher Methodenname:
safeBatchTransferFrom
- Diese POST-Methode schließt einen Batchvorgang ab, bei dem Token, die in einer Liste mit Token-IDs angegeben sind, von einem Benutzer an einen anderen Benutzer übertragen werden.
Bei NFTs muss der Absender der NFT das Token besitzen, da die Methode das Eigentum an der NFT überträgt.
Wenn ein Benutzer (einschließlich des Erstellers des Tokens) bei Bruchteilen von NFTs alle Aktien überträgt, die er besitzt, verliert er das Eigentum an dem Token. Wenn ein Anteil eines Tokens an einen Benutzer übertragen wird, wird dieser Benutzer automatisch einer der Eigentümer des teilweisen NFT.
Der Aufrufer der Methode muss der angegebene Absender sein.
{
"fromOrgId": "fromOrgId value",
"fromUserId": "fromUserId value",
"toOrgId": "toOrgId value",
"toUserId": "toUserId value",
"tokenIds": "[\"{{bc-token-id}}\"]",
"quantity": "[quantity value]",
"endorsers": {{endorsers}}
}
- Parameter:
fromOrgId: string: Die MSP-ID (Member Service Provider) des Absenders und Tokeneigentümers in der aktuellen Organisation.
fromUserId: string: Der Benutzername oder die E-Mail-ID des Absenders und Tokeneigentümers.
toOrgId: string: Die MSP-ID (Member Service Provider) des Empfängers in der aktuellen Organisation.
toUserId: string: Der Benutzername oder die E-Mail-ID des Empfängers.
tokenIds: string[]: Eine Liste der Token-IDs für die zu übertragenden Token.
quantity: number[]: Die Liste der zu übertragenden Tokenmengen, die dem Token-ID-Array entsprechen.
- Rückgabewert:
- Bei Erfolg eine Nachricht mit Details für jede Tokenübertragung.
- Beispiel für Rückgabewert:
[
{
"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
- Ursprünglicher Methodenname:
suspendAccount
- Diese POST-Methode unterbricht ein Token-Konto. Diese Methode kann nur von einem
Token Admin des Chaincodes aufgerufen werden. Nachdem ein Konto ausgesetzt wurde, können Sie keine Vorgänge ausführen, die das Konto aktualisieren. Ein gelöschter Account kann nicht ausgesetzt werden.
- Payload:
{
"orgId": "{{bc-org-id}}",
"userId": "{{bc-user-id}}",
"endorsers": {{endorsers}}
}
- Parameter:
orgId: string: Die Mitgliedsdienstanbieter-(MSP-)ID des Benutzers in der aktuellen Organisation.
userId: string: Der Benutzername oder die E-Mail-ID des Benutzers.
- Rückgabewert:
- Bei Erfolg eine JSON-Darstellung des Tokenaccountstatus.
- Beispiel für Rückgabewert:
{
"assetType": "oaccountStatus",
"statusId": "oaccountStatus~5a0b0d8b1c6433af9fedfe0d9e6580e7cf6b6bb62a0de6267aaf79f79d5e96d7",
"accountId": "oaccount~1c568151c4acbcd1bd265c766c677145760a61c47fc8a3ba681a4cfbe287f9c1",
"status": "suspended"
}
-
updateBondToken
- Ursprünglicher Methodenname:
updateBondToken
- Diese POST-Methode aktualisiert Token. Jedes definierte Token verfügt über eine eigene Aktualisierungsmethode. Sie können Tokenmetadaten oder die Token-URI von nicht fungierbaren Token nicht aktualisieren. Diese Methode kann nur vom Token-Eigentümer aufgerufen werden.
- Payload:
{
"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
}
- Parameter:
tokenAsset: <Token Class>: Das Tokenasset. Die Eigenschaften des Assets werden in der Modelldatei definiert.
- Rückgabewert:
- Bei Erfolg das aktualisierte Tokenasset im JSON-Format.
- Beispiel für Rückgabewert (ganz 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
- Ursprünglicher Methodenname:
URI
- Diese Methode gibt die URI eines angegebenen Tokens zurück.
- Abfrage:
/URI?tokenId={{bc-token-id}}
- Parameter:
tokenId: string: Die ID des Tokens.
- Beispiel für Rückgabewert:
{
"tokenUri": "example.com"
}