TypeScript 토큰 변환 메소드

Blockchain App Builder는 토큰 분류법 프레임워크 표준을 사용하는 대체 가능한 토큰을 변환하는 데 사용할 수있는 방법을 자동으로 생성합니다.

토큰 변환 방법에는 exchange pool의 개념이 포함됩니다. 교환 풀 계정은 다른 토큰 계정에 의해 자금이 조달됩니다. 토큰을 민트할 때 연동된 토큰의 백분율이 Exchange Pool 계정으로 전송되도록 지정할 수 있습니다.

토큰 변환 프로세스

일반적인 토큰 변환 플로우는 다음 단계를 따릅니다.
  1. initializeExchangePoolUser 메소드를 호출하여 Exchange Pool 유저를 초기화합니다.
  2. createExchangePoolAccounts 메소드를 호출하여 Exchange Pool 계정을 생성합니다. 변환할 원본 토큰 또는 변환할 원본 토큰의 모든 유형에 대한 교환 풀 계정을 만듭니다.
  3. addConversionRate 메소드를 호출하여 변환할 각 토큰 쌍에 대한 변환율을 설정합니다.
  4. 다음 방법 중 하나로 교환 풀 토큰 계정에 자금을 조달합니다.
    • 표준 이전 방법을 사용하여 토큰을 Exchange Pool 토큰 계정으로 이전합니다.
    • 토큰을 연동할 때 mintWithFundingExchangePoolToken 메소드를 호출합니다. 이 메소드는 연동된 토큰의 백분율을 Exchange 풀 계정으로 전송할 수 있습니다.
  5. tokenConversion 메소드를 호출하여 대체 가능한 두 토큰 간에 변환합니다. 한 사용자가 토큰 계정 두 개 간에 토큰을 변환하거나 한 쌍의 사용자가 토큰을 한 계정에서 다른 계정으로 직접 변환할 수 있습니다.
  6. 환전 풀 사용자는 환전 풀 계정 잔액 및 계정 트랜잭션을 볼 수 있습니다.
    • getAccount 메소드를 호출하여 각 Exchange Pool 토큰 계정의 잔액을 확인합니다.
    • getAccountTransactionHistorygetAccountTransactionHistoryWithFilters 메소드를 호출하여 각 Exchange Pool 토큰 계정에 대한 계정 트랜잭션을 봅니다.

자동으로 생성된 토큰 변환 방식

Blockchain App Builder는 다양한 유형의 대체 가능한 토큰을 변환하는 방법을 자동으로 생성합니다. 컨트롤러 메소드를 호출하려면 @Validator(...params) 데코레이터가 있어야 합니다.

initializeExchangePoolUser
이 방법은 일회성 작업인 교환 풀 사용자를 초기화합니다. 이 메소드는 체인 코드의 Token Admin로만 호출할 수 있습니다.
@Validator(yup.string(), yup.string())
public async initializeExchangePoolUser(org_id: string, user_id: string){
    await this.Ctx.Auth.checkAuthorization('TOKEN_CONVERSION.initializeExchangePoolUser', 'TOKEN');
    return await this.Ctx.TokenConvertor.initializeExchangePoolUser(org_id, user_id);
}
매개변수:
  • org_id: string - 현재 조직에 있는 사용자의 멤버쉽 서비스 제공자(MSP) ID입니다.
  • user_id: string - 사용자의 사용자 이름 또는 전자메일 ID입니다.
반환값:
  • 성공 시 교환 풀 사용자의 세부정보를 포함하는 메시지입니다.
반환 값 예제:
{
    "assetType": "oconversion",
    "convertor_id": "bcb1f3b1442c625d3ce205660c5e717c5858a1fe1e12c325df799a851ceaa09b",
    "org_id": "Org1MSP",
    "user_id": "exchangepooluser"
}
createExchangePoolAccounts
이 메소드는 제공된 토큰 ID 배열에 대한 교환 풀 토큰 계정을 생성합니다. 이 메소드는 체인 코드의 Token Admin로만 호출할 수 있습니다.
@Validator(yup.array().of(yup.string()))
public async createExchangePoolAccounts(token_ids: string[]){
    await this.Ctx.Auth.checkAuthorization('TOKEN_CONVERSION.initializeExchangePoolUser', 'TOKEN');
    return await this.Ctx.TokenConvertor.createExchangePoolAccounts(token_ids);
}
매개변수:
  • token_ids: string [] - 토큰 ID 배열입니다.
