Go-Methoden für Tokenkonvertierung

Blockchain App Builder generiert automatisch Methoden, mit denen Sie fungible Token konvertieren können, die den Token Taxonomy Framework-Standard verwenden.

Die Tokenkonvertierungsmethoden umfassen das Konzept des Exchange Pools. Das Exchange Pool-Konto wird durch andere Token-Konten finanziert. Wenn Sie Token prägen, können Sie angeben, dass ein Prozentsatz der abgebauten Token auf das Exchange-Pool-Konto übertragen wird.

Tokenkonvertierungsprozess

Ein typischer Ablauf zum Konvertieren von Token führt folgende Schritte aus:
  1. Rufen Sie die Methode InitializeExchangePoolUser auf, um den Exchange Pool-Benutzer zu initialisieren.
  2. Rufen Sie die Methode CreateExchangePoolAccounts auf, um Exchange Pool-Konten zu erstellen. Erstellen Sie ein Exchange-Pool-Konto für jeden Typ von fungiblem Token, von dem Sie konvertieren oder in das Sie konvertieren möchten.
  3. Rufen Sie die Methode AddConversionRate auf, um die Konvertierungsrate für jedes Tokenpaar festzulegen, zwischen dem Sie konvertieren möchten.
  4. Finanzieren Sie die Exchange-Pool-Tokenkonten auf eine der folgenden Arten:
    • Übertragen Sie Token mithilfe der standardmäßigen Übertragungsmethoden auf die Tokenkonten des Exchange-Pools.
    • Rufen Sie die Methode MintWithFundingExchangePoolToken auf, wenn Sie Token prägen, die einen Prozentsatz der abgebauten Token auf ein Exchange-Poolkonto übertragen können.
  5. Rufen Sie die Methode TokenConversion auf, um zwischen zwei fungiblen Token zu konvertieren. Ein einzelner Benutzer kann Token zwischen zwei seiner Token-Konten konvertieren, oder ein Benutzerpaar kann Token direkt von einem Konto in ein anderes konvertieren.
  6. Der Exchange-Poolbenutzer kann die Kontensalden und Kontotransaktionen des Exchange-Pools anzeigen.
    • Rufen Sie die Methode GetAccount auf, um die Salden der einzelnen Exchange Pool-Tokenkonten anzuzeigen.
    • Rufen Sie die Methoden GetAccountTransactionHistory und GetAccountTransactionHistoryWithFilters auf, um Kontotransaktionen für jedes Exchange-Pool-Tokenkonto anzuzeigen.

Automatisch generierte Tokenkonvertierungsmethoden

Blockchain App Builder generiert automatisch Methoden, um zwischen verschiedenen Arten von fungiblen Token zu konvertieren. Controller-Methoden müssen öffentlich sein, damit sie aufgerufen werden können. Öffentliche Methodennamen beginnen mit einem Großbuchstaben. Methodennamen, die mit einem Kleinbuchstaben beginnen, sind privat.

InitializeExchangePoolUser
Diese Methode initialisiert den Exchange Pool-Benutzer, bei dem es sich um eine einmalige Aktivität handelt. Diese Methode kann nur von einem Token Admin des Chaincodes aufgerufen werden.
func (t *Controller) InitializeExchangePoolUser(org_id string, user_id string) (interface{}, error) {
    auth, err := t.Ctx.Auth.CheckAuthorization("TokenConversion.InitializeExchangePoolUser", "TOKEN")
    if err != nil && !auth {
        return nil, fmt.Errorf("error in authorizing the caller  %s", err.Error())
    }
    return t.Ctx.TokenConvertor.InitializeExchangePoolUser(org_id, user_id)
}
Parameter:
  • org_id: string: Die Mitgliedsdienstanbieter-(MSP-)ID des Benutzers in der aktuellen Organisation.
  • user_id: string: Der Benutzername oder die E-Mail-ID des Benutzers.
Rückgabewert:
  • Bei Erfolg eine Meldung, die Details des Exchange Pool-Benutzers enthält.
Beispiel für Rückgabewert:
{
    "AssetType": "oconversion",
    "ConvertorId": "bcb1f3b1442c625d3ce205660c5e717c5858a1fe1e12c325df799a851ceaa09b",
    "OrgId": "Org1MSP",
    "UserId": "exchangepooluser"
}
CreateExchangePoolAccounts
Diese Methode erstellt Exchange-Pool-Tokenkonten für ein bestimmtes Array von Token-IDs. Diese Methode kann nur von einem Token Admin des Chaincodes aufgerufen werden.
func (t *Controller) CreateExchangePoolAccounts(token_ids []string) (interface{}, error) {
    auth, err := t.Ctx.Auth.CheckAuthorization("TokenConversion.InitializeExchangePoolUser", "TOKEN")
    if err != nil && !auth {
        return nil, fmt.Errorf("error in authorizing the caller  %s", err.Error())
    }
    var tokens []interface{}
    for _, tokenId := range token_ids {
        token, err := t.getTokenObject(tokenId)
        if err != nil {
            return nil, fmt.Errorf("error in getting from_token asset details. Error: %s", err)
        }
        tokens = append(tokens, token.Interface())
    }
    return t.Ctx.TokenConvertor.CreateExchangePoolAccounts(tokens)
}
Parameter:
  • token_ids: string []: Ein Array von Token-IDs. Sie können bis zu zehn Token-IDs angeben.
Rückgabewert:
  • Bei Erfolg eine Liste von Objekten, die Details der erstellten Exchange-Poolkonten enthält.
Beispiel für Rückgabewert:
[
    {
        "AccountId": "oaccount~cc9d84f6d4a5976532493ef5200c9603e138adc35166ffd5fd1aad9c1647f034",
        "Status": "created",
        "TokenId": "USD"
    },
    {
        "AccountId": "oaccount~3d4933111ec8bd6cc1ebb43f2b2c390deb929cfa534f9c6ada8e63bac04a13c0",
        "Status": "created",
        "TokenId": "INR"
    }
]
AddConversionRate
Diese Methode fügt eine Konvertierungsrate für ein Tokenpaar hinzu. Die Tokenkonvertierungsrate kann bis zu acht Dezimalstellen angegeben werden. Diese Methode kann nur von einem Token Admin des Chaincodes aufgerufen werden.
func (t *Controller) AddConversionRate(from_token_id string, to_token_id string, token_conversion_rate float64) (interface{}, error) {
    auth, err := t.Ctx.Auth.CheckAuthorization("TokenConversion.AddConversionRate", "TOKEN")
    if err != nil && !auth {
        return nil, fmt.Errorf("error in authorizing the caller  %s", err.Error())
    }
    return t.Ctx.TokenConvertor.AddConversionToken(from_token_id, to_token_id, token_conversion_rate)
}
Parameter:
  • from_token_id: string: Die ID des Tokens, aus dem konvertiert werden soll.
  • to_token_id: string: Die ID des Tokens, in das konvertiert werden soll.
  • token_conversion_rate: float64: Die Rate, mit der das from_token_id-Token in das to_token_id-Token konvertiert werden soll.
