-
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 Mitgliedschaftsserviceanbieter-ID (MSP) 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 einen 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 Mitgliedschaftsserviceanbieter-ID (MSP) des Benutzers in der aktuellen Organisation.
userId: string
: Der Benutzername oder die E-Mail-ID des Benutzers.
- Rückgabewert:
- Bei erfolgreicher Ausführung eine Meldung mit Details des Benutzers, der als
Token Admin
des Chaincodes hinzugefügt wurde.
- Beispiel für einen 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 fungiblen 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 einen 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 Token-Ersteller 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 Anleiherstellers auf das Konto des Eigentümers. Aus diesem Grund muss diese Methode im Kontext einer atomaren Transaktion ausgeführt werden. Die Methode überprüft auch den Übertragungsprozess und stellt sicher, dass der entsprechende CBDC-Kettencode mit dem richtigen
orgId
und userId
für die Übertragung aufgerufen wird. orgId
und userId
müssen dem Konto des Tokenverantwortlichen entsprechen, der die Einlösungsanforderung ausgelöst hat, und der CBDC-Tokenübertragungswert muss dem berechneten Einlösungspreis entsprechen, der vom Chaincode beim Auslösen 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 Mitgliedschaftsdienstleister-ID (MSP) des Benutzers.
fromUserId: string
: Der Benutzername oder die E-Mail-ID des Benutzers.
settlementId: string
: Die Abwicklungs-ID für den Rücknahmevorgang.
tokenId: string
: Die ID des Tokens.
CBDCTokenId: string
: Die ID des Tokens im CBDC-Kettencode.
CBDCOrgId: string
: Die MSP-ID des Benutzers im CBDC-Kettencode.
CBDCUserId: string
: Der Benutzername oder die E-Mail-ID des Benutzers im CBDC-Kettencode.
CBDCQuantity: string
- Die Menge der Token, die im CBDC-Kettencode übertragen werden sollen.
CBDCRemark: string
– Eine Bemerkung für die Übertragung im CBDC-Kettencode, der im zuvor gezeigten Format vorliegen muss.
- Beispiel für einen 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 Kontodetails werden in drei separaten Listen mit Organisationskennungen, Benutzerkennungen und Tokenkennungen 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, für die sie verantwortlich sind.
- Abfrage:
/balanceOfBatch?orgIds=["{{bc-org-id}}"]&userIds=["{{bc-user-id}}"]&tokenIds=["{{bc-token-id}}"]
- Parameter:
orgIds: string[]
: Eine Liste der Mitgliedschaftsserviceprovider-(MSP-)IDs in der aktuellen Organisation.
userIds: string[]
: Eine Liste der Benutzernamen oder E-Mail-IDs.
tokenIds: string[]
: Eine Liste der Token-IDs.
- Beispiel für einen Rückgabewert:
Im folgenden Beispiel stellt die Token-ID FNFT
ein fraktioniertes nicht fungibles 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 Mitgliedschaftsserviceprovider-(MSP-)ID 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 Mitgliedschaftsdienstleister-ID (MSP) 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 entsprechend dem Token-ID-Array.
- Rückgabewert:
- Bei erfolgreicher Ausführung wird eine Nachricht mit Details für jede Tokentransfer angezeigt.
- Beispiel für einen 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
- Diese POST-Methode deaktiviert oder brennen die angegebenen Token. 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 Mitgliedschaftsdienstleister-ID (MSP) 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 Burn-Vorgängen.
- Beispiel für einen 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 zugehörige 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 fungiblen Token-Konten, die ein Benutzer besitzt. 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 Benutzerkonto hat eine eindeutige ID, die durch einen SHA-256-Hash des Parameters orgId
und des Parameters userId
gebildet wird.
Ein Benutzer kann mehrere fungible Token-Konten mit eindeutigen Konto-IDs haben. Fungible Token-Konto-IDs werden durch einen SHA-256-Hash des Parameters orgId
, den Parameter userId
, die durch das Tilde-Symbol (~
) getrennte konstante Zeichenfolge ft
und eine Zählernummer gebildet, die den Index des fungiblen Kontos angibt, das durch das Tilde-Symbol (~
) getrennt erstellt wird.
Ein Benutzer kann nur einen nicht fungiblen Tokenaccount haben. Konto-IDs für nicht fungible Token sind eindeutig und werden durch einen SHA-256-Hash des Parameters orgId
, den Parameter userId
und die durch das Tilde-Symbol (~
) getrennte konstante Zeichenfolge nft
gebildet. Alle nicht fungiblen Token, für die ein Benutzer verantwortlich ist, ob ganz oder teilweise, sind mit diesem Konto verknüpft.
- Payload:
{
"orgId": "{{bc-org-id}}",
"userId": "{{bc-user-id}}",
"ftAccount": true,
"nftAccount": true,
"endorsers": {{endorsers}}
}
- Parameter:
orgId
- Die Mitgliedschaftsserviceprovider-(MSP-)ID des Benutzers, für den das Konto erstellt wird. 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
: Bei "true" wird ein fungibler Tokenaccount erstellt und mit dem Benutzeraccount verknüpft.
nftAccount: boolean
: Bei "true" wird ein nicht fungibler Tokenaccount erstellt und mit dem Benutzeraccount verknüpft.
- Rückgabewert:
- Bei Erfolg ein JSON-Objekt des erstellten Accounts.
- Beispiel für einen 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
- Diese POST-Methode erstellt eine Registrierung für einen Benutzer im REST-Proxy der Instanz und erstellt ein NFT-Konto im Kettencode des Bond Marketplace.
- Payload:
{
"orgId": "orgId value",
"userId": "userId value"
}
- Parameter:
orgId: string
- Die Mitgliedschaftsserviceanbieter-ID (MSP) 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 Accounts.
- Beispiel für einen 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. Bei nicht fungiblen Token wird der Aufrufer dieser Methode zum Eigentümer der NFT. Wenn das
roles
-Verhalten in der Eigenschaft behaviors
des Tokenmodells definiert und ein minter_role_name
angegeben ist, muss der Aufruferkonto die Minterrolle 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 prägenden Token. Der einzige unterstützte Wert für diesen Parameter ist 1
.
- Rückgabewert:
- Bei Erfolg ein JSON-Objekt des erstellten Accounts.
- Beispiel für einen 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"
}
-
createIDSCUser
- Ursprünglicher Methodenname:
createIDCSUser
- Diese POST-Methode erstellt einen Identity Cloud Service-Benutzer im Mandanten, der durch die URL in der Datei
terraform.tfvars
angegeben wird, und weist den Benutzer der angegebenen Benutzergruppe zu.
- 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 einen 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 Token-Konto, das einem Benutzerkonto zugeordnet werden kann.
Ein Benutzer kann mehrere fungible Token-Konten mit eindeutigen Konto-IDs haben. Fungible Token-Konto-IDs werden durch einen SHA-256-Hash des Parameters orgId
, den Parameter userId
, die durch das Tilde-Symbol (~
) getrennte konstante Zeichenfolge ft
und eine Zählernummer gebildet, die den Index des fungiblen Kontos angibt, das durch das Tilde-Symbol (~
) getrennt erstellt wird.
Ein Benutzer kann nur einen nicht fungiblen Tokenaccount haben. Konto-IDs für nicht fungible Token sind eindeutig und werden durch einen SHA-256-Hash des Parameters orgId
, den Parameter userId
und die durch das Tilde-Symbol (~
) getrennte konstante Zeichenfolge nft
gebildet. Alle nicht fungiblen Token, für die ein Benutzer verantwortlich ist, ob ganz oder teilweise, 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 Mitgliedschaftsserviceanbieter-ID (MSP) 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 einen 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 fungiblen Token-Konten, die ein Benutzer hat. Benutzer müssen über Konten im Netzwerk verfügen, um tokenbezogene Vorgänge abzuschließen.
Eine Konto-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 Mitgliedschaftsserviceanbieter-ID (MSP) 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 Benutzerkontos.
- Beispiel für einen 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 Tokenkonto. Diese Methode kann nur von einem
Token Admin
des Chaincodes aufgerufen werden. Diese Methode löst einen Fehler aus, wenn kein accountStatus
-Wert für das Konto im Buch gefunden wird.
- Payload:
{
"orgId": "{{bc-org-id}}",
"userId": "{{bc-user-id}}",
"endorsers": {{endorsers}}
}
- Parameter:
orgId: string
- Die Mitgliedschaftsserviceanbieter-ID (MSP) 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 einen 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 von einem
Token Admin
des Chaincodes oder dem Account Owner
des Accounts aufgerufen werden.
- Abfrage:
/getAccount?orgId={{bc-org-id}}&userId={{bc-user-id}}
- Parameter:
orgId: string
- Die Mitgliedschaftsserviceanbieter-ID (MSP) des Benutzers in der aktuellen Organisation.
userId: string
: Der Benutzername oder die E-Mail-ID des Benutzers.
tokenId?: string
: Bei einem nicht fungiblen Tokenaccount eine leere Zeichenfolge. Bei einem fungiblen Token-Konto die Token-ID.
- Rückgabewert:
- Bei Erfolg ein JSON-Objekt, das Tokenaccountdetails enthält.
- Beispiel für einen Rückgabewert
{
"assetType": "oaccount",
"accountId": "oaccount~e88276a3be547e31b567346bdddde52d37734da4d5fae83ab2e5c98a10097371",
"userId": "user2",
"orgId": "AppBldFFFFMay22",
"tokenType": "nonfungible",
"noOfNfts": 3
}
-
getAccountBondSummary
- Ursprünglicher Methodenname:
getAccountBondSummary
- Diese GET-Methode gibt eine Kontoü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 Mitgliedschaftsserviceanbieter-ID (MSP) 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.
- Beispiel für einen Rückgabewert
[
{
"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 Kontoü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 Paginierung basierend auf Seitengrößen- und Lesezeichenwerten zurückgeben und auch nach Start- und Endzeit gefiltert werden.
- Abfrage:
/getAccountBondSummary?orgId={{bc-org-id}}&userId={{bc-user-id}}&pageSize=1&bookmark={{bookmark}}
- Parameter:
orgId: string
- Die Mitgliedschaftsserviceanbieter-ID (MSP) 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.
- Beispiel für einen Rückgabewert
[
{
"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 zu fungiblen und nicht fungiblen Token zurück, die dem Benutzer zugeordnet sind. Diese Methode kann nur von einem
Token Admin
des Chaincodes oder dem Account Owner
des Accounts aufgerufen werden.
- Abfrage:
/getAccountDetailsByUser?orgId={{bc-org-id}}&userId={{bc-user-id}}
- Parameter:
orgId: string
- Die Mitgliedschaftsserviceanbieter-ID (MSP) 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 Zusammenfassung für den angegebenen Benutzer und Details zu fungiblen und nicht fungiblen Token enthält, die dem Benutzer zugeordnet sind. Bei partiellen nicht fungiblen Token zeigt die Eigenschaft
tokenShare
im Abschnitt associatedNFTs
den Anteil an, für den der Benutzer verantwortlich ist.
- Beispiel für einen 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 Tokenaccounts ab. Diese Methode kann vom
Token Admin
des Chaincodes oder vom Eigentümer des Tokenaccounts aufgerufen werden.
- Abfrage:
/getAccountStatus?orgId={{bc-org-id}}&userId={{bc-user-id}}
- Parameter:
orgId: string
- Die Mitgliedschaftsserviceanbieter-ID (MSP) 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 einen 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 vom
Token Admin
des Chaincodes oder vom Eigentümer des Tokenaccounts aufgerufen werden.
- Abfrage:
/getAccountStatusHistory?orgId={{bc-org-id}}&userId={{bc-user-id}}
- Parameter:
orgId: string
- Die Mitgliedschaftsserviceanbieter-ID (MSP) des Benutzers in der aktuellen Organisation.
userId: string
: Der Benutzername oder die E-Mail-ID des Benutzers.
- Rückgabewert:
- Bei Erfolg die Kontostatushistorie im JSON-Format.
- Beispiel für einen 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 Mitgliedschaftsserviceanbieter-ID (MSP) des Benutzers in der aktuellen Organisation.
userId: string
: Der Benutzername oder die E-Mail-ID des Benutzers.
- Beispiel für einen 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
: Bei fungiblen Token die Token-ID. Für nicht fungible Token ist der Tokenname erforderlich.
- Beispiel für einen Rückgabewert:
{
"accounts": [
"oaccount~1422a74d262a3a55a37cd9023ef8836f765d0be7b49d397696b9961d7434d22a",
"oaccount~60bb20c14a83f6e426e1437c479c5891e1c6477dfd7ad18b73acac5d80bc504b"
]
}
-
getAllAccounts
- Ursprünglicher Methodenname:
getAllAccounts
- Diese GET-Methode gibt Details aller Benutzerkonten 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 einen 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
admins
-Array im JSON-Format, das orgId
- und userId
-Objekte enthält.
- Beispiel für einen 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-Rich-Abfragen der Berkeley-DB 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 einen 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-Rich-Abfragen der Berkeley-DB 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 Mitgliedschaftsserviceanbieter-ID (MSP) des Benutzers in der aktuellen Organisation.
userId: string
: Der Benutzername oder die E-Mail-ID des Benutzers.
- Beispiel für einen 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 einen 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 (Einlösungsanforderungen) abzurufen, die er gestellt hat.
- Abfrage:
/getTokenApprovalRequestByUser?status=status value
- Parameter:
status: string
: Der Status der Anforderung, z.B. PENDING
, REJECTED
oder APPROVED
.
- Beispiel für einen 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 (Einlösungsanforderungen) abzurufen, die er gestellt hat.
- Abfrage:
/getTokenApprovalRequestForUserByStatus?status=status value
- Parameter:
status: string
: Der Status der Anforderung, z.B. PENDING
, REJECTED
oder APPROVED
.
- Beispiel für einen 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 NFTs mit Bruchteilen wird auch die Liste der Eigentümer 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 einen 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 einen 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
: Bei fungiblen Token die Token-ID. Für nicht fungible Token ist der Tokenname erforderlich.
- Beispiel für einen 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. userId
ist der Benutzername oder die E-Mail-ID des Instanzeigentümers oder des Benutzers, der bei der Instanz angemeldet ist. orgId
ist die Mitgliedschaftsserviceprovider-(MSP-)ID des Benutzers in der aktuellen Netzwerkorganisation. Der Parameter adminList
ist erforderlich, wenn Sie den Chaincode zum ersten Mal bereitstellen. Wenn Sie ein Upgrade des Chaincodes 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 Meldung ohne Payload.
- Beispiel für einen Rückgabewert:
{
}
-
isInRole
- Ursprünglicher Methodenname:
isInRole
- Diese GET-Methode gibt einen booleschen Wert zurück, um anzugeben, ob ein Benutzer über eine angegebene Rolle verfügt. Nicht fungible Token werden durch den Tokennamen angegeben. Diese Methode kann nur von einem
Token Admin
des Chaincodes oder dem Account Owner
des Accounts aufgerufen werden. Der angegebene Benutzer muss über ein Tokenkonto verfügen, das mit dem fungiblen Token verknüpft ist, oder über ein nicht fungibles Tokenkonto 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 einen 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 wird false
zurückgegeben. 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 Mitgliedschaftsserviceanbieter-ID (MSP) 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 einen Rückgabewert:
{"result": true}
-
mintBatch
- Ursprünglicher Methodenname:
mintBatch
- Diese POST-Methode erstellt (mindert) mehrere Token in einem Batchvorgang. Diese Methode erstellt nur fungible Token oder fraktionierte nicht fungible Token.
Wenn für fungible Token die Minter-Rolle in der Spezifikationsdatei definiert ist, kann jeder Benutzer mit der Minter-Rolle diese Methode aufrufen. Wenn nicht, kann jeder Benutzer diese Methode verwenden, um Token zu mintieren. Sie können nicht mehr als die Eigenschaft max_mint_quantity
des Tokens mintieren, wenn diese Eigenschaft beim Erstellen oder Aktualisieren des Tokens angegeben wurde.
Wenn für nicht fungible Token die Minter-Rolle in der Spezifikationsdatei definiert ist, kann jeder Benutzer mit der Minter-Rolle diese Methode aufrufen. Wenn nicht, kann jeder Benutzer diese Methode verwenden, um Token zu mintieren. Darüber hinaus muss der Aufrufer auch der Ersteller des Tokens sein. Es gibt keine Obergrenze für die Menge an 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 Mitgliedschaftsserviceanbieter-ID (MSP) 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 Token geprägt werden sollen.
quantity: number[]
: Die Liste der Mengen der zu prägenden Token, die dem Token-ID-Array entsprechen.
- Rückgabewert:
- Bei Erfolg ein JSON-Objekt, das Details zu den geprägten Token enthält.
- Beispiel für einen 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, Organisations-ID und Benutzer-ID des Eigentümers der angegebenen Token-ID zurück. Jeder kann diese Methode nennen.
- Abfrage:
/ownerOf?tokenId={{bc-token-id}}
- Parameter:
tokenId: string
: Die ID des Tokens.
- Beispiel für einen 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 -Administrator aufgerufen werden, um die Zinsen für den Anleihe-Token zu zahlen. 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 bei Fälligkeit ist. Die Zinsen werden durch den Chaincode basierend auf dem Kuponsatz des Tokens berechnet. Der Kaufvorgang überträgt CBDC-Token vom Konto des Anrufers auf das Konto des Anleihebesitzers. Aus diesem Grund muss diese Methode im Kontext einer atomaren Transaktion ausgeführt werden. Die Methode überprüft auch den Übertragungsprozess und stellt sicher, dass der entsprechende CBDC-Kettencode mit dem richtigen
orgId
und userId
für die Übertragung aufgerufen wird. orgId
und userId
müssen dem Tokeneigentümer entsprechen, und der CBDC-Tokentransferwert muss dem vom Bond Chaincode berechneten Interesse 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 Mitgliedschaftsdienstleister-ID (MSP) 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-Kettencode.
CBDCOrgId: string
: Die MSP-ID des Benutzers im CBDC-Kettencode.
CBDCUserId: string
: Der Benutzername oder die E-Mail-ID des Benutzers im CBDC-Kettencode.
CBDCQuantity: string
- Die Menge der Token, die im CBDC-Kettencode übertragen werden sollen.
CBDCRemark: string
– Eine Bemerkung für die Übertragung im CBDC-Kettencode, der im zuvor gezeigten Format vorliegen muss.
- Beispiel für einen 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 Token-Ersteller 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. Mit dieser Methode wird der Status in posted
aktualisiert. 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 einen 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 zu erwerben. 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 überprüft auch den Übertragungsprozess und stellt sicher, dass der entsprechende CBDC-Kettencode mit dem richtigen
orgId
und userId
für die Übertragung aufgerufen wird. orgId
und userId
müssen dem Tokenersteller entsprechen, und der CBDC-Tokenübertragungswert muss dem Nennwert des Bond-Tokens multipliziert mit der gekauften Menge 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 Mitgliedschaftsdienstleister-ID (MSP) des Benutzers.
userId: string
: Der Benutzername oder die E-Mail-ID des Benutzers.
settlementId: string
: Die Abwicklungs-ID für den Vorgang.
CBDCTokenId: string
: Die ID des Tokens im CBDC-Kettencode.
CBDCOrgId: string
: Die MSP-ID des Benutzers im CBDC-Kettencode.
CBDCUserId: string
: Der Benutzername oder die E-Mail-ID des Benutzers im CBDC-Kettencode.
CBDCQuantity: string
- Die Menge der Token, die im CBDC-Kettencode übertragen werden sollen.
CBDCRemark: string
– Eine Bemerkung für die Übertragung im CBDC-Kettencode, der im zuvor gezeigten Format vorliegen muss.
- Beispiel für einen 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. Tokenverantwortliche 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 Mitgliedschaftsdienstleister-ID (MSP) des Benutzers.
fromUserId: string
: Der Benutzername oder die E-Mail-ID des Benutzers.
settlementId: string
: Die Abwicklungs-ID für den Rücknahmevorgang.
tokenId: string
: Die ID des Tokens.
- Beispiel für einen 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 einen Rückgabewert:
{
"msg": "Successfully removed role 'minter' from Account Id: oaccount~60bb20c14a83f6e426e1437c479c5891e1c6477dfd7ad18b73acac5d80bc504b (Org-Id: appdev, User-Id: user1)"
}
-
removeTokenAdmin
- Ursprünglicher Methodenname:
removeTokenAdmin
- Diese POST-Methode entfernt einen Benutzer als
Token Admin
des Chaincodes. 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 Mitgliedschaftsserviceanbieter-ID (MSP) des Benutzers in der aktuellen Organisation.
userId: string
: Der Benutzername oder die E-Mail-ID des Benutzers.
- Rückgabewert:
- Bei erfolgreicher Ausführung eine Meldung mit Details des Benutzers, der als
Token Admin
des Chaincodes entfernt wurde.
- Beispiel für einen 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 Anleihetoken nach der Fälligkeit zu stellen. Diese Methode beinhaltet auch die Berechnung des Rücknahmepreises durch den Chaincode. Rücknahmeanforderungen können nur für die gesamte Menge des Anleihetokens ausgelöst werden, deren Eigentümer der Benutzer ist. Benutzer können mehrere Einlösungsanforderungen basierend auf verschiedenen Abrechnungs-IDs auslösen, 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 Abwicklungs-ID für den Rücknahmevorgang.
tokenId: string
: Die ID des Tokens.
orderId: string
: Die Bestell-ID für den Kaufvorgang.
additionalFees: number
- Die zusätzlichen Gebühren, die dem Einlösungspreis hinzugefügt werden müssen.
- Beispiel für einen 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 des NFT das Token besitzen, da die Methode das Eigentum an dem NFT überträgt.
Bei teilweisen NFTs verliert ein Benutzer (einschließlich des Erstellers des Tokens) alle Aktien, die er besitzt, das Eigentum an dem Token. Wenn ein Teil eines Tokens an einen Benutzer übertragen wird, wird dieser Benutzer automatisch zu einem Eigentümer des partiellen 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 Mitgliedschaftsserviceprovider-(MSP-)ID 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 Mitgliedschaftsdienstleister-ID (MSP) 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 entsprechend dem Token-ID-Array.
- Rückgabewert:
- Bei erfolgreicher Ausführung wird eine Nachricht mit Details für jede Tokentransfer angezeigt.
- Beispiel für einen 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 setzt ein Token-Konto aus. Diese Methode kann nur von einem
Token Admin
des Chaincodes aufgerufen werden. Nachdem ein Konto gesperrt wurde, können Sie keine Vorgänge abschließen, die das Konto aktualisieren. Ein gelöschtes Konto kann nicht ausgesetzt werden.
- Payload:
{
"orgId": "{{bc-org-id}}",
"userId": "{{bc-user-id}}",
"endorsers": {{endorsers}}
}
- Parameter:
orgId: string
- Die Mitgliedschaftsserviceanbieter-ID (MSP) 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 einen 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 keine Tokenmetadaten oder die Token-URI von nicht fungiblen Token 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 (ganzer 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 einen Rückgabewert:
{
"tokenUri": "example.com"
}