반환값:
  • 성공 시 생성된 교환 풀 계정의 세부정보를 포함하는 객체 목록입니다.
반환 값 예제:
[
  {
    "account_id": "oaccount~cc9d84f6d4a5976532493ef5200c9603e138adc35166ffd5fd1aad9c1647f034",
    "token_id": "USD",
    "status": "created"
  },
  {
    "account_id": "oaccount~3d4933111ec8bd6cc1ebb43f2b2c390deb929cfa534f9c6ada8e63bac04a13c0",
    "token_id": "INR",
    "status": "created"
  }
]
addConversionRate
이 방법은 토큰 쌍에 대한 변환율을 추가합니다. 토큰 변환율은 소수점 8자리까지 지정할 수 있습니다. 이 메소드는 체인 코드의 Token Admin로만 호출할 수 있습니다.
@Validator(yup.string(), yup.string(), yup.number())
public async addConversionRate(from_token_id:string , to_token_id:string, token_conversion_rate: number) {
   await this.Ctx.Auth.checkAuthorization('TOKEN_CONVERSION.addConversionRate', 'TOKEN');
   return await this.Ctx.TokenConvertor.addConversionToken(from_token_id,to_token_id,token_conversion_rate);
}
매개변수:
  • from_token_id: string - 변환할 토큰의 ID입니다.
  • to_token_id: string - 변환할 토큰의 ID입니다.
  • token_conversion_rate: number - from_token_id 토큰을 to_token_id 토큰으로 변환할 비율입니다.
반환값:
  • 성공 시 변환율 객체의 JSON 표현입니다.
반환 값 예제:
{
  "assetType": "oconversionRate",
  "conversion_rate_id": "oconversionRate~91c7eeb0614e7a50b1d5ecad559fcbc80b94034648bf405c9491dacf8d57873b",
  "from_token_id": "USD",
  "to_token_id": "INR",
  "conversion_rate": 10
}
getConversionRate
이 방법은 토큰 쌍에 대한 현재 환율을 가져옵니다. 이 메소드는 체인 코드의 Token Admin, Org Admin 및 토큰 계정 소유자가 호출할 수 있습니다.
@Validator(yup.string(), yup.string())
public async getConversionRate(from_token_id:string , to_token_id:string) {
    await this.Ctx.Auth.checkAuthorization('TOKEN_CONVERSION.getConversionRate', 'TOKEN');
    const conversion_rate_id = await this.Ctx.TokenConversionRate.getConversionRateId(from_token_id, to_token_id);
    return await this.Ctx.TokenConversionRate.get(conversion_rate_id);
}
매개변수:
  • from_token_id: string - 변환할 토큰의 ID입니다.
  • to_token_id: string - 변환할 토큰의 ID입니다.
반환값:
  • 성공 시 변환율 객체의 JSON 표현입니다.
반환 값 예제:
{
  "assetType": "oconversionRate",
  "conversion_rate_id": "oconversionRate~91c7eeb0614e7a50b1d5ecad559fcbc80b94034648bf405c9491dacf8d57873b",
  "from_token_id": "USD",
  "to_token_id": "INR",
  "conversion_rate": 10
}
updateConversionRate
이 방법은 토큰 쌍에 대한 현재 환율을 업데이트합니다. 토큰 변환율은 소수점 8자리까지 지정할 수 있습니다. 이 메소드는 체인 코드의 Token Admin로만 호출할 수 있습니다.
@Validator(yup.string(), yup.string(), yup.number())
public async updateConversionRate(from_token_id:string , to_token_id:string, token_conversion_rate: number) {
    await this.Ctx.Auth.checkAuthorization('TOKEN_CONVERSION.updateConversionRate', 'TOKEN');
    return await this.Ctx.TokenConvertor.updateTokenConversionRate(from_token_id,to_token_id,token_conversion_rate);
}
매개변수:
  • from_token_id: string - 변환할 토큰의 ID입니다.
  • to_token_id: string - 변환할 토큰의 ID입니다.
  • token_conversion_rate: number - from_token_id 토큰을 to_token_id 토큰으로 변환할 비율입니다.