Rückgabewert:
  • Bei Erfolg eine JSON-Darstellung des Konvertierungsratenobjekts.
Beispiel für Rückgabewert:
{
    "AssetType": "oconversionRate",
    "ConvertorRateId": "oconversionRate~79eacc670928bbc4c9ba4ebee135c8b4d6411af3110f8a9b782c383d5e18b150",
    "FromTokenId": "USD",
    "ToTokenId": "INR",
    "ConversionRate": 10
}
GetConversionRate
Diese Methode ruft die aktuelle Konvertierungsrate für ein Tokenpaar ab. Diese Methode kann von der Token Admin des Chaincodes, einem beliebigen Org Admin und einem beliebigen Tokenkontoeigentümer aufgerufen werden.
func (t *Controller) GetConversionRate(from_token_id string, to_token_id string) (interface{}, error) {
    auth, err := t.Ctx.Auth.CheckAuthorization("TokenConversion.GetConversionRate", "TOKEN")
    if err != nil && !auth {
        return nil, fmt.Errorf("error in authorizing the caller  %s", err.Error())
    }
    conversionRateId, err := t.Ctx.TokenConversionRate.GetConversionRateId(from_token_id, to_token_id)
    if err != nil {
        return nil, fmt.Errorf("error in getting conversationRateId. Error: %s", err)
    }
    return t.Ctx.TokenConversionRate.Get(conversionRateId)
}
Parameter:
  • from_token_id: string: Die ID des Tokens, aus dem konvertiert werden soll.
  • to_token_id: string: Die ID des Tokens, in das konvertiert werden soll.
Rückgabewert:
  • Bei Erfolg eine JSON-Darstellung des Konvertierungsratenobjekts.
Beispiel für Rückgabewert:
{
    "AssetType": "oconversionRate",
    "ConvertorRateId": "oconversionRate~79eacc670928bbc4c9ba4ebee135c8b4d6411af3110f8a9b782c383d5e18b150",
    "FromTokenId": "USD",
    "ToTokenId": "INR",
    "ConversionRate": 10
}
UpdateConversionRate
Mit dieser Methode wird die aktuelle Konvertierungsrate für ein Tokenpaar aktualisiert. Die Tokenkonvertierungsrate kann bis zu acht Dezimalstellen angegeben werden. Diese Methode kann nur von einem Token Admin des Chaincodes aufgerufen werden.
func (t *Controller) UpdateConversionRate(from_token_id string, to_token_id string, token_conversion_rate float64) (interface{}, error) {
    auth, err := t.Ctx.Auth.CheckAuthorization("TokenConversion.UpdateConversionRate", "TOKEN")
    if err != nil && !auth {
        return nil, fmt.Errorf("error in authorizing the caller  %s", err.Error())
    }
    return t.Ctx.TokenConvertor.UpdateTokenConversionRate(from_token_id, to_token_id, token_conversion_rate)
}
Parameter:
  • from_token_id: string: Die ID des Tokens, aus dem konvertiert werden soll.
  • to_token_id: string: Die ID des Tokens, in das konvertiert werden soll.
  • token_conversion_rate: float64: Die Rate, mit der das from_token_id-Token in das to_token_id-Token konvertiert werden soll.
Rückgabewert:
  • Bei Erfolg eine JSON-Darstellung des aktualisierten Konvertierungsratenobjekts.
Beispiel für Rückgabewert:
{
    "AssetType": "oconversionRate",
    "ConvertorRateId": "oconversionRate~79eacc670928bbc4c9ba4ebee135c8b4d6411af3110f8a9b782c383d5e18b150",
    "FromTokenId": "USD",
    "ToTokenId": "INR",
    "ConversionRate": 15
}
MintWithFundingExchangePool
Mit dieser Methode werden Token im Konto des Anrufers basierend auf der angegebenen Token-ID und Menge abgebildet. Ein Prozentsatz der Token aus der Prägemenge wird dann auf das Token-Konto des Exchange-Pools übertragen.
func (t *Controller) MintWithFundingExchangePool(token_id string, token_quantity float64, percentage_token_to_exchangePool float64) (interface{}, error) {
    token, err := t.getTokenObject(token_id)
    if err != nil {
        return nil, fmt.Errorf("error in getting from_token asset details. Error: %s", err)
    }
    return t.Ctx.TokenConvertor.MintWithFundingExchangePool(token.Interface(), token_quantity, percentage_token_to_exchangePool)
}
Parameter:
  • token_id: string: Die ID des zu prägenden Tokens.
  • token_quantity: float64: Die Gesamtanzahl der zu mint zu erstellenden Token.
  • percentage_token_to_exchange_pool: float64: Der Prozentsatz der abgebauten Token, die auf das Tokenkonto des Exchange-Pools übertragen werden sollen.
Rückgabewert:
  • Bei Erfolg eine Meldung, die angibt, dass das Prägen und die Finanzierung des Austauschpools erfolgreich waren.
