다음 API는 도매 CBDC 모델에 대해 수정되었습니다.
-
SetApplicationGroups
- 이 메소드는 API에서 지정된 애플리케이션 그룹에 대한 계정 세부정보에
application_groups 매개변수를 설정합니다. 이 메소드는 지정된 조직의 Token Admin 또는 Org Admin에 의해서만 호출될 수 있습니다.
func (t *Controller) SetApplicationGroups(token_id string, org_id string, user_id string, application_groups []string) (interface{}, error)
- 매개변수:
org_id: string – 현재 조직에 있는 사용자의 멤버쉽 서비스 공급자(MSP) ID입니다.
user_id: string – 사용자의 사용자 이름 또는 전자메일 ID입니다.
token_id: string – 토큰 ID입니다.
application_groups: string[] – 사용자 ID가 속한 응용 프로그램 그룹 목록으로, CBDC 응용 프로그램에서 사용자의 연관을 정의합니다.
- 반환 값 예제:
{
"returnCode": "Success",
"error": "",
"result": {
"txid": "261c3da4bb6f1724bc8f674c7b001a9b986bc9900d0508363039424926b143ed",
"payload": {
"AssetType": "oaccount",
"AccountId": "oaccount~cdc6fa5e64bc29f700f99da69f980d8cbb768c7e1a11dd17274e75651f6afafe",
"UserId": "admin_user_cb",
"OrgId": "CB",
"TokenType": "fungible",
"TokenId": "",
"TokenName": "",
"Balance": 0,
"BalanceOnHold": 0,
"OnHoldBurnBalance": 0,
"BapAccountVersion": 0,
"ApplicationGroups": [
"System_Admins"
],
"MaxDailyAmount": 10000,
"DailyAmount": 0,
"MaxDailyTransactions": 100,
"DailyTransactions": 0,
"CurrentDate": "2024-12-09"
},
"encode": "JSON",
"sourceURL": "cb-oabcs1-bom.blockchain.ocp.example.com:20009",
"blockNumber": 246
}
}
-
GetAllActiveAccounts
- 이 메소드는 지정된 토큰 ID와 연관된 모든 활성 계정을 반환합니다. 모든 유저가 이 메소드를 호출할 수 있습니다.
func (t *Controller) GetAllActiveAccounts(token_id string) (interface{}, error)
- 매개변수:
token_id: string – 토큰 ID입니다.
- 반환값:
- 성공 시 사용자 세부 정보가 포함된 메시지입니다. 출력은 다음 예에 표시된 대로 사용자의 역할에 따라 달라집니다.
- 반환 값 예(토큰 관리자, 토큰 감사자):
{
"returnCode": "Success",
"error": "",
"result": {
"payload": [
{
"NonAccountRoleName": "[\"token_admin\"]",
"RoleName": null,
"key": "oaccount~8db15b42910eeec401e1bf22c69dfdd11c820ecc26539ea03a3426fa25cb8c28",
"valueJson": {
"AccountId": "oaccount~8db15b42910eeec401e1bf22c69dfdd11c820ecc26539ea03a3426fa25cb8c28",
"ApplicationGroups": [
"System_Issuers"
],
"AssetType": "oaccount",
"Balance": 0,
"BalanceOnHold": 0,
"OnHoldBurnBalance": 0,
"BapAccountVersion": 0,
"CurrentDate": "2024-11-21",
"DailyAmount": 0,
"DailyTransactions": 0,
"MaxDailyAmount": 10000,
"MaxDailyTransactions": 100,
"OrgId": "CB",
"TokenId": "USD",
"TokenName": "cbdc",
"TokenType": "fungible",
"UserId": "admin_user_cb"
}
}
],
"encode": "JSON"
}
}
- 반환 값 예(조직 관리자, 조직 감사자):
{
"returnCode": "Success",
"error": "",
"result": {
"payload": [
{
"NonAccountRoleName": "[\"token_auditor\"]",
"RoleName": null,
"key": "oaccount~bd6262ffdf582675dd9b2506c1d5488864feef0b9e297a9a3322b7c683ad6214",
"valueJson": {
"AccountId": "oaccount~bd6262ffdf582675dd9b2506c1d5488864feef0b9e297a9a3322b7c683ad6214",
"OrgId": "CB",
"TokenId": "USD",
"UserId": "auditor_user_cb",
"MaxDailyAmount": 10000,
"MaxDailyTransactions": 100,
}
}
],
"encode": "JSON"
}
}
- 반환 값 예제(다른 모든 사용자):
{
"returnCode": "Success",
"error": "",
"result": {
"payload": [
{
"NonAccountRoleName": "[\"token_admin\"]",
"RoleName": null,
"key": "oaccount~8db15b42910eeec401e1bf22c69dfdd11c820ecc26539ea03a3426fa25cb8c28",
"valueJson": {
"AccountId": "oaccount~8db15b42910eeec401e1bf22c69dfdd11c820ecc26539ea03a3426fa25cb8c28",
"OrgId": "CB",
"TokenId": "USD",
"UserId": "admin_user_cb"
}
}
],
"encode": "JSON"
}
}
-
GetAllSuspendedAccounts
- 이 메소드는 지정된 토큰 ID와 연관된 일시 중지된 계정을 모두 반환합니다. 모든 유저가 이 메소드를 호출할 수 있습니다.
public async getAllSuspendedAccounts(token_id: string)
- 매개변수:
token_id: string – 토큰 ID입니다.
- 반환값:
- 성공 시 사용자 세부 정보가 포함된 메시지입니다. 출력은 다음 예에 표시된 대로 사용자의 역할에 따라 달라집니다.
- 반환 값 예(토큰 관리자, 토큰 감사자):
{
"returnCode": "Success",
"error": "",
"result": {
"payload": [
{
"NonAccountRoleName": null,
"RoleName": "minter",
"key": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0",
"valueJson": {
"AccountId": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0",
"ApplicationGroups": [
"System_Admins"
],
"AssetType": "oaccount",
"Balance": 140,
"BalanceOnHold": 0,
"OnHoldBurnBalance": 0,
"BapAccountVersion": 8,
"CurrentDate": "2024-11-21",
"DailyAmount": 70,
"DailyTransactions": 3,
"MaxDailyAmount": 10000,
"MaxDailyTransactions": 100,
"OrgId": "CB",
"TokenId": "USD",
"TokenName": "cbdc",
"TokenType": "fungible",
"UserId": "creator_user_cb"
}
}
],
"encode": "JSON"
}
}
- 반환 값 예(조직 관리자, 조직 감사자):
{
"returnCode": "Success",
"error": "",
"result": {
"payload": [
{
"NonAccountRoleName": null,
"RoleName": "minter",
"key": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0",
"valueJson": {
"AccountId": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0",
"OrgId": "CB",
"TokenId": "USD",
"UserId": "creator_user_cb",
"MaxDailyAmount": 10000,
"MaxDailyTransactions": 100,
}
}
],
"encode": "JSON"
}
}
- 반환 값 예제(다른 모든 사용자):
{
"returnCode": "Success",
"error": "",
"result": {
"payload": [
{
"NonAccountRoleName": null,
"RoleName": "minter",
"key": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0",
"valueJson": {
"AccountId": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0",
"OrgId": "CB",
"TokenId": "USD",
"UserId": "creator_user_cb"
}
}
],
"encode": "JSON"
}
}
-
GetBurnQuantity
- 이 방법은 지정된 조직에 대해 레코딩된 토큰의 총 수량을 반환합니다. 이 메소드는
Token Admin, Token Auditor 또는 버너 롤을 가진 사용자만 호출할 수 있습니다.
func (t *Controller) GetBurnQuantity(token_id string) (interface{}, error)
- 매개변수:
token_id: string – 토큰 ID입니다.
- 반환 값 예제:
{
"returnCode": "Success",
"error": "",
"result": {
"payload": {
"BurnQuantity": 10
},
"encode": "JSON"
}
}
-
GetActionHistory
- 이 방법은 조직 세부정보 및 관련 계정(발신자, 수신자 및 공증)의 사용자 ID를 포함하여 민트, 레코딩 및 이전(발행) 작업에 대해 호출자가 수행한 승인 또는 거부 기록을 검색합니다.
func (t *Controller) GetActionHistory(token_id string) (interface{}, error)
- 매개변수:
token_id: string – 토큰 ID입니다.
- 반환 값 예제:
{
"returnCode": "Success",
"error": "",
"result": {
"payload": [
{
"FromAccountId": "oaccount~0d7b3f73aea28065017ce8b79c0bb19256dc0cb475a0b2a85192bd110f69535c",
"FromOrgId": "CB",
"FromUserId": "retirer_user_cb",
"HoldingId": "ohold~cbdc~USD~6e1223",
"HoldingStatus": "REJECT_BURN",
"LastUpdatedTime": "2024-11-21T22:08:26Z",
"NotaryAccountId": null,
"NotaryOrgId": null,
"NotaryUserId": null,
"OperationId": null,
"Quantity": 5,
"TimeToExpiration": null,
"ToAccountId": "",
"ToOrgId": null,
"ToUserId": null,
"TokenId": "USD",
"TokenName": null
},
{
"FromAccountId": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0",
"FromOrgId": "CB",
"FromUserId": "creator_user_cb",
"HoldingId": "ohold~cbdc~USD~hold2",
"HoldingStatus": "RELEASEHOLD",
"LastUpdatedTime": "2024-11-21T21:54:33Z",
"NotaryAccountId": null,
"NotaryOrgId": null,
"NotaryUserId": null,
"OperationId": null,
"Quantity": 10,
"TimeToExpiration": null,
"ToAccountId": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0",
"ToOrgId": "CB",
"ToUserId": "creator_user_cb",
"TokenId": "USD",
"TokenName": null
}
],
"encode": "JSON"
}
}
-
GetPendingIssuance
- 이 방법은 발신자가 승인자로 지정된 모든 보류 중인 출고(이전) 트랜잭션을 검색합니다. 여기에는 조직의 세부정보 및 관련된 계정의 사용자 ID(발신자, 수신자 및 공증)가 포함됩니다. 이 메소드는 체인 코드의
Token Admin 또는 Token Auditor, 지정된 조직의 Org Admin 또는 Org Auditor 또는 Notary에 의해서만 호출될 수 있습니다.
func (t *Controller) GetPendingIssuance(token_id string) (interface{}, error)
- 매개변수:
token_id: string – 토큰 ID입니다.
- 반환 값 예제:
{
"returnCode": "Success",
"error": "",
"result": {
"payload": [
{
"AssetType": "ONHOLD",
"FromAccountId": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0",
"FromOrgId": "CB",
"FromUserId": "creator_user_cb",
"HoldingId": "ohold~cbdc~USD~h123",
"NotaryAccountId": "oaccount~2eb5f8a9bc561f8f41a4ea3be9511958cc6684ef14f2337ca396efc301b627d8",
"NotaryOrgId": "CB",
"NotaryUserId": "manager_user_cb",
"OperationId": "h123",
"Quantity": 10,
"TimeToExpiration": "0",
"ToAccountId": "oaccount~51e676d7182a02ea7418ef58a6d54ecfe3858ef40b4ffb3d859b320da3921594",
"ToOrgId": "CB",
"ToUserId": "issuer_user_cb",
"TokenId": "USD",
"TokenName": "cbdc"
}
],
"encode": "JSON"
}
}
-
GetPendingRequest
- 이 메소드는 호출자가 승인자로 지정된 지정된 유형의 보류 중인 모든 요청을 검색합니다. 이 메소드는 체인 코드의
Token Admin 또는 Token Auditor, 지정된 조직의 Org Admin 또는 Org Auditor 또는 Notary에 의해서만 호출될 수 있습니다.
func (t *Controller) GetPendingRequest(token_id string, request_type string) (interface{}, error)
- 매개변수:
token_id: string – 토큰 ID입니다.
request_type: string – 트랜잭션 유형입니다. 예를 들어, mint 또는 burn입니다.
- 반환 값 예제:
{
"returnCode": "Success",
"error": "",
"result": {
"payload": [
{
"valueJson": {
"AssetType": "ohold",
"Category": "Category value",
"Description": "Description value",
"FromAccountId": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0",
"HoldingId": "ohold~cbdc~USD~8e1232",
"NotaryAccountId": "oaccount~2eb5f8a9bc561f8f41a4ea3be9511958cc6684ef14f2337ca396efc301b627d8",
"OperationId": "8e1232",
"OperationType": "mint",
"Quantity": 100,
"Status": "pending",
"TimeToExpiration": "0",
"ToAccountId": "",
"TokenId": "USD",
"TokenName": "cbdc"
}
}
],
"encode": "JSON"
}
}
-
GetTotalBalanceByCallerOrgId
- 이 메소드는 호출자 조직의 총 잔액을 검색합니다.
Token Admin, Token Auditor, Org Admin, Org Auditor 또는 임의의 계정 소유자가 호출할 수 있습니다.
func (t *Controller) GetTotalBalanceByCallerOrgId() (interface{}, error)
- 매개변수:
token_id: string – 토큰 ID입니다.
- 반환 값 예제:
{
"returnCode": "Success",
"error": "",
"result": {
"payload": [
{
"TotalBalance": 180
}
],
"encode": "JSON"
}
}
-
GetTransactionWithBlockNumber
- 이 메소드는 지정된 트랜잭션 ID에 대한 트랜잭션 세부정보를 반환합니다.
func (t *Controller) GetTransactionWithBlockNumber(token_id string, transaction_id string)
- 매개변수:
token_id: string – 토큰 ID입니다.
transaction_id: string – 트랜잭션의 ID입니다.
- 반환 값 예제:
{
"returnCode": "Success",
"error": "",
"result": {
"payload": [
{
"blockNo": 152,
"key": "otransaction~eee2de20b4b042884da83e3b7b85d8532ad56f26a546ee25d227acce33375c1c",
"metadata": null,
"txnNo": 0,
"value": null,
"valueJson": {
"Amount": 10,
"AssetType": "otransaction",
"Category": "Category value",
"Description": "",
"FromAccountBalance": 130,
"FromAccountId": "oaccount~9d9806fa92aa0c4fdb34eaffac6e830181b5d47e64fbce752195e83024125ca0",
"FromAccountOnHoldBalance": 10,
"HoldingId": "ohold~cbdc~USD~hold1",
"NumberOfSubTransactions": 0,
"SubTransaction": "false",
"SubTransactionType": "",
"Timestamp": "2024-11-21T20:43:59Z",
"ToAccountBalance": 10,
"ToAccountId": "oaccount~51e676d7182a02ea7418ef58a6d54ecfe3858ef40b4ffb3d859b320da3921594",
"ToAccountOnHoldBalance": 0,
"TokenId": "USD",
"TransactionId": "otransaction~eee2de20b4b042884da83e3b7b85d8532ad56f26a546ee25d227acce33375c1c",
"TransactionType": "EXECUTEHOLD"
}
}
],
"encode": "JSON"
}
}