반환값:
  • 성공 시 업데이트된 환율 객체의 JSON 표현입니다.
반환 값 예제:
{
  "assetType": "oconversionRate",
  "conversion_rate_id": "oconversionRate~91c7eeb0614e7a50b1d5ecad559fcbc80b94034648bf405c9491dacf8d57873b",
  "from_token_id": "USD",
  "to_token_id": "INR",
  "conversion_rate": 20
}
mintWithFundingExchangePool
이 메소드는 지정된 토큰 ID 및 수량을 기준으로 호출자 계정의 토큰을 최소화합니다. 그러면 주석 처리된 수량의 토큰 백분율이 교환 풀 토큰 계정으로 전송됩니다.
@Validator(yup.string(), yup.number(), yup.number())
public async mintWithFundingExchangePool(token_id: string, token_quantity: number, percentage_token_to_exchange_pool: number) {
    return await this.Ctx.TokenConvertor.mintWithFundingExchangePool(token_id, token_quantity, percentage_token_to_exchange_pool);
}
매개변수:
  • token_id: string - 민트할 토큰의 ID입니다.
  • token_quantity: number - 민트할 총 토큰 수입니다.
  • percentage_token_to_exchange_pool: number - Exchange 풀 토큰 계정으로 전송할 주조된 토큰의 백분율입니다.
반환값:
  • 성공 시 교환 풀의 자금 조달 및 자금 조달이 성공했음을 나타내는 메시지입니다.
반환 값 예제:
{
    "msg": "Successfully minted 100 tokens to Account Id: oaccount~abc74791148b761352b98df58035601b6f5480448ac2b4a3a7eb54bdbebf48eb (Org-Id: Org1MSP, User-Id: admin) and Successfully transfered 20 tokens to exchange pool Account with Account Id: oaccount~cc9d84f6d4a5976532493ef5200c9603e138adc35166ffd5fd1aad9c1647f034 (Org-Id: Org1MSP, User-Id: exchangepooluser) "
}
tokenConversion
이 메소드는 토큰을 호출자 계정의 계정에서 to_token_id, to_org_idto_user_id 값으로 지정된 계정으로 변환합니다. 이 메소드는 체인 코드의 Token Admin 및 토큰 계정 소유자가 호출할 수 있습니다. Exchange 풀 사용자는 이 메소드를 호출할 수 없습니다.
@Validator(yup.string(),yup.string(),yup.string(),yup.string(),yup.number())
public async tokenConversion(from_token_id:string, to_token_id:string, to_org_id:string, to_user_id:string, token_quantity:number){
    await this.Ctx.Auth.checkAuthorization('TOKEN_CONVERSION.tokenConversion', 'TOKEN');
    return await this.Ctx.TokenConvertor.tokenConversion(from_token_id,to_token_id,to_org_id,to_user_id,token_quantity);
}
매개변수:
  • from_token_id: string - 변환할 토큰의 ID입니다.
  • to_token_id: string - 변환할 토큰의 ID입니다.
  • to_org_id: string - 토큰을 수신할 현재 조직에 있는 사용자의 멤버쉽 서비스 제공자(MSP) ID입니다.
  • to_user_id: string - 토큰을 수신할 사용자의 사용자 이름 또는 전자메일 ID입니다.
  • token_quantity: number - 전송할 총 토큰 수입니다.
반환값:
  • 성공 시 토큰 변환이 성공했음을 나타내는 메시지입니다.