Beispiel für Rückgabewert:
{
    "msg": "successfully minted 100 tokens to AccountId: 'oaccount~1c568151c4acbcd1bd265c766c677145760a61c47fc8a3ba681a4cfbe287f9c1' (OrgId: Org1MSP, User-Id: admin) and Successfully transfered 80 tokens to exchange pool account with AccountId: 'oaccount~3d4933111ec8bd6cc1ebb43f2b2c390deb929cfa534f9c6ada8e63bac04a13c0' (OrgId: Org1MSP, UserId: exchangepooluser) "
}
TokenConversion
Diese Methode konvertiert Token aus dem Account des Aufrufers in den Account, der durch die Werte to_token_id, to_org_id und to_user_id angegeben wird. Diese Methode kann von der Token Admin des Chaincodes und von jedem Tokenkontoinhaber aufgerufen werden. Ein Exchange Pool-Benutzer kann diese Methode nicht aufrufen.
func (t *Controller) TokenConversion(from_token_id string, to_token_id string, to_org_id string, to_user_id string, token_quantity float64) (interface{}, error) {
    auth, err := t.Ctx.Auth.CheckAuthorization("TokenConversion.TokenConversion", "TOKEN")
    if err != nil && !auth {
        return nil, fmt.Errorf("error in authorizing the caller  %s", err.Error())
    }
    from_token, err := t.getTokenObject(from_token_id)
    if err != nil {
        return nil, fmt.Errorf("error in getting from_token asset details. Error: %s", err)
    }
    to_token, err := t.getTokenObject(to_token_id)
    if err != nil {
        return nil, fmt.Errorf("error in getting to_token asset details. error: %s", err)
    }
    return t.Ctx.TokenConvertor.TokenConversion(from_token.Interface(), to_token.Interface(), to_org_id, to_user_id, token_quantity)
}
Parameter:
  • from_token_id: string: Die ID des Tokens, aus dem konvertiert werden soll.
  • to_token_id: string: Die ID des Tokens, in das konvertiert werden soll.
  • to_org_id: string - Die Mitgliedsdienstanbieter-(MSP-)ID des Benutzers in der aktuellen Organisation, der die Token erhält.
  • to_user_id: string: Der Benutzername oder die E-Mail-ID des Benutzers, der die Token erhalten soll.
  • token_quantity: float64: Die Gesamtanzahl der zu übertragenden Token.
Rückgabewert:
  • Bei Erfolg eine Meldung, die angibt, dass die Tokenkonvertierung erfolgreich war.
Beispiel für Rückgabewert:
{
    "msg": "succesfully converted 5 of tokens with tokenId: [USD] from AccountId: 'oaccount~abc74791148b761352b98df58035601b6f5480448ac2b4a3a7eb54bdbebf48eb' (OrgId: Org1MSP, UserId: admin) to 75 of tokens with tokenId: [INR] to AccountId: 'oaccount~25e2e66718b6dbb59aea9c32acebec60e09d912b2578d4933d377ae5d0628f1e' ( OrgId: Org1MSP, UserId: user ) as per the conversion rate of 15"
}
GetConversionHistory
Diese Methode gibt die Tokenkonvertierungshistorie für einen angegebenen Tokenaccount zurück. Diese Methode kann von der Token Admin des Chaincodes, einer Org Admin der angegebenen Organisation und vom Tokenkontoeigentümer aufgerufen werden.
func (t *Controller) GetConversionHistory(token_id string, org_id string, user_id string) (interface{}, error) {
    auth, err := t.Ctx.Auth.CheckAuthorization("TokenConversion.GetConversionHistory", "TOKEN")
    if err != nil && !auth {
        return nil, fmt.Errorf("error in authorizing the caller  %s", err.Error())
    }
    account_id, err := t.Ctx.Account.GenerateAccountId(token_id, org_id, user_id)
    if err != nil {
        return nil, fmt.Errorf("error in generating the accoint_id. Error: %s", err)
    }
    return t.Ctx.Account.GetTokenConversionHistory(account_id, org_id, user_id)
}
Parameter:
  • token_id: string: Die ID des Tokens.
  • org_id: string: Die Mitgliedsdienstanbieter-(MSP-)ID des Benutzers in der aktuellen Organisation.
  • user_id: string: Der Benutzername oder die E-Mail-ID des Benutzers.
Rückgabewert:
  • Bei Erfolg ein JSON-Objekt mit Details zur Konvertierungshistorie.
Beispiel für Rückgabewert:
[
    {
        "balance": 95,
        "conversion_rate": 15,
        "converted_amount": 75,
        "from_account_id": "oaccount~abc74791148b761352b98df58035601b6f5480448ac2b4a3a7eb54bdbebf48eb",
        "from_token_id": "USD",
        "onhold_balance": 0,
        "timestamp": "2022-12-01T00:54:33+05:30",
        "to_account_id": "oaccount~25e2e66718b6dbb59aea9c32acebec60e09d912b2578d4933d377ae5d0628f1e",
        "to_token_id": "INR",
        "transacted_amount": 5,
        "transaction_id": "otransaction~e1f5c32ab3cdc17a51ff0edda6bcc71b5acec3320a69f68a4ae455ed416657fa",
        "transaction_type": "TOKEN_CONVERSION_DEBIT"
    }
]
GetConversionRateHistory
Diese Methode gibt die Tokenkonvertierungsratenhistorie für ein Tokenpaar zurück. Diese Methode kann von der Token Admin des Chaincodes, einem beliebigen Org Admin und einem beliebigen Tokenkontoeigentümer aufgerufen werden.
func (t *Controller) GetConversionRateHistory(from_token_id string, to_token_id string) (interface{}, error) {
    auth, err := t.Ctx.Auth.CheckAuthorization("TokenConversion.GetConversionRateHistory", "TOKEN")
    if err != nil && !auth {
        return nil, fmt.Errorf("error in authorizing the caller  %s", err.Error())
    }
    conversion_rate_id, err := t.Ctx.TokenConversionRate.GetConversionRateId(from_token_id, to_token_id)
    if err != nil {
        return nil, fmt.Errorf("error in getting conversionRateId. Error: %s", err)
    }
    return t.Ctx.TokenConversionRate.History(conversion_rate_id)
}
Parameter:
  • from_token_id: string: Die ID des Tokens, aus dem konvertiert werden soll, um die Konvertierungsrate zu berechnen.
  • to_token_id: string: Die ID des Tokens, in das konvertiert werden soll, um die Konvertierungsrate zu berechnen.
Rückgabewert:
  • Bei Erfolg ein JSON-Objekt mit Details der Konvertierungsratenhistorie.
Beispiel für Rückgabewert:
[
  {
    "IsDelete": "false",
    "Timestamp": "2022-12-01T00:48:58+05:30",
    "TxId": "d6c5332278d33beddbc48e535029af424fef2129bf49f4906f9b527e101d95f1",
    "Value": {
      "AssetType": "oconversionRate",
      "ConversionRate": 15,
      "ConvertorRateId": "oconversionRate~79eacc670928bbc4c9ba4ebee135c8b4d6411af3110f8a9b782c383d5e18b150",
      "FromTokenId": "USD",
      "ToTokenId": "INR"
    }
  },
  {
    "IsDelete": "false",
    "Timestamp": "2022-12-01T00:47:15+05:30",
    "TxId": "e8796578351e948827d5dfe242ab4be59019ae67d69d3bfd6db255a268d57017",
    "Value": {
      "AssetType": "oconversionRate",
      "ConversionRate": 10,
      "ConvertorRateId": "oconversionRate~79eacc670928bbc4c9ba4ebee135c8b4d6411af3110f8a9b782c383d5e18b150",
      "FromTokenId": "USD",
      "ToTokenId": "INR"
    }
  }
]
GetExchangePoolUser
Diese Methode gibt die Werte org_id und user_id für den Exchange Pool-Benutzer zurück. Diese Methode kann nur von einem Token Admin des Chaincodes aufgerufen werden.
func (t *Controller) GetExchangePoolUser() (interface{}, error) {
    auth, err := t.Ctx.Auth.CheckAuthorization("TokenConversion.GetExchangePoolUser", "TOKEN")
    if err != nil && !auth {
        return nil, fmt.Errorf("error in authorizing the caller  %s", err.Error())
    }
    return t.Ctx.TokenConvertor.GetExchangePoolUser()
}
Parameter:
  • Kein
Rückgabewert:
  • Bei Erfolg eine Meldung mit Informationen zum Exchange Pool-Benutzer.
Beispiel für Rückgabewert:
{
    "AssetType": "oconversion",
    "ConvertorId": "bcb1f3b1442c625d3ce205660c5e717c5858a1fe1e12c325df799a851ceaa09b",
    "OrgId": "Org1MSP",
    "UserId": "exchangepooluser"
}
InitializeExchangePoolUser
Diese Methode initialisiert den Exchange Pool-Benutzer, bei dem es sich um eine einmalige Aktivität handelt. Diese Methode kann nur von einem Token Admin des Chaincodes aufgerufen werden.
func (t *Controller) InitializeExchangePoolUser(org_id string, user_id string) (interface{}, error) {
    auth, err := t.Ctx.Auth.CheckAuthorization("TokenConversion.InitializeExchangePoolUser", "TOKEN")
    if err != nil && !auth {
        return nil, fmt.Errorf("error in authorizing the caller  %s", err.Error())
    }
    return t.Ctx.TokenConvertor.InitializeExchangePoolUser(org_id, user_id)
}
Parameter:
  • org_id: string: Die Mitgliedsdienstanbieter-(MSP-)ID des Benutzers in der aktuellen Organisation.
  • user_id: string: Der Benutzername oder die E-Mail-ID des Benutzers.
Rückgabewert:
  • Bei Erfolg eine Meldung, die Details des Exchange Pool-Benutzers enthält.
Beispiel für Rückgabewert:
{
    "AssetType": "oconversion",
    "ConvertorId": "bcb1f3b1442c625d3ce205660c5e717c5858a1fe1e12c325df799a851ceaa09b",
    "OrgId": "Org1MSP",
    "UserId": "exchangepooluser"
}
CreateExchangePoolAccounts
Diese Methode erstellt Exchange-Pool-Tokenkonten für ein bestimmtes Array von Token-IDs. Diese Methode kann nur von einem Token Admin des Chaincodes aufgerufen werden.
func (t *Controller) CreateExchangePoolAccounts(token_ids []string) (interface{}, error) {
    auth, err := t.Ctx.Auth.CheckAuthorization("TokenConversion.InitializeExchangePoolUser", "TOKEN")
    if err != nil && !auth {
        return nil, fmt.Errorf("error in authorizing the caller  %s", err.Error())
    }
    var tokens []interface{}
    for _, tokenId := range token_ids {
        token, err := t.getTokenObject(tokenId)
        if err != nil {
            return nil, fmt.Errorf("error in getting from_token asset details. Error: %s", err)
        }
        tokens = append(tokens, token.Interface())
    }
    return t.Ctx.TokenConvertor.CreateExchangePoolAccounts(tokens)
}
Parameter:
  • token_ids: string []: Ein Array von Token-IDs. Sie können bis zu zehn Token-IDs angeben.
Rückgabewert:
  • Bei Erfolg eine Liste von Objekten, die Details der erstellten Exchange-Poolkonten enthält.
Beispiel für Rückgabewert:
[
    {
        "AccountId": "oaccount~cc9d84f6d4a5976532493ef5200c9603e138adc35166ffd5fd1aad9c1647f034",
        "Status": "created",
        "TokenId": "USD"
    },
    {
        "AccountId": "oaccount~3d4933111ec8bd6cc1ebb43f2b2c390deb929cfa534f9c6ada8e63bac04a13c0",
        "Status": "created",
        "TokenId": "INR"
    }
]
AddConversionRate
Diese Methode fügt eine Konvertierungsrate für ein Tokenpaar hinzu. Die Tokenkonvertierungsrate kann bis zu acht Dezimalstellen angegeben werden. Diese Methode kann nur von einem Token Admin des Chaincodes aufgerufen werden.
func (t *Controller) AddConversionRate(from_token_id string, to_token_id string, token_conversion_rate float64) (interface{}, error) {
    auth, err := t.Ctx.Auth.CheckAuthorization("TokenConversion.AddConversionRate", "TOKEN")
    if err != nil && !auth {
        return nil, fmt.Errorf("error in authorizing the caller  %s", err.Error())
    }
    return t.Ctx.TokenConvertor.AddConversionToken(from_token_id, to_token_id, token_conversion_rate)
}
Parameter:
  • from_token_id: string: Die ID des Tokens, aus dem konvertiert werden soll.
  • to_token_id: string: Die ID des Tokens, in das konvertiert werden soll.
  • token_conversion_rate: float64: Die Rate, mit der das from_token_id-Token in das to_token_id-Token konvertiert werden soll.
Rückgabewert:
  • Bei Erfolg eine JSON-Darstellung des Konvertierungsratenobjekts.
Beispiel für Rückgabewert:
{
    "AssetType": "oconversionRate",
    "ConvertorRateId": "oconversionRate~79eacc670928bbc4c9ba4ebee135c8b4d6411af3110f8a9b782c383d5e18b150",
    "FromTokenId": "USD",
    "ToTokenId": "INR",
    "ConversionRate": 10
}
GetConversionRate
Diese Methode ruft die aktuelle Konvertierungsrate für ein Tokenpaar ab. Diese Methode kann von der Token Admin oder Token Auditor, einer Org Admin oder Org Auditor der angegebenen Organisation oder von einem beliebigen Tokenkontoeigentümer aufgerufen werden.
func (t *Controller) GetConversionRate(from_token_id string, to_token_id string) (interface{}, error) {
    auth, err := t.Ctx.Auth.CheckAuthorization("TokenConversion.GetConversionRate", "TOKEN")
    if err != nil && !auth {
        return nil, fmt.Errorf("error in authorizing the caller  %s", err.Error())
    }
    conversionRateId, err := t.Ctx.TokenConversionRate.GetConversionRateId(from_token_id, to_token_id)
    if err != nil {
        return nil, fmt.Errorf("error in getting conversationRateId. Error: %s", err)
    }
    return t.Ctx.TokenConversionRate.Get(conversionRateId)
}
Parameter:
  • from_token_id: string: Die ID des Tokens, aus dem konvertiert werden soll.
  • to_token_id: string: Die ID des Tokens, in das konvertiert werden soll.
Rückgabewert:
  • Bei Erfolg eine JSON-Darstellung des Konvertierungsratenobjekts.
Beispiel für Rückgabewert:
{
    "AssetType": "oconversionRate",
    "ConvertorRateId": "oconversionRate~79eacc670928bbc4c9ba4ebee135c8b4d6411af3110f8a9b782c383d5e18b150",
    "FromTokenId": "USD",
    "ToTokenId": "INR",
    "ConversionRate": 10
}
UpdateConversionRate
Mit dieser Methode wird die aktuelle Konvertierungsrate für ein Tokenpaar aktualisiert. Die Tokenkonvertierungsrate kann bis zu acht Dezimalstellen angegeben werden. Diese Methode kann nur von einem Token Admin des Chaincodes aufgerufen werden.
func (t *Controller) UpdateConversionRate(from_token_id string, to_token_id string, token_conversion_rate float64) (interface{}, error) {
    auth, err := t.Ctx.Auth.CheckAuthorization("TokenConversion.UpdateConversionRate", "TOKEN")
    if err != nil && !auth {
        return nil, fmt.Errorf("error in authorizing the caller  %s", err.Error())
    }
    return t.Ctx.TokenConvertor.UpdateTokenConversionRate(from_token_id, to_token_id, token_conversion_rate)
}
Parameter:
  • from_token_id: string: Die ID des Tokens, aus dem konvertiert werden soll.
  • to_token_id: string: Die ID des Tokens, in das konvertiert werden soll.
  • token_conversion_rate: float64: Die Rate, mit der das from_token_id-Token in das to_token_id-Token konvertiert werden soll.
Rückgabewert:
  • Bei Erfolg eine JSON-Darstellung des aktualisierten Konvertierungsratenobjekts.
Beispiel für Rückgabewert:
{
    "AssetType": "oconversionRate",
    "ConvertorRateId": "oconversionRate~79eacc670928bbc4c9ba4ebee135c8b4d6411af3110f8a9b782c383d5e18b150",
    "FromTokenId": "USD",
    "ToTokenId": "INR",
    "ConversionRate": 15
}
MintWithFundingExchangePool
Mit dieser Methode werden Token im Konto des Anrufers basierend auf der angegebenen Token-ID und Menge abgebildet. Ein Prozentsatz der Token aus der Prägemenge wird dann auf das Token-Konto des Exchange-Pools übertragen.
func (t *Controller) MintWithFundingExchangePool(token_id string, token_quantity float64, percentage_token_to_exchangePool float64) (interface{}, error) {
    token, err := t.getTokenObject(token_id)
    if err != nil {
        return nil, fmt.Errorf("error in getting from_token asset details. Error: %s", err)
    }
    return t.Ctx.TokenConvertor.MintWithFundingExchangePool(token.Interface(), token_quantity, percentage_token_to_exchangePool)
}
Parameter:
  • token_id: string: Die ID des zu prägenden Tokens.
  • token_quantity: float64: Die Gesamtanzahl der zu mint zu erstellenden Token.
  • percentage_token_to_exchange_pool: float64: Der Prozentsatz der abgebauten Token, die auf das Tokenkonto des Exchange-Pools übertragen werden sollen.
Rückgabewert:
  • Bei Erfolg eine Meldung, die angibt, dass das Prägen und die Finanzierung des Austauschpools erfolgreich waren.
Beispiel für Rückgabewert:
{
    "msg": "successfully minted 100 tokens to AccountId: 'oaccount~1c568151c4acbcd1bd265c766c677145760a61c47fc8a3ba681a4cfbe287f9c1' (OrgId: Org1MSP, User-Id: admin) and Successfully transfered 80 tokens to exchange pool account with AccountId: 'oaccount~3d4933111ec8bd6cc1ebb43f2b2c390deb929cfa534f9c6ada8e63bac04a13c0' (OrgId: Org1MSP, UserId: exchangepooluser) "
}
TokenConversion
Diese Methode konvertiert Token aus dem Account des Aufrufers in den Account, der durch die Werte to_token_id, to_org_id und to_user_id angegeben wird. Diese Methode kann von der Token Admin des Chaincodes und von jedem Tokenkontoinhaber aufgerufen werden. Ein Exchange Pool-Benutzer kann diese Methode nicht aufrufen.
func (t *Controller) TokenConversion(from_token_id string, to_token_id string, to_org_id string, to_user_id string, token_quantity float64) (interface{}, error) {
    auth, err := t.Ctx.Auth.CheckAuthorization("TokenConversion.TokenConversion", "TOKEN")
    if err != nil && !auth {
        return nil, fmt.Errorf("error in authorizing the caller  %s", err.Error())
    }
    from_token, err := t.getTokenObject(from_token_id)
    if err != nil {
        return nil, fmt.Errorf("error in getting from_token asset details. Error: %s", err)
    }
    to_token, err := t.getTokenObject(to_token_id)
    if err != nil {
        return nil, fmt.Errorf("error in getting to_token asset details. error: %s", err)
    }
    return t.Ctx.TokenConvertor.TokenConversion(from_token.Interface(), to_token.Interface(), to_org_id, to_user_id, token_quantity)
}
Parameter:
  • from_token_id: string: Die ID des Tokens, aus dem konvertiert werden soll.
  • to_token_id: string: Die ID des Tokens, in das konvertiert werden soll.
  • to_org_id: string - Die Mitgliedsdienstanbieter-(MSP-)ID des Benutzers in der aktuellen Organisation, der die Token erhält.
  • to_user_id: string: Der Benutzername oder die E-Mail-ID des Benutzers, der die Token erhalten soll.
  • token_quantity: float64: Die Gesamtanzahl der zu übertragenden Token.