반환 값 예제:
{
    "msg": "Succesfully converted 5 of tokens with tokenId: [USD] from AccountId: oaccount~abc74791148b761352b98df58035601b6f5480448ac2b4a3a7eb54bdbebf48eb (Org-Id: Org1MSP, User-Id: admin) to 100 of tokens with tokenId: [INR] to AccountId: oaccount~25e2e66718b6dbb59aea9c32acebec60e09d912b2578d4933d377ae5d0628f1e (Org-Id: Org1MSP, User-Id: user) as per the conversion rate of 20"
}
getConversionHistory
이 메소드는 지정된 토큰 계정에 대한 토큰 변환 내역을 반환합니다. 이 메소드는 체인 코드의 Token Admin, 지정된 조직의 Org Admin 또는 토큰 계정 소유자가 호출할 수 있습니다.
@Validator(yup.string(), yup.string(), yup.string())
  public async getConversionHistory(token_id: string, org_id: string, user_id: string) {
    const account_id = await this.Ctx.Account.generateAccountId(token_id, org_id, user_id);
    await this.Ctx.Auth.checkAuthorization("ACCOUNT.getConversionHistory", "TOKEN", { account_id });
    return await this.Ctx.Account.getTokenConversionHistory(account_id, org_id, user_id);
  }
매개변수:
  • token_id: string - 토큰의 ID입니다.
  • org_id: string - 현재 조직에 있는 사용자의 멤버쉽 서비스 제공자(MSP) ID입니다.
  • user_id: string - 사용자의 사용자 이름 또는 전자메일 ID입니다.
반환값:
  • 성공 시 변환 내역 세부정보가 있는 JSON 객체입니다.
반환 값 예제:
[
  {
    "transaction_id": "otransaction~34edd19e03ec8bbbc77bc3372081410a824a5c10f9aa522b3a6390d7e8cb11cf",
    "from_account_id": "oaccount~abc74791148b761352b98df58035601b6f5480448ac2b4a3a7eb54bdbebf48eb",
    "to_account_id": "oaccount~25e2e66718b6dbb59aea9c32acebec60e09d912b2578d4933d377ae5d0628f1e",
    "transacted_amount": 5,
    "converted_amount": 100,
    "conversion_rate": "20",
    "from_token_id": "USD",
    "to_token_id": "INR",
    "balance": 75,
    "onhold_balance": 0,
    "timestamp": "2022-11-30T11:03:20.000Z",
    "transaction_type": "TOKEN_CONVERSION_DEBIT"
  }
]
getConversionRateHistory
이 메소드는 토큰 쌍에 대한 토큰 변환율 기록을 반환합니다. 이 메소드는 체인 코드의 Token Admin, Org Admin 및 토큰 계정 소유자가 호출할 수 있습니다.
@Validator(yup.string(), yup.string())
public async getConversionRateHistory(from_token_id:string , to_token_id:string) {
    const conversion_rate_id = await this.Ctx.TokenConversionRate.getConversionRateId(from_token_id,to_token_id);
    await this.Ctx.Auth.checkAuthorization('TOKEN_CONVERSION.getConversionRateHistory', 'TOKEN');  
    return await this.Ctx.TokenConversionRate.history(conversion_rate_id);
}
매개변수:
  • from_token_id: string - 변환율을 계산하기 위해 변환할 토큰의 ID입니다.
  • to_token_id: string - 변환율을 계산하기 위해 변환할 토큰의 ID입니다.
반환값:
  • 성공 시 환율 기록 세부정보가 있는 JSON 객체입니다.
반환 값 예제:
 [
  {
    "trxId": "0b1ba7bc2620e1438b6580365e5c0ab852247ccfa5a3eb2157d3baca02c0e521",
    "timeStamp": "2022-11-30T10:23:38.000Z",
    "value": {
      "assetType": "oconversionRate",
      "conversion_rate_id": "oconversionRate~91c7eeb0614e7a50b1d5ecad559fcbc80b94034648bf405c9491dacf8d57873b",
      "from_token_id": "USD",
      "to_token_id": "INR",
      "conversion_rate": 20
    }
  },
  {
    "trxId": "36fc40ddb3d8308ee7e156af700da131d78d941fe390fc57985b7589e7035d5c",
    "timeStamp": "2022-11-30T10:13:18.000Z",
    "value": {
      "assetType": "oconversionRate",
      "conversion_rate_id": "oconversionRate~91c7eeb0614e7a50b1d5ecad559fcbc80b94034648bf405c9491dacf8d57873b",
      "from_token_id": "USD",
      "to_token_id": "INR",
      "conversion_rate": 10
    }
  }
]
getExchangePoolUser
이 메소드는 Exchange Pool 유저에 대해 org_iduser_id 값을 반환합니다. 이 메소드는 체인 코드의 Token Admin로만 호출할 수 있습니다.
@Validator()
public async getExchangePoolUser() {
    await this.Ctx.Auth.checkAuthorization('TOKEN_CONVERSION.getExchangePoolUser', 'TOKEN');
    return await this.Ctx.TokenConvertor.getExchangePoolUser();
}
매개변수:
  • 없음
반환값:
  • 성공 시 교환 풀 사용자에 대한 정보가 포함된 메시지입니다.
반환 값 예제:
{
   "assetType": "oconversion",
   "convertor_id": "bcb1f3b1442c625d3ce205660c5e717c5858a1fe1e12c325df799a851ceaa09b",
   "org_id": "Org1MSP",
   "user_id": "exchangepooluser"
}

토큰 변환 SDK 메소드

initializeExchangePoolUser
이 방법은 일회성 작업인 교환 풀 사용자를 초기화합니다. 이 메소드는 체인 코드의 Token Admin로만 호출할 수 있습니다.
Ctx.TokenConvertor.initializeExchangePoolUser(orgId: string, userId: string)
매개변수:
  • orgId: string - 현재 조직에 있는 사용자의 멤버쉽 서비스 제공자(MSP) ID입니다.
  • userId: string - 사용자의 사용자 이름 또는 전자메일 ID입니다.
반환값:
  • 성공 시 교환 풀 사용자의 세부정보를 포함하는 메시지입니다.
반환 값 예제:
{
    "assetType": "oconversion",
    "convertor_id": "bcb1f3b1442c625d3ce205660c5e717c5858a1fe1e12c325df799a851ceaa09b",
    "org_id": "Org1MSP",
    "user_id": "exchangepooluser"
}
createExchangePoolAccounts
이 메소드는 제공된 토큰 ID 배열에 대한 교환 풀 토큰 계정을 생성합니다. 이 메소드는 체인 코드의 Token Admin로만 호출할 수 있습니다.
Ctx.TokenConvertor.createExchangePoolAccounts(token_ids: string[])
매개변수:
  • token_ids: string [] - 토큰 ID 배열입니다.
반환값:
  • 성공 시 생성된 교환 풀 계정의 세부정보를 포함하는 객체 목록입니다.
반환 값 예제:
[
  {
    "account_id": "oaccount~cc9d84f6d4a5976532493ef5200c9603e138adc35166ffd5fd1aad9c1647f034",
    "token_id": "USD",
    "status": "created"
  },
  {
    "account_id": "oaccount~3d4933111ec8bd6cc1ebb43f2b2c390deb929cfa534f9c6ada8e63bac04a13c0",
    "token_id": "INR",
    "status": "created"
  }
]
addConversionToken
이 메소드는 지정된 토큰에 대해 새 변환율이 있는 토큰을 추가합니다. 토큰 변환율은 소수점 8자리까지 지정할 수 있습니다. 이 메소드는 체인 코드의 Token Admin로만 호출할 수 있습니다.
Ctx.TokenConvertor.addConversionToken(fromTokenId: string, toTokenId: string, tokenConversionRate: number)
매개변수:
  • fromTokenId: string - 변환할 토큰의 ID입니다.
  • toTokenId: string - 변환할 토큰의 ID입니다.
  • tokenConversionRate: number - from_token_id 토큰을 to_token_id 토큰으로 변환할 비율입니다.
반환값:
  • 성공 시 변환율 객체의 JSON 표현입니다.
반환 값 예제:
{
  "assetType": "oconversionRate",
  "conversion_rate_id": "oconversionRate~91c7eeb0614e7a50b1d5ecad559fcbc80b94034648bf405c9491dacf8d57873b",
  "from_token_id": "USD",
  "to_token_id": "INR",
  "conversion_rate": 10
}
get
이 방법은 토큰 쌍에 대한 현재 환율을 가져옵니다. 이 메소드는 체인 코드의 Token Admin 및 토큰 계정 소유자가 호출할 수 있습니다.
Ctx.TokenConversionRate.get(id: string)
매개변수:
  • ID: string - 토큰 변환율 객체의 ID입니다.
반환값:
  • 성공 시 변환율 객체의 JSON 표현입니다.
반환 값 예제:
{
  "assetType": "oconversionRate",
  "conversion_rate_id": "oconversionRate~91c7eeb0614e7a50b1d5ecad559fcbc80b94034648bf405c9491dacf8d57873b",
  "from_token_id": "USD",
  "to_token_id": "INR",
  "conversion_rate": 10
}
updateTokenConversionRate
이 방법은 토큰 쌍에 대한 현재 환율을 업데이트합니다. 토큰 변환율은 소수점 8자리까지 지정할 수 있습니다. 이 메소드는 체인 코드의 Token Admin로만 호출할 수 있습니다.
Ctx.TokenConvertor.updateTokenConversionRate(fromTokenId: string, toTokenId: string, tokenConversionRate: number)
매개변수:
  • from_token_id: string - 변환할 토큰의 ID입니다.
  • to_token_id: string - 변환할 토큰의 ID입니다.
  • token_conversion_rate: number - from_token_id 토큰을 to_token_id 토큰으로 변환할 비율입니다.
반환값:
  • 성공 시 업데이트된 환율 객체의 JSON 표현입니다.
반환 값 예제:
{
  "assetType": "oconversionRate",
  "conversion_rate_id": "oconversionRate~91c7eeb0614e7a50b1d5ecad559fcbc80b94034648bf405c9491dacf8d57873b",
  "from_token_id": "USD",
  "to_token_id": "INR",
  "conversion_rate": 20
}
mintWithFundingExchangePool
이 메소드는 지정된 토큰 ID 및 수량을 기준으로 호출자 계정의 토큰을 최소화합니다. 그러면 주석 처리된 수량의 토큰 백분율이 교환 풀 토큰 계정으로 전송됩니다.
Ctx.TokenConvertor.mintWithFundingExchangePool(tokenId: string, tokenQuantity: number, percentageTokenToExchangePool: number)
매개변수:
  • token_id: string - 민트할 토큰의 ID입니다.
  • token_quantity: number - 민트할 총 토큰 수입니다.
  • percentage_token_to_exchange_pool: number - Exchange 풀 토큰 계정으로 전송할 주조된 토큰의 백분율입니다.
반환값:
  • 성공 시 교환 풀의 자금 조달 및 자금 조달이 성공했음을 나타내는 메시지입니다.
반환 값 예제:
{
    "msg": "Successfully minted 100 tokens to Account Id: oaccount~abc74791148b761352b98df58035601b6f5480448ac2b4a3a7eb54bdbebf48eb (Org-Id: Org1MSP, User-Id: admin) and Successfully transfered 20 tokens to exchange pool Account with Account Id: oaccount~cc9d84f6d4a5976532493ef5200c9603e138adc35166ffd5fd1aad9c1647f034 (Org-Id: Org1MSP, User-Id: exchangepooluser) "
}
tokenConversion
이 메소드는 토큰을 호출자 계정의 계정에서 to_token_id, to_org_idto_user_id 값으로 지정된 계정으로 변환합니다. 이 메소드는 체인 코드의 Token Admin 및 토큰 계정 소유자가 호출할 수 있습니다. Exchange 풀 사용자는 이 메소드를 호출할 수 없습니다.
Ctx.TokenConvertor.tokenConversion(fromTokenId: string, toTokenId: string, toOrgId: string, toUserId: string, tokenQuantity: number)
매개변수:
  • from_token_id: string - 변환할 토큰의 ID입니다.
  • to_token_id: string - 변환할 토큰의 ID입니다.
  • to_org_id: string - 토큰을 수신할 현재 조직에 있는 사용자의 멤버쉽 서비스 제공자(MSP) ID입니다.
  • to_user_id: string - 토큰을 수신할 사용자의 사용자 이름 또는 전자메일 ID입니다.
반환값:
  • 성공 시 토큰 변환이 성공했음을 나타내는 메시지입니다.
반환 값 예제:
{
    "msg": "Succesfully converted 5 of tokens with tokenId: [USD] from AccountId: oaccount~abc74791148b761352b98df58035601b6f5480448ac2b4a3a7eb54bdbebf48eb (Org-Id: Org1MSP, User-Id: admin) to 100 of tokens with tokenId: [INR] to AccountId: oaccount~25e2e66718b6dbb59aea9c32acebec60e09d912b2578d4933d377ae5d0628f1e (Org-Id: Org1MSP, User-Id: user) as per the conversion rate of 20"
}
getTokenConversionHistory
이 메소드는 지정된 토큰 계정에 대한 토큰 변환 내역을 반환합니다. 이 메소드는 체인 코드의 Token Admin, 지정된 조직의 Org Admin 및 토큰 계정 소유자가 호출할 수 있습니다.
Ctx.Account.getTokenConversionHistory(account_id: string, org_id: string, user_id: string)
매개변수:
  • account_id: string - 대체 가능 토큰 계정의 ID입니다.
  • org_id: string - 현재 조직에 있는 사용자의 멤버쉽 서비스 제공자(MSP) ID입니다.
  • user_id: string - 사용자의 사용자 이름 또는 전자메일 ID입니다.
반환값:
  • 성공 시 변환 내역 세부정보가 있는 JSON 객체입니다.
반환 값 예제:
[
  {
    "transaction_id": "otransaction~34edd19e03ec8bbbc77bc3372081410a824a5c10f9aa522b3a6390d7e8cb11cf",
    "from_account_id": "oaccount~abc74791148b761352b98df58035601b6f5480448ac2b4a3a7eb54bdbebf48eb",
    "to_account_id": "oaccount~25e2e66718b6dbb59aea9c32acebec60e09d912b2578d4933d377ae5d0628f1e",
    "transacted_amount": 5,
    "converted_amount": 100,
    "conversion_rate": "20",
    "from_token_id": "USD",
    "to_token_id": "INR",
    "balance": 75,
    "onhold_balance": 0,
    "timestamp": "2022-11-30T11:03:20.000Z",
    "transaction_type": "TOKEN_CONVERSION_DEBIT"
  }
]
history
이 메소드는 토큰 쌍에 대한 토큰 변환율 기록을 반환합니다. 이 메소드는 체인 코드의 Token Admin, Org Admin 및 토큰 계정 소유자가 호출할 수 있습니다.
Ctx.TokenConversionRate.history(conversion_rate_id: string)
매개변수:
  • conversion_rate_id: string - 환율 객체의 ID입니다.
반환값:
  • 성공 시 환율 기록 세부정보가 있는 JSON 객체입니다.
반환 값 예제:
 [
  {
    "trxId": "0b1ba7bc2620e1438b6580365e5c0ab852247ccfa5a3eb2157d3baca02c0e521",
    "timeStamp": "2022-11-30T10:23:38.000Z",
    "value": {
      "assetType": "oconversionRate",
      "conversion_rate_id": "oconversionRate~91c7eeb0614e7a50b1d5ecad559fcbc80b94034648bf405c9491dacf8d57873b",
      "from_token_id": "USD",
      "to_token_id": "INR",
      "conversion_rate": 20
    }
  },
  {
    "trxId": "36fc40ddb3d8308ee7e156af700da131d78d941fe390fc57985b7589e7035d5c",
    "timeStamp": "2022-11-30T10:13:18.000Z",
    "value": {
      "assetType": "oconversionRate",
      "conversion_rate_id": "oconversionRate~91c7eeb0614e7a50b1d5ecad559fcbc80b94034648bf405c9491dacf8d57873b",
      "from_token_id": "USD",
      "to_token_id": "INR",
      "conversion_rate": 10
    }
  }
]
getExchangePoolUser
이 메소드는 Exchange Pool 유저에 대해 OrgIdUserId 값을 반환합니다. 이 메소드는 체인 코드의 Token Admin로만 호출할 수 있습니다.
Ctx.TokenConvertor.getExchangePoolUser()
매개변수:
  • 없음
반환값:
  • 성공 시 교환 풀 사용자에 대한 정보가 포함된 메시지입니다.
반환 값 예제:
{
   "assetType": "oconversion",
   "convertor_id": "bcb1f3b1442c625d3ce205660c5e717c5858a1fe1e12c325df799a851ceaa09b",
   "org_id": "Org1MSP",
   "user_id": "exchangepooluser"
}