Rückgabewert:
  • Bei Erfolg eine Meldung, die angibt, dass die Tokenkonvertierung erfolgreich war.
Beispiel für Rückgabewert:
{
    "msg": "succesfully converted 5 of tokens with tokenId: [USD] from AccountId: 'oaccount~abc74791148b761352b98df58035601b6f5480448ac2b4a3a7eb54bdbebf48eb' (OrgId: Org1MSP, UserId: admin) to 75 of tokens with tokenId: [INR] to AccountId: 'oaccount~25e2e66718b6dbb59aea9c32acebec60e09d912b2578d4933d377ae5d0628f1e' ( OrgId: Org1MSP, UserId: user ) as per the conversion rate of 15"
}
GetConversionHistory
Diese Methode gibt die Tokenkonvertierungshistorie für einen angegebenen Tokenaccount zurück. Diese Methode kann von der Token Admin oder Token Auditor, einer Org Admin oder Org Auditor der angegebenen Organisation und vom angegebenen Kontoinhaber aufgerufen werden.
func (t *Controller) GetConversionHistory(token_id string, org_id string, user_id string) (interface{}, error) {
    auth, err := t.Ctx.Auth.CheckAuthorization("TokenConversion.GetConversionHistory", "TOKEN")
    if err != nil && !auth {
        return nil, fmt.Errorf("error in authorizing the caller  %s", err.Error())
    }
    account_id, err := t.Ctx.Account.GenerateAccountId(token_id, org_id, user_id)
    if err != nil {
        return nil, fmt.Errorf("error in generating the accoint_id. Error: %s", err)
    }
    return t.Ctx.Account.GetTokenConversionHistory(account_id, org_id, user_id)
}
Parameter:
  • token_id: string: Die ID des Tokens.
  • org_id: string: Die Mitgliedsdienstanbieter-(MSP-)ID des Benutzers in der aktuellen Organisation.
  • user_id: string: Der Benutzername oder die E-Mail-ID des Benutzers.
Rückgabewert:
  • Bei Erfolg ein JSON-Objekt mit Details zur Konvertierungshistorie.
Beispiel für Rückgabewert:
[
    {
        "balance": 95,
        "conversion_rate": 15,
        "converted_amount": 75,
        "from_account_id": "oaccount~abc74791148b761352b98df58035601b6f5480448ac2b4a3a7eb54bdbebf48eb",
        "from_token_id": "USD",
        "onhold_balance": 0,
        "timestamp": "2022-12-01T00:54:33+05:30",
        "to_account_id": "oaccount~25e2e66718b6dbb59aea9c32acebec60e09d912b2578d4933d377ae5d0628f1e",
        "to_token_id": "INR",
        "transacted_amount": 5,
        "transaction_id": "otransaction~e1f5c32ab3cdc17a51ff0edda6bcc71b5acec3320a69f68a4ae455ed416657fa",
        "transaction_type": "TOKEN_CONVERSION_DEBIT"
    }
]
GetConversionRateHistory
Diese Methode gibt die Tokenkonvertierungsratenhistorie für ein Tokenpaar zurück. Diese Methode kann von Token Admin, Token Auditor, Org Admin, Org Auditor oder einem beliebigen Tokenkontoeigentümer aufgerufen werden.
func (t *Controller) GetConversionRateHistory(from_token_id string, to_token_id string) (interface{}, error) {
    auth, err := t.Ctx.Auth.CheckAuthorization("TokenConversion.GetConversionRateHistory", "TOKEN")
    if err != nil && !auth {
        return nil, fmt.Errorf("error in authorizing the caller  %s", err.Error())
    }
    conversion_rate_id, err := t.Ctx.TokenConversionRate.GetConversionRateId(from_token_id, to_token_id)
    if err != nil {
        return nil, fmt.Errorf("error in getting conversionRateId. Error: %s", err)
    }
    return t.Ctx.TokenConversionRate.History(conversion_rate_id)
}
Parameter:
  • from_token_id: string: Die ID des Tokens, aus dem konvertiert werden soll, um die Konvertierungsrate zu berechnen.
  • to_token_id: string: Die ID des Tokens, in das konvertiert werden soll, um die Konvertierungsrate zu berechnen.
Rückgabewert:
  • Bei Erfolg ein JSON-Objekt mit Details der Konvertierungsratenhistorie.
Beispiel für Rückgabewert:
[
  {
    "IsDelete": "false",
    "Timestamp": "2022-12-01T00:48:58+05:30",
    "TxId": "d6c5332278d33beddbc48e535029af424fef2129bf49f4906f9b527e101d95f1",
    "Value": {
      "AssetType": "oconversionRate",
      "ConversionRate": 15,
      "ConvertorRateId": "oconversionRate~79eacc670928bbc4c9ba4ebee135c8b4d6411af3110f8a9b782c383d5e18b150",
      "FromTokenId": "USD",
      "ToTokenId": "INR"
    }
  },
  {
    "IsDelete": "false",
    "Timestamp": "2022-12-01T00:47:15+05:30",
    "TxId": "e8796578351e948827d5dfe242ab4be59019ae67d69d3bfd6db255a268d57017",
    "Value": {
      "AssetType": "oconversionRate",
      "ConversionRate": 10,
      "ConvertorRateId": "oconversionRate~79eacc670928bbc4c9ba4ebee135c8b4d6411af3110f8a9b782c383d5e18b150",
      "FromTokenId": "USD",
      "ToTokenId": "INR"
    }
  }
]
GetExchangePoolUser
Diese Methode gibt die Werte org_id und user_id für den Exchange Pool-Benutzer zurück. Diese Methode kann nur mit einer Token Admin oder Token Auditor des Chaincodes aufgerufen werden.
func (t *Controller) GetExchangePoolUser() (interface{}, error) {
    auth, err := t.Ctx.Auth.CheckAuthorization("TokenConversion.GetExchangePoolUser", "TOKEN")
    if err != nil && !auth {
        return nil, fmt.Errorf("error in authorizing the caller  %s", err.Error())
    }
    return t.Ctx.TokenConvertor.GetExchangePoolUser()
}
Parameter:
  • Kein
Rückgabewert:
  • Bei Erfolg eine Meldung mit Informationen zum Exchange Pool-Benutzer.
Beispiel für Rückgabewert:
{
    "AssetType": "oconversion",
    "ConvertorId": "bcb1f3b1442c625d3ce205660c5e717c5858a1fe1e12c325df799a851ceaa09b",
    "OrgId": "Org1MSP",
    "UserId": "exchangepooluser"
}

SDK-Methoden für Tokenkonvertierung

InitializeExchangePoolUser
Diese Methode initialisiert den Exchange Pool-Benutzer, bei dem es sich um eine einmalige Aktivität handelt. Diese Methode kann nur von einem Token Admin des Chaincodes aufgerufen werden.
Ctx.TokenConvertor.InitializeExchangePoolUser(org_id string, user_id string) (interface{}, error)
Parameter:
  • org_id: string: Die Mitgliedsdienstanbieter-(MSP-)ID des Benutzers in der aktuellen Organisation.
  • user_id: string: Der Benutzername oder die E-Mail-ID des Benutzers.
Rückgabewert:
  • Bei Erfolg eine Meldung, die Details des Exchange Pool-Benutzers enthält.
Beispiel für Rückgabewert:
{
    "AssetType": "oconversion",
    "ConvertorId": "bcb1f3b1442c625d3ce205660c5e717c5858a1fe1e12c325df799a851ceaa09b",
    "OrgId": "Org1MSP",
    "UserId": "exchangepooluser"
}
CreateExchangePoolAccounts
Diese Methode erstellt Exchange-Pool-Tokenkonten für ein bestimmtes Array von Token-IDs. Diese Methode kann nur von einem Token Admin des Chaincodes aufgerufen werden.
Ctx.TokenConvertor.CreateExchangePoolAccounts(tokens []interface{}) (interface{}, error)
Parameter:
  • token_ids: string []: Ein Array von Token-IDs.
Rückgabewert:
  • Bei Erfolg eine Liste von Objekten, die Details der erstellten Exchange-Poolkonten enthält.
Beispiel für Rückgabewert:
[
    {
        "AccountId": "oaccount~cc9d84f6d4a5976532493ef5200c9603e138adc35166ffd5fd1aad9c1647f034",
        "Status": "created",
        "TokenId": "USD"
    },
    {
        "AccountId": "oaccount~3d4933111ec8bd6cc1ebb43f2b2c390deb929cfa534f9c6ada8e63bac04a13c0",
        "Status": "created",
        "TokenId": "INR"
    }
]
AddConversionToken
Diese Methode fügt Token mit einer neuen Konvertierungsrate für ein angegebenes Token hinzu. Die Tokenkonvertierungsrate kann bis zu acht Dezimalstellen angegeben werden. Diese Methode kann nur von einem Token Admin des Chaincodes aufgerufen werden.
Ctx.TokenConvertor.AddConversionToken(from_token_id string, to_token_id string, token_conversion_rate float64) (interface{}, error)
Parameter:
  • from_token_id: string: Die ID des Tokens, aus dem konvertiert werden soll.
  • to_token_id: string: Die ID des Tokens, in das konvertiert werden soll.
  • token_conversion_rate: float64: Die Rate, mit der das from_token_id-Token in das to_token_id-Token konvertiert werden soll.
Rückgabewert:
  • Bei Erfolg eine JSON-Darstellung des Konvertierungsratenobjekts.
Beispiel für Rückgabewert:
{
    "AssetType": "oconversionRate",
    "ConvertorRateId": "oconversionRate~79eacc670928bbc4c9ba4ebee135c8b4d6411af3110f8a9b782c383d5e18b150",
    "FromTokenId": "USD",
    "ToTokenId": "INR",
    "ConversionRate": 10
}
Get
Diese Methode ruft die aktuelle Konvertierungsrate für ein Tokenpaar ab. Diese Methode kann von der Token Admin des Chaincodes und von jedem Tokenkontoinhaber aufgerufen werden.
Ctx.TokenConversionRate.Get(id string) (ConversionRate, error)
Parameter:
  • id: string: Die ID des Tokenkonvertierungsratenobjekts.
Rückgabewert:
  • Bei Erfolg eine JSON-Darstellung des Konvertierungsratenobjekts.
Beispiel für Rückgabewert:
{
    "AssetType": "oconversionRate",
    "ConvertorRateId": "oconversionRate~79eacc670928bbc4c9ba4ebee135c8b4d6411af3110f8a9b782c383d5e18b150",
    "FromTokenId": "USD",
    "ToTokenId": "INR",
    "ConversionRate": 10
}
UpdateTokenConversionRate
Mit dieser Methode wird die aktuelle Konvertierungsrate für ein Tokenpaar aktualisiert. Die Tokenkonvertierungsrate kann bis zu acht Dezimalstellen angegeben werden. Diese Methode kann nur von einem Token Admin des Chaincodes aufgerufen werden.
Ctx.TokenConvertor.UpdateTokenConversionRate(from_token_id string, to_token_id string, token_conversion_rate float64) (interface{}, error)
Parameter:
  • from_token_id: string: Die ID des Tokens, aus dem konvertiert werden soll.
  • to_token_id: string: Die ID des Tokens, in das konvertiert werden soll.
  • token_conversion_rate: float64: Die Rate, mit der das from_token_id-Token in das to_token_id-Token konvertiert werden soll.
Rückgabewert:
  • Bei Erfolg eine JSON-Darstellung des aktualisierten Konvertierungsratenobjekts.
Beispiel für Rückgabewert:
{
    "AssetType": "oconversionRate",
    "ConvertorRateId": "oconversionRate~79eacc670928bbc4c9ba4ebee135c8b4d6411af3110f8a9b782c383d5e18b150",
    "FromTokenId": "USD",
    "ToTokenId": "INR",
    "ConversionRate": 15
}
MintWithFundingExchangePool
Mit dieser Methode werden Token im Konto des Anrufers basierend auf der angegebenen Token-ID und Menge abgebildet. Ein Prozentsatz der Token aus der Prägemenge wird dann auf das Token-Konto des Exchange-Pools übertragen.
Ctx.TokenConvertor.MintWithFundingExchangePool(token interface{}, token_quantity float64, percentage_token_to_exchangePool float64) (interface{}, error)
Parameter:
  • token_id: string: Die ID des zu prägenden Tokens.
  • token_quantity: float64: Die Gesamtanzahl der zu mint zu erstellenden Token.
  • percentage_token_to_exchange_pool: float64: Der Prozentsatz der abgebauten Token, die auf das Tokenkonto des Exchange-Pools übertragen werden sollen.
Rückgabewert:
  • Bei Erfolg eine Meldung, die angibt, dass das Prägen und die Finanzierung des Austauschpools erfolgreich waren.
Beispiel für Rückgabewert:
{
    "msg": "successfully minted 100 tokens to AccountId: 'oaccount~1c568151c4acbcd1bd265c766c677145760a61c47fc8a3ba681a4cfbe287f9c1' (OrgId: Org1MSP, User-Id: admin) and Successfully transfered 80 tokens to exchange pool account with AccountId: 'oaccount~3d4933111ec8bd6cc1ebb43f2b2c390deb929cfa534f9c6ada8e63bac04a13c0' (OrgId: Org1MSP, UserId: exchangepooluser) "
}
TokenConversion
Diese Methode konvertiert Token aus dem Account des Aufrufers in den Account, der durch die Werte to_token_id, to_org_id und to_user_id angegeben wird. Diese Methode kann von der Token Admin des Chaincodes und von jedem Tokenkontoinhaber aufgerufen werden. Ein Exchange Pool-Benutzer kann diese Methode nicht aufrufen.
Ctx.TokenConvertor.TokenConversion(from_token interface{}, to_token interface{}, to_org_id string, to_user_id string, token_quantity float64) (interface{}, error)
Parameter:
  • from_token_id: string: Die ID des Tokens, aus dem konvertiert werden soll.
  • to_token_id: string: Die ID des Tokens, in das konvertiert werden soll.
  • to_org_id: string - Die Mitgliedsdienstanbieter-(MSP-)ID des Benutzers in der aktuellen Organisation, der die Token erhält.
  • to_user_id: string: Der Benutzername oder die E-Mail-ID des Benutzers, der die Token erhalten soll.
Rückgabewert:
  • Bei Erfolg eine Meldung, die angibt, dass die Tokenkonvertierung erfolgreich war.
Beispiel für Rückgabewert:
{
    "msg": "succesfully converted 5 of tokens with tokenId: [USD] from AccountId: 'oaccount~abc74791148b761352b98df58035601b6f5480448ac2b4a3a7eb54bdbebf48eb' (OrgId: Org1MSP, UserId: admin) to 75 of tokens with tokenId: [INR] to AccountId: 'oaccount~25e2e66718b6dbb59aea9c32acebec60e09d912b2578d4933d377ae5d0628f1e' ( OrgId: Org1MSP, UserId: user ) as per the conversion rate of 15"
}
GetTokenConversionHistory
Diese Methode gibt die Tokenkonvertierungshistorie für einen angegebenen Tokenaccount zurück. Diese Methode kann von der Token Admin des Chaincodes und vom Tokenkontoinhaber aufgerufen werden.
Ctx.Account.GetTokenConversionHistory(account_id string, org_id string, user_id string) (interface{}, error)
Parameter:
  • account_id: string: Die ID des fungiblen Tokenaccounts.
  • org_id: string: Die Mitgliedsdienstanbieter-(MSP-)ID des Benutzers in der aktuellen Organisation.
  • user_id: string: Der Benutzername oder die E-Mail-ID des Benutzers.
Rückgabewert:
  • Bei Erfolg ein JSON-Objekt mit Details zur Konvertierungshistorie.
Beispiel für Rückgabewert:
[
    {
        "balance": 95,
        "conversion_rate": 15,
        "converted_amount": 75,
        "from_account_id": "oaccount~abc74791148b761352b98df58035601b6f5480448ac2b4a3a7eb54bdbebf48eb",
        "from_token_id": "USD",
        "onhold_balance": 0,
        "timestamp": "2022-12-01T00:54:33+05:30",
        "to_account_id": "oaccount~25e2e66718b6dbb59aea9c32acebec60e09d912b2578d4933d377ae5d0628f1e",
        "to_token_id": "INR",
        "transacted_amount": 5,
        "transaction_id": "otransaction~e1f5c32ab3cdc17a51ff0edda6bcc71b5acec3320a69f68a4ae455ed416657fa",
        "transaction_type": "TOKEN_CONVERSION_DEBIT"
    }
]
history
Diese Methode gibt die Tokenkonvertierungsratenhistorie für ein Tokenpaar zurück. Diese Methode kann von der Token Admin des Chaincodes, einem beliebigen Org Admin und einem beliebigen Tokenkontoeigentümer aufgerufen werden.
Ctx.TokenConversionRate.History(conversion_rate_id string) (interface{}, error)
Parameter:
  • conversion_rate_id: string: Die ID des Konvertierungsratenobjekts.
Rückgabewert:
  • Bei Erfolg ein JSON-Objekt mit Details der Konvertierungsratenhistorie.
Beispiel für Rückgabewert:
[
  {
    "IsDelete": "false",
    "Timestamp": "2022-12-01T00:48:58+05:30",
    "TxId": "d6c5332278d33beddbc48e535029af424fef2129bf49f4906f9b527e101d95f1",
    "Value": {
      "AssetType": "oconversionRate",
      "ConversionRate": 15,
      "ConvertorRateId": "oconversionRate~79eacc670928bbc4c9ba4ebee135c8b4d6411af3110f8a9b782c383d5e18b150",
      "FromTokenId": "USD",
      "ToTokenId": "INR"
    }
  },
  {
    "IsDelete": "false",
    "Timestamp": "2022-12-01T00:47:15+05:30",
    "TxId": "e8796578351e948827d5dfe242ab4be59019ae67d69d3bfd6db255a268d57017",
    "Value": {
      "AssetType": "oconversionRate",
      "ConversionRate": 10,
      "ConvertorRateId": "oconversionRate~79eacc670928bbc4c9ba4ebee135c8b4d6411af3110f8a9b782c383d5e18b150",
      "FromTokenId": "USD",
      "ToTokenId": "INR"
    }
  }
]
GetExchangePoolUser
Diese Methode gibt die Werte org_id und user_id für den Exchange Pool-Benutzer zurück. Diese Methode kann nur von einem Token Admin des Chaincodes aufgerufen werden.
Ctx.TokenConvertor.GetExchangePoolUser()
Parameter:
  • Kein
Rückgabewert:
  • Bei Erfolg eine Meldung mit Informationen zum Exchange Pool-Benutzer.
Beispiel für Rückgabewert:
{
    "AssetType": "oconversion",
    "ConvertorId": "bcb1f3b1442c625d3ce205660c5e717c5858a1fe1e12c325df799a851ceaa09b",
    "OrgId": "Org1MSP",
    "UserId": "exchangepooluser"
}