본드 마켓플레이스 래퍼 API 패키지

Oracle Blockchain Platform Digital Assets Edition에는 채권 NFT 마켓플레이스와 관련된 운영을 지원하도록 REST API를 확장하는 래퍼 API 패키지가 포함되어 있습니다.

래퍼 API 패키지는 API 게이트웨이 서비스 및 OCI 함수를 사용하여 채권 마켓플레이스 NFT 수명 주기를 관리하기 위한 API 경로를 배포합니다. 본드 마켓플레이스 래퍼 API 패키지는 Oracle Blockchain Platform 콘솔에서 다운로드할 수 있으며 배치에 필요한 Terraform 스크립트를 포함하여 래퍼 API 패키지가 포함된 아카이브 파일을 포함합니다. 이 파일을 OCI(Oracle Cloud Infrastructure)의 리소스 관리자 스택에 배치하여 래퍼 API에 필요한 Oracle 리소스를 생성합니다. 또한 배치된 래퍼 API를 테스트할 수 있는 Postman 컬렉션이 포함되어 있습니다. 컬렉션에는 래퍼 API 패키지에 정의된 API에 해당하는 끝점 및 페이로드가 포함된 미리 구성된 요청이 포함됩니다.

래퍼 API

activateAccount
원래 메소드 이름: activateAccount
이 POST 메소드는 토큰 계정을 활성화합니다. 이 메소드는 관리자 또는 계정 소유자만 호출할 수 있습니다. 삭제된 계정은 활성화할 수 없습니다.
페이로드:
{
    "tokenId": "{{bc-token-id}}",
    "orgId": "{{bc-org-id}}",
    "userId": "{{bc-user-id}}",
    "endorsers": {{endorsers}}
}
매개변수:
  • tokenId: string – 토큰의 ID입니다.
  • orgId: string – 현재 조직에 있는 사용자의 멤버쉽 서비스 공급자(MSP) ID입니다.
  • userId: string – 사용자의 사용자 이름 또는 전자 메일 ID입니다.
반환값:
  • 성공 시 지정된 토큰 계정에 대한 계정 상태 객체의 JSON 표현입니다.
반환 값 예제:
{
  "assetType": "oaccountStatus",
  "status_id": "oaccountStatus~5a0b0d8b1c6433af9fedfe0d9e6580e7cf6b6bb62a0de6267aaf79f79d5e96d7",
  "account_id": "oaccount~1c568151c4acbcd1bd265c766c677145760a61c47fc8a3ba681a4cfbe287f9c1",
  "status": "active"
}
addTokenAdmin
원래 메소드 이름: addTokenAdmin
이 POST 메소드는 다른 관리자를 토큰 체인 코드에 추가합니다. 이 메소드는 체인 코드의 토큰 관리자만 호출할 수 있습니다.
페이로드:
{
    "orgId": "{{bc-org-id}}",
    "userId": "{{bc-user-id}}",
    "endorsers": {{endorsers}}
}
매개변수:
  • orgId: string – 현재 조직에 있는 사용자의 멤버쉽 서비스 공급자(MSP) ID입니다.
  • userId: string – 사용자의 사용자 이름 또는 전자 메일 ID입니다.
반환값:
  • 성공 시 체인 코드의 Token Admin로 추가된 사용자의 세부정보를 포함하는 메시지입니다.
반환 값 예제:
{
  "msg": "Successfully added Admin (OrgId: appDev, UserId: user1)"
}
addRole
원래 메소드 이름: addRole
이 POST 메소드는 지정된 사용자 및 토큰에 역할을 추가합니다. 이 메소드는 체인 코드의 Token Admin만 호출할 수 있습니다. 사용할 수 없는 토큰은 토큰 이름으로 지정됩니다. 지정된 사용자에게는 비공유 토큰 계정이 있어야 합니다. 토큰에 대한 사양 파일에 지정된 역할이 있어야 합니다.
페이로드:
{
    "tokenId": "{{bc-token-id}}",
    "orgId": "{{bc-org-id}}",
    "userId": "{{bc-user-id}}",
    "role": "role minter/burner"
    "tokenDetails": "{"tokenName": "token name value"}"
    "endorsers": {{endorsers}}
}
매개변수:
  • orgId: string – 현재 조직에 있는 사용자의 멤버쉽 서비스 공급자(MSP) ID입니다.
  • userId: string – 사용자의 사용자 이름 또는 전자 메일 ID입니다.
  • role: string – 지정된 사용자에게 추가할 역할의 이름입니다.
  • tokenDetails: TokenDetail – 토큰을 지정하는 세부정보입니다. 사용할 수 없는 토큰의 경우 다음 형식을 사용합니다.
    {"tokenName":"artCollection"}
반환값:
  • 성공 시 계정 세부정보가 포함된 메시지입니다.
반환 값 예제:
{
  "msg": "Successfully added role 'minter' to Account Id: oaccount~1422a74d262a3a55a37cd9023ef8836f765d0be7b49d397696b9961d7434d22a (Org-Id: appdev, User-Id: idcqa)"
}
approveBondRedemption
원래 메소드 이름: approveBondRedemption
이 POST 메소드는 토큰 생성자가 본드 토큰 상환 요청을 승인하기 위해서만 호출할 수 있습니다. 승인 작업은 채권 NFT를 소유자의 계정(요청을 제기한 사용자)에서 생성자의 계정으로 이전하고 채권 생성자의 CBDC 토큰을 소유자의 계정으로 이전합니다. 이 때문에 이 메소드는 원자 트랜잭션의 컨텍스트에서 실행되어야 합니다. 또한 이 방법은 전송 프로세스를 확인하여 전송에 적합한 CBDC 체인 코드가 올바른 orgIduserId로 호출되는지 확인합니다. orgIduserId는 상환 요청을 제기한 토큰 소유자의 계정과 일치해야 하며, CBDC 토큰 전송 값은 상환 요청을 제기하는 동안 체인 코드에 의해 계산된 계산된 상환 가격과 같아야 합니다.
페이로드:
{
   "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}}
}
매개변수:
  • fromOrgId: string – 사용자의 멤버쉽 서비스 공급자(MSP) ID입니다.
  • fromUserId: string – 사용자의 사용자 이름 또는 전자 메일 ID입니다.
  • settlementId: string – 상환 작업에 대한 정산 ID입니다.
  • tokenId: string – 토큰의 ID입니다.
  • CBDCTokenId: string – CBDC 체인 코드에 있는 토큰의 ID입니다.
  • CBDCOrgId: string – CBDC 체인 코드에 있는 사용자의 MSP ID입니다.
  • CBDCUserId: string – CBDC 체인 코드에 있는 사용자의 사용자 이름 또는 전자 메일 ID입니다.
  • CBDCQuantity: string – CBDC 체인 코드에서 전송할 토큰의 수량입니다.
  • CBDCRemark: string – 이전에 표시된 형식이어야 하는 CBDC 체인 코드의 전송에 대한 비고입니다.
반환 값 예제:
{
   "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
원래 메소드 이름: balanceOfBatch
이 GET 메소드는 토큰 계정의 잔액을 가져오는 일괄 처리 작업을 완료합니다. 계정 세부정보는 세 개의 개별 조직 ID 목록, 사용자 ID 및 토큰 ID에 지정됩니다. 이 메소드는 체인 코드의 Token Admin 또는 계정 소유자만 호출할 수 있습니다. 계정 소유자는 자신이 소유한 계정에 대해서만 잔액 세부정보를 볼 수 있습니다.
질의:
/balanceOfBatch?orgIds=["{{bc-org-id}}"]&userIds=["{{bc-user-id}}"]&tokenIds=["{{bc-token-id}}"]
매개변수:
  • orgIds: string[] – 현재 조직의 멤버쉽 서비스 공급자(MSP) ID 목록입니다.
  • userIds: string[] – 사용자 이름 또는 전자 메일 ID 목록입니다.
  • tokenIds: string[] – 토큰 ID 목록입니다.
반환 값 예제:

다음 예제에서 토큰 ID FNFT는 소수 표시 불가능 토큰을 나타내고 토큰 ID FT는 대체 가능 토큰을 나타냅니다.

[
    {
        "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
원래 메소드 이름: batchTransferFrom
이 POST 메소드는 한 사용자에서 다른 사용자로 토큰 ID 목록에 지정된 토큰을 전송하는 일괄 처리 작업을 완료합니다.
페이로드:
{
 "fromOrgId": "fromOrgId value",
 "fromUserId": "fromUserId value",
 "toOrgId": "toOrgId value",
 "toUserId": "toUserId value",
 "tokenIds": "[\"{{bc-token-id}}\"]",
 "quantity": "[quantity value]",
 "endorsers": {{endorsers}}
}
매개변수:
  • fromOrgId: string – 현재 조직의 발신자 및 토큰 소유자의 멤버쉽 서비스 제공자(MSP) ID입니다.
  • fromUserId: string – 발신자 및 토큰 소유자의 사용자 이름 또는 전자 메일 ID입니다.
  • toOrgId: string – 현재 조직에 있는 수신자의 멤버쉽 서비스 제공자(MSP) ID입니다.
  • toUserId: string – 수신자의 사용자 이름 또는 전자 메일 ID입니다.
  • tokenIds: string[] – 전송할 토큰에 대한 토큰 ID 목록입니다.
  • quantity: number[] – 토큰 ID 배열에 해당하는 전송할 토큰 수량 목록입니다.
반환값:
  • 성공 시 각 토큰 전송에 대한 세부정보가 포함된 메시지입니다.
반환 값 예제:
[
    {
        "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
원래 메소드 이름: burnBatch
이 POST 메소드는 지정된 토큰을 비활성화하거나 레코딩합니다. 버너 역할을 가진 사용자는 이 방법을 호출할 수 있습니다.
페이로드:
{
 "orgId": "{{bc-org-id}}",
 "userId": "{{bc-user-id}}",
 "tokenIds": "[\"{{bc-token-id}}\"]",
 "quantity": "[quantity value]",
 "sameOrgEndorser": true
}
매개변수:
  • orgId: string – 현재 조직의 멤버쉽 서비스 공급자(MSP) ID입니다.
  • userId: string – 사용자 이름 또는 전자 메일 ID입니다.
  • tokenIds: string[] – 구울 토큰 ID 목록
  • quantity: number[] – 토큰 ID 배열에 해당하는 구울 토큰 수량 목록입니다.
반환값:
  • 성공 시 레코딩 작업에 대한 세부정보가 포함된 메시지입니다.
반환 값 예제:
[
  {
    "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
원래 메소드 이름: createAccount
이 POST 메소드는 지정된 사용자에 대한 계정과 토큰에 대한 연관된 토큰 계정을 만듭니다. 언제든 토큰이 있는 사용자에 대해 계정을 만들어야 합니다. 사용자 계정은 사용자가 보유한 NFT 계정 및 대체 가능한 토큰 계정을 추적합니다. 토큰 관련 작업을 완료하려면 사용자에게 네트워크에 계정이 있어야 합니다. 이 메소드는 체인 코드의 Token Admin만 호출할 수 있습니다.

사용자 계정에는 orgId 매개변수의 SHA-256 해시 및 userId 매개변수로 구성된 고유 ID가 있습니다.

사용자는 고유한 계정 ID를 가진 다중 대체 가능 토큰 계정을 가질 수 있습니다. Fungible 토큰 계정 ID는 orgId 매개변수의 SHA-256 해시, userId 매개변수, 틸드 기호(~)로 구분된 상수 문자열 ft 및 틸드 기호(~)로 구분되는 생성 중인 Fungible 계정의 인덱스를 나타내는 카운터 번호로 구성됩니다.

사용자는 하나의 비공개 토큰 계정만 가질 수 있습니다. 제거할 수 없는 토큰 계정 ID는 고유하며 orgId 매개변수의 SHA-256 해시, userId 매개변수 및 틸드 기호(~)로 구분된 상수 문자열 nft에 의해 형성됩니다. 사용자가 소유하는 모든 실행 불가능 토큰(전체 또는 소수)은 이 계정에 연결됩니다.

페이로드:
{
 "orgId": "{{bc-org-id}}",
 "userId": "{{bc-user-id}}",
 "ftAccount": true,
 "nftAccount": true,
 "endorsers": {{endorsers}}
}
매개변수:
  • orgId – 계정을 만들 사용자의 멤버쉽 서비스 공급자(MSP) ID입니다. ID는 영숫자로 시작해야 하며 문자, 숫자 및 밑줄(_), 마침표(.), at 기호(@), 하이픈(-)과 같은 특수 문자를 포함할 수 있습니다.
  • userId – 사용자의 사용자 이름 또는 전자 메일 ID입니다. ID는 영숫자로 시작해야 하며 문자, 숫자 및 밑줄(_), 마침표(.), at 기호(@), 하이픈(-)과 같은 특수 문자를 포함할 수 있습니다.
  • ftAccount: boolean – true인 경우 대체 가능 토큰 계정이 만들어지고 사용자 계정과 연관됩니다.
  • nftAccount: boolean – true인 경우, 사용할 수 없는 토큰 계정이 만들어지고 사용자 계정과 연관됩니다.
반환값:
  • 성공 시 생성된 계정의 JSON 객체입니다.
반환 값 예:
{
  "assetType": "ouaccount",
  "accountId": "ouaccount~cf20877546f52687f387e7c91d88b9722c97e1a456cc0484f40c747f7804feae",
  "userId": "user1",
  "orgId": "appdev",
  "totalAccounts": 2,
  "totalFtAccounts": 1,
  "associatedFtAccounts": [
    {
      "accountId": "oaccount~60bb20c14a83f6e426e1437c479c5891e1c6477dfd7ad18b73acac5d80bc504b",
      "tokenId": ""
    }
  ],
  "associatedNftAccount": "oaccount~73c3e835dac6d0a56ca9d8def08269f83cefd59b9d297fe2cdc5a9083828fa58"
}
createAccountWithEnrollment
원래 메소드 이름: createAccountWithEnrollment
이 POST 메소드는 인스턴스의 REST 프록시에서 사용자에 대한 등록을 생성하고 본드 마켓플레이스 체인코드에 NFT 계정을 생성합니다.
페이로드:
{
 "orgId": "orgId value",
 "userId": "userId value"
}
매개변수:
  • orgId: string – 현재 조직에 있는 사용자의 멤버쉽 서비스 공급자(MSP) ID입니다.
  • userId: string – 사용자의 사용자 이름 또는 전자 메일 ID입니다.
반환값:
  • 성공 시 생성된 계정의 JSON 객체입니다.
반환 값 예:
{
 "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
원래 메소드 이름: createBondToken
이 POST 메소드는 토큰을 만듭니다. 정의된 모든 토큰에는 고유한 생성 메소드가 있습니다. 사용할 수 없는 토큰의 경우 이 메소드의 호출자가 NFT의 소유자가 됩니다. 토큰 모델 behaviors 속성에 roles 동작이 정의되고 minter_role_name가 지정된 경우 호출자 계정에 minter 롤이 있어야 합니다.
페이로드:
{
 "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
}
매개변수:
  • tokenAsset: <Token Class> – 토큰 자산입니다. 자산의 속성은 모델 파일에서 정의됩니다.
  • quantity: number – 민트할 토큰 수입니다. 이 매개변수에 대해 지원되는 값은 1뿐입니다.
반환값:
  • 성공 시 생성된 계정의 JSON 객체입니다.
반환 값 예제:
{
            "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
원래 메소드 이름: createIDCSUser
이 POST 메소드는 terraform.tfvars 파일의 URL에 지정된 테넌시에 Identity Cloud Service 사용자를 생성하고 지정된 사용자 그룹에 사용자를 지정합니다.
페이로드:
{
 "userName": "userName value",
 "firstName": "firstName value",
 "lastName": "lastName value",
 "email": "email value",
 "groupName": "groupName value"
}
매개변수:
  • userName: string – 사용자의 ID입니다.
  • firstName: string – 사용자의 이름입니다.
  • lastName: string – 사용자의 성입니다.
  • email: string – 사용자의 전자 메일 주소입니다.
  • groupName: string – 사용자에게 지정할 Identity Cloud Service 그룹의 이름입니다.
반환 값 예제:
{
 "status": "Success",
 "msg": "User user1 is created and assigned to the group BOND_ADMIN"
}
createTokenAccount
원래 메소드 이름: createTokenAccount
이 POST 메소드는 사용자 계정과 연관시킬 대체 가능하거나 실행 불가능한 토큰 계정을 만듭니다.

사용자는 고유한 계정 ID를 가진 다중 대체 가능 토큰 계정을 가질 수 있습니다. Fungible 토큰 계정 ID는 orgId 매개변수의 SHA-256 해시, userId 매개변수, 틸드 기호(~)로 구분된 상수 문자열 ft 및 틸드 기호(~)로 구분되는 생성 중인 Fungible 계정의 인덱스를 나타내는 카운터 번호로 구성됩니다.

사용자는 하나의 비공개 토큰 계정만 가질 수 있습니다. 제거할 수 없는 토큰 계정 ID는 고유하며 orgId 매개변수의 SHA-256 해시, userId 매개변수 및 틸드 기호(~)로 구분된 상수 문자열 nft에 의해 형성됩니다. 사용자가 소유하는 모든 실행 불가능 토큰(전체 또는 소수)은 이 계정에 연결됩니다.

이 메소드는 체인 코드의 Token Admin만 호출할 수 있습니다.

페이로드:
{
 "orgId": "{{bc-org-id}}",
 "userId": "{{bc-user-id}}",
 "tokenType": "nonfungible",
 "endorsers": {{endorsers}}
}
매개변수:
  • orgId: string – 현재 조직에 있는 사용자의 멤버쉽 서비스 공급자(MSP) ID입니다.
  • userId: string – 사용자의 사용자 이름 또는 전자 메일 ID입니다.
  • tokenType: TokenType – 만들 토큰 계정의 유형입니다. 지원되는 토큰 유형은 nonfungiblefungible뿐입니다.
반환값:
  • 성공 시 생성된 토큰 계정의 JSON 객체입니다.
반환 값 예:
{
  "assetType": "ouaccount",
  "accountId": "ouaccount~24ffd4d32a028a85b4b960f5d55536c837b5429bc7f346150adfa904ec2937cc",
  "userId": "user2",
  "orgId": "appdev",
  "totalAccounts": 1,
  "totalFtAccounts": 1,
  "associatedFtAccounts": [
    {
      "accountId": "oaccount~1422a74d262a3a55a37cd9023ef8836f765d0be7b49d397696b9961d7434d22a",
      "tokenId": ""
    }
  ],
  "associatedNftAccount": ""
}
createUserAccount
원래 메소드 이름: createUserAccount
이 POST 메소드는 지정된 사용자의 계정을 만듭니다. 언제든 토큰이 있는 사용자에 대해 계정을 만들어야 합니다. 사용자 계정은 NFT 계정 및 사용자가 보유한 대체 가능한 토큰 계정을 추적합니다. 토큰 관련 작업을 완료하려면 사용자에게 네트워크에 계정이 있어야 합니다.

계정 ID는 orgId 매개변수 및 userId 매개변수의 SHA-256 해시입니다. 이 메소드는 체인 코드의 Token Admin만 호출할 수 있습니다.

페이로드:
{
 "orgId": "{{bc-org-id}}",
 "userId": "{{bc-user-id}}",
 "endorsers": {{endorsers}}
}
매개변수:
  • orgId: string – 현재 조직에 있는 사용자의 멤버쉽 서비스 공급자(MSP) ID입니다.
  • userId: string – 사용자의 사용자 이름 또는 전자 메일 ID입니다.
반환값:
  • 성공 시 생성된 사용자 계정의 JSON 객체입니다.
반환 값 예:
{
  "assetType": "ouaccount",
  "accountId": "ouaccount~24ffd4d32a028a85b4b960f5d55536c837b5429bc7f346150adfa904ec2937cc",
  "userId": "user2",
  "orgId": "appdev",
  "totalAccounts": 0,
  "totalFtAccounts": 0,
  "associatedFtAccounts": [],
  "associatedNftAccount": ""
}
deleteAccount
원래 메소드 이름: deleteAccount
이 POST 메소드는 토큰 계정을 삭제합니다. 이 메소드는 체인 코드의 Token Admin만 호출할 수 있습니다. 원장에서 계정에 대한 accountStatus 값을 찾을 수 없는 경우 이 메소드에서 오류가 발생합니다.
페이로드:
{
 "orgId": "{{bc-org-id}}",
 "userId": "{{bc-user-id}}",
 "endorsers": {{endorsers}}
}
매개변수:
  • orgId: string – 현재 조직에 있는 사용자의 멤버쉽 서비스 공급자(MSP) ID입니다.
  • userId: string – 사용자의 사용자 이름 또는 전자 메일 ID입니다.
반환값:
  • 성공 시 토큰 계정 상태의 JSON 표현입니다.
반환 값 예:
{
  "assetType": "oaccountStatus",
  "statusId": "oaccountStatus~5a0b0d8b1c6433af9fedfe0d9e6580e7cf6b6bb62a0de6267aaf79f79d5e96d7",
  "accountId": "oaccount~1c568151c4acbcd1bd265c766c677145760a61c47fc8a3ba681a4cfbe287f9c1",
  "status": "deleted"
}
getAccount
원래 메소드 이름: getAccount
이 GET 메소드는 지정된 사용자에 대한 토큰 계정 세부정보를 반환합니다. 이 메소드는 체인 코드의 Token Admin 또는 계정의 Account Owner에 의해서만 호출될 수 있습니다.
질의:
/getAccount?orgId={{bc-org-id}}&userId={{bc-user-id}}
매개변수:
  • orgId: string – 현재 조직에 있는 사용자의 멤버쉽 서비스 공급자(MSP) ID입니다.
  • userId: string – 사용자의 사용자 이름 또는 전자 메일 ID입니다.
  • tokenId?: string – 사용할 수 없는 토큰 계정의 경우 빈 문자열입니다. 대체 가능한 토큰 계정의 경우 토큰 ID입니다.
반환값:
  • 성공 시 토큰 계정 세부정보를 포함하는 JSON 객체입니다.
반환 값 예제
{
    "assetType": "oaccount",
    "accountId": "oaccount~e88276a3be547e31b567346bdddde52d37734da4d5fae83ab2e5c98a10097371",
    "userId": "user2",
    "orgId": "AppBldFFFFMay22",
    "tokenType": "nonfungible",
    "noOfNfts": 3
}
getAccountBondSummary
원래 메소드 이름: getAccountBondSummary
이 GET 메소드는 구매 또는 상환된 토큰의 세부정보와 구매 및 상환 가격을 포함하여 지정된 사용자에 대한 계정 요약을 반환합니다.
질의:
/getAccount?orgId={{bc-org-id}}&userId={{bc-user-id}}
매개변수:
  • orgId: string – 현재 조직에 있는 사용자의 멤버쉽 서비스 공급자(MSP) ID입니다.
  • userId: string – 사용자의 사용자 이름 또는 전자 메일 ID입니다.
반환값:
  • 성공 시 토큰 계정 요약을 포함하는 JSON 객체입니다.
반환 값 예제
[
 {
   "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
원래 메소드 이름: getAccountBondSummaryWithPagination
이 GET 메소드는 구매 또는 상환된 토큰의 세부정보와 구매 및 상환 가격을 포함하여 지정된 사용자에 대한 계정 요약을 반환합니다. 이 메소드는 페이지 크기 및 책갈피 값을 기반으로 페이지 매김을 사용하여 결과를 반환하고 시작 시간 및 종료 시간을 기준으로 필터링할 수도 있습니다.
질의:
/getAccountBondSummary?orgId={{bc-org-id}}&userId={{bc-user-id}}&pageSize=1&bookmark={{bookmark}}
매개변수:
  • orgId: string – 현재 조직에 있는 사용자의 멤버쉽 서비스 공급자(MSP) ID입니다.
  • userId: string – 사용자의 사용자 이름 또는 전자 메일 ID입니다.
  • pageSize: number – 반환된 결과의 페이지 크기입니다.
  • bookmark: string – 반환된 결과의 책갈피입니다.
반환값:
  • 성공 시 토큰 계정 요약을 포함하는 JSON 객체입니다.
반환 값 예제
[
 {

   "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
원래 메소드 이름: getAccountDetailsByUser
이 GET 메소드는 지정된 사용자에 대한 계정 요약 및 사용자와 연관된 대체 가능 및 실행 불가능 토큰의 세부정보를 반환합니다. 이 메소드는 체인 코드의 Token Admin 또는 계정의 Account Owner에 의해서만 호출될 수 있습니다.
질의:
/getAccountDetailsByUser?orgId={{bc-org-id}}&userId={{bc-user-id}}
매개변수:
  • orgId: string – 현재 조직에 있는 사용자의 멤버쉽 서비스 공급자(MSP) ID입니다.
  • userId: string – 사용자의 사용자 이름 또는 전자 메일 ID입니다.
반환값:
  • 성공 시, 지정된 사용자에 대한 계정 요약 및 사용자와 연관된 대체 가능 및 실행 불가능 토큰의 세부정보를 포함하는 JSON 계정 객체입니다. 소수 표시 불가능 토큰의 경우, associatedNFTs 섹션의 tokenShare 등록 정보에 사용자가 소유한 공유가 표시됩니다.
반환 값 예제:
{
    "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
원래 메소드 이름: getAccountStatus
이 GET 메소드는 토큰 계정의 현재 상태를 검색합니다. 이 메소드는 체인 코드의 Token Admin 또는 토큰 계정 소유자가 호출할 수 있습니다.
질의:
/getAccountStatus?orgId={{bc-org-id}}&userId={{bc-user-id}}
매개변수:
  • orgId: string – 현재 조직에 있는 사용자의 멤버쉽 서비스 공급자(MSP) ID입니다.
  • userId: string – 사용자의 사용자 이름 또는 전자 메일 ID입니다.
반환값:
  • 성공 시 토큰 계정 상태의 JSON 표현입니다.
반환 값 예제:
{
    "assetType": "oaccountStatus",
    "statusId": "oaccountStatus~5a0b0d8b1c6433af9fedfe0d9e6580e7cf6b6bb62a0de6267aaf79f79d5e96d7",
    "accountId": "oaccount~1c568151c4acbcd1bd265c766c677145760a61c47fc8a3ba681a4cfbe287f9c1",
    "status": "active"
}
getAccountStatusHistory
원래 메소드 이름: getAccountStatusHistory
이 GET 메소드는 계정 상태의 기록을 검색합니다. 이 메소드는 체인 코드의 Token Admin 또는 토큰 계정 소유자가 호출할 수 있습니다.
질의:
/getAccountStatusHistory?orgId={{bc-org-id}}&userId={{bc-user-id}}
매개변수:
  • orgId: string – 현재 조직에 있는 사용자의 멤버쉽 서비스 공급자(MSP) ID입니다.
  • userId: string – 사용자의 사용자 이름 또는 전자 메일 ID입니다.
반환값:
  • 성공 시 계정 상태 기록은 JSON 형식입니다.
반환 값 예제:
[
  {
    "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
원래 메소드 이름: getAccountTransactionHistory
이 GET 메소드는 계정 트랜잭션 내역을 반환합니다. 이 메소드는 체인 코드의 Token Admin 또는 계정 소유자가 호출할 수 있습니다.
/getAccountTransactionHistory?orgId={{bc-org-id}}&userId={{bc-user-id}}
매개변수:
  • orgId: string – 현재 조직에 있는 사용자의 멤버쉽 서비스 공급자(MSP) ID입니다.
  • userId: string – 사용자의 사용자 이름 또는 전자 메일 ID입니다.
반환 값 예:
[
    {
        "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
원래 메소드 이름: getAccountsByRole
이 GET 메소드는 지정된 롤 및 토큰에 대한 모든 계정 ID 목록을 반환합니다.
질의:
/getAccountsByRole?role=role value (for example minter / burner)&tokenDetail={"tokenName":"tokenName value"}
매개변수:
  • role: string – 검색할 역할의 이름입니다.
  • tokenDetail: JSON – 대체 가능한 토큰의 경우 토큰 ID입니다. 사용할 수 없는 토큰의 경우 토큰 이름이 필요합니다.
반환 값 예:
{
  "accounts": [
    "oaccount~1422a74d262a3a55a37cd9023ef8836f765d0be7b49d397696b9961d7434d22a",
    "oaccount~60bb20c14a83f6e426e1437c479c5891e1c6477dfd7ad18b73acac5d80bc504b"
  ]
}
getAllAccounts
원래 메소드 이름: getAllAccounts
이 GET 메소드는 모든 사용자 계정의 세부정보를 반환합니다. 이 메소드는 체인 코드의 Token Admin만 호출할 수 있습니다.
질의:
/getAllAccounts
매개변수:
  • 없음
반환값:
  • 성공 시 모든 계정의 JSON 배열입니다.
반환 값 예:
[
        {
            "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
원래 메소드 이름: getAllTokenAdmins
이 GET 메소드는 체인 코드의 Token Admin인 모든 사용자 목록을 반환합니다. 이 메소드는 체인 코드의 Token Admin만 호출할 수 있습니다.
질의:
/getAllTokenAdmins
매개변수:
  • 없음
반환값:
  • 성공 시 orgIduserId 객체를 포함하는 JSON 형식의 admins 배열입니다.
반환 값 예:
{
  "admins": [
    {
      "orgId": "appdev",
      "userId": "user2"
    },
    {
      "orgId": "appdev",
      "userId": "user1"
    }
  ]
}
getAllTokens
원래 메소드 이름: getAllTokens
이 메소드는 상태 데이터베이스에 저장된 모든 토큰 자산을 반환합니다. 이 메소드는 체인 코드의 Token Admin만 호출할 수 있습니다. 이 방법은 Berkeley DB SQL 서식 있는 질의를 사용하며 원격 Oracle Blockchain Platform 네트워크에 접속된 경우에만 호출할 수 있습니다.
/getAllTokens
매개변수:
  • 없음
반환값:
  • JSON 형식의 모든 토큰 자산 목록입니다.
반환 값 예:
[{
            "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
원래 메소드 이름: getAllTokensByUser
이 GET 메소드는 지정된 사용자가 소유한 모든 토큰 자산을 반환합니다. 이 방법은 Berkeley DB SQL 서식 있는 질의를 사용하며 원격 Oracle Blockchain Platform 네트워크에 접속된 경우에만 호출할 수 있습니다. 이 메소드는 체인 코드의 Token Admin 또는 계정 소유자가 호출할 수 있습니다.
질의:
/getAllTokensByUser?orgId={{bc-org-id}}&userId={{bc-user-id}}
매개변수:
  • orgId: string – 현재 조직에 있는 사용자의 멤버쉽 서비스 공급자(MSP) ID입니다.
  • userId: string – 사용자의 사용자 이름 또는 전자 메일 ID입니다.
반환 값 예제:
[{
            "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
원래 메소드 이름: getAllTokensWithFilters
관리자는 이 GET 메소드를 호출하여 상태별로 필터링된 모든 토큰을 인출할 수 있습니다.
질의:
/getAllTokensWithFilters?status=status&pageSize=pageSize&bookmark=bookmark
매개변수:
  • status: string – 토큰의 상태로, CREATED 또는 POSTED일 수 있습니다.
  • pageSize: number – 반환된 결과의 페이지 크기입니다.
  • bookmark: string – 반환된 결과의 책갈피입니다.
반환 값 예제:
[{
            "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
원래 메소드 이름: getTokenApprovalRequestByUser
모든 계정 소유자는 이 GET 메소드를 호출하여 자신이 만든 모든 토큰 승인 요청(상환 요청)의 세부정보를 가져올 수 있습니다.
질의:
/getTokenApprovalRequestByUser?status=status value
매개변수:
  • status: string – 요청 상태이며 PENDING, REJECTED 또는 APPROVED일 수 있습니다.
반환 값 예제:
[
   {
      "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
원래 메소드 이름: getTokenApprovalRequestByUser
모든 계정 소유자는 이 GET 메소드를 호출하여 자신이 만든 모든 토큰 승인 요청(상환 요청)의 세부정보를 가져올 수 있습니다.
질의:
/getTokenApprovalRequestForUserByStatus?status=status value
매개변수:
  • status: string – 요청 상태이며 PENDING, REJECTED 또는 APPROVED일 수 있습니다.
반환 값 예제:
[
   {
      "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
원래 메소드 이름: getTokenById
이 GET 메소드는 토큰이 상태 데이터베이스에 있는 경우 토큰 객체를 반환합니다. 소수 NFT의 경우 소유자 목록도 반환됩니다. 이 메소드는 체인 코드의 Token Admin 또는 토큰 소유자에 의해서만 호출될 수 있습니다.
질의:
/getTokenById?tokenId={{bc-token-id}}
매개변수:
  • tokenId: string – 가져올 토큰의 ID입니다.
반환 값 예제:
[{
            "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
원래 메소드 이름: getTokenHistory
이 GET 메소드는 지정된 토큰 ID에 대한 내역을 반환합니다.
질의:
/getTokenHistory?tokenId={{bc-token-id}}
매개변수:
  • tokenId: string – 토큰의 ID입니다.
반환값:
  • 성공 시 토큰 내역을 포함하는 JSON 배열입니다.
반환 값 예제:
[{
            "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
원래 메소드 이름: getUsersByRole
이 메소드는 지정된 롤 및 토큰에 대한 모든 사용자 목록을 반환합니다. 이 메소드는 체인 코드의 Token Admin만 호출할 수 있습니다.
질의:
/getUsersByRole?role=role value (for example minter / burner)&tokenDetail={"tokenName":"tokenName value"}
매개변수:
  • role: string – 검색할 역할의 이름입니다.
  • tokenDetail: JSON – 대체 가능한 토큰의 경우 토큰 ID입니다. 사용할 수 없는 토큰의 경우 토큰 이름이 필요합니다.
반환 값 예제:
{
    "users": [
        {
            "accountId": "oaccount~1422a74d262a3a55a37cd9023ef8836f765d0be7b49d397696b9961d7434d22a",
            "orgId": "appdev",
            "userId": "user2"
        },
        {
            "accountId": "oaccount~60bb20c14a83f6e426e1437c479c5891e1c6477dfd7ad18b73acac5d80bc504b",
            "orgId": "appdev",
            "userId": "user1"
        }
    ]
}
init
원래 메소드 이름: init
이 POST 메소드는 체인 코드가 인스턴스화될 때 호출됩니다. 모든 Token AdminadminList 매개변수의 userIdorgId 정보로 식별됩니다. userId은 인스턴스 소유자 또는 인스턴스에 로그인한 사용자의 사용자 이름 또는 전자메일 ID입니다. orgId는 현재 네트워크 조직에 있는 사용자의 MSP(멤버쉽 서비스 공급자) ID입니다. 체인코드를 처음 배치할 때는 adminList 매개변수가 필수입니다. 체인코드를 업그레이드하는 경우 빈 목록([])을 전달합니다. 체인코드를 처음 배포한 사용자인 경우 체인코드를 업그레이드할 때 adminList 매개변수에 새 관리자를 지정할 수도 있습니다. 업그레이드 중 adminList 매개변수의 기타 모든 정보는 무시됩니다.
페이로드:
{
 "adminList": "[{\"orgId\":\"{{bc-org-id}}\",\"userId\":\"{{bc-user-id}}\"}]"
}
매개변수:
  • adminList array – 토큰 관리자 목록을 지정하는 {orgId, userId} 정보의 배열입니다. adminList 배열은 필수 매개변수입니다.
반환값:
  • 성공 시 페이로드가 없는 메시지입니다.
반환 값 예제:
{
}
isInRole
원래 메소드 이름: isInRole
이 GET 메소드는 유저에게 지정된 롤이 있는지 여부를 나타내는 부울 값을 반환합니다. 사용할 수 없는 토큰은 토큰 이름으로 지정됩니다. 이 메소드는 체인 코드의 Token Admin 또는 계정의 Account Owner에 의해서만 호출될 수 있습니다. 지정된 사용자에게 대체 가능 토큰과 연계된 토큰 계정 또는 NFT 역할에 대한 비공개 토큰 계정이 있어야 합니다. 토큰에 대한 사양 파일에 지정된 역할이 있어야 합니다.
질의:
/isInRole?orgId={{bc-org-id}}&userId={{bc-user-id}}&role=role value (for example minter / burner)&tokenDetail={"tokenName":"tokenName value"}
매개변수:
  • orgId: string – 현재 조직에 있는 사용자의 멤버쉽 서비스 공급자(MSP) ID입니다.
  • userId: string – 사용자의 사용자 이름 또는 전자 메일 ID입니다.
  • role: string – 검색할 역할의 이름입니다.
  • tokenDetails: TokenDetail – 토큰을 지정하는 세부정보입니다. 사용할 수 없는 토큰의 경우 다음 형식을 사용합니다.
    {"tokenName":"artCollection"}
반환 값 예:
{
    "result": true,
    "msg": "Account Id oaccount~1422a74d262a3a55a37cd9023ef8836f765d0be7b49d397696b9961d7434d22a (Org-Id: appdev, User-Id: idcqa) has minter role"
}
isTokenAdmin
원래 메소드 이름: isTokenAdmin
이 GET 메소드는 함수 호출자가 Token Admin인 경우 부울 값 true를 반환하고, 그렇지 않은 경우 false를 반환합니다. 이 메소드는 체인 코드의 Token Admin만 호출할 수 있습니다.
/isTokenAdmin?orgId={{bc-org-id}}&userId={{bc-user-id}}
매개변수:
  • orgId: string – 현재 조직에 있는 사용자의 멤버쉽 서비스 공급자(MSP) ID입니다.
  • userId: string – 사용자의 사용자 이름 또는 전자 메일 ID입니다.
반환값:
  • 이 메소드는 호출자가 Token Admin인 경우 true를 반환하고, 그렇지 않은 경우 false를 반환합니다.
반환 값 예:
{"result": true}
mintBatch
원래 메소드 이름: mintBatch
이 POST 메소드는 일괄 처리 작업에 여러 토큰을 생성(분)합니다. 이 방법은 대체할 수 없는 토큰 또는 소수의 불충분한 토큰만 만듭니다.

대체 가능한 토큰의 경우 최소값 역할이 사양 파일에 정의된 경우 최소값 역할을 가진 모든 사용자가 이 메소드를 호출할 수 있습니다. 그렇지 않은 경우 모든 사용자가 이 방법을 사용하여 토큰을 민트할 수 있습니다. 토큰을 만들거나 업데이트할 때 해당 등록 정보가 지정된 경우 토큰의 max_mint_quantity 등록 정보를 초과하여 민트할 수 없습니다.

사용할 수 없는 토큰의 경우 minter 역할이 사양 파일에 정의되어 있으면 minter 역할을 가진 모든 사용자가 이 메서드를 호출할 수 있습니다. 그렇지 않은 경우 모든 사용자가 이 방법을 사용하여 토큰을 민트할 수 있습니다. 또한 호출자는 토큰의 생성자여야 합니다. 분화될 수 있는 소수 표시 불가능 토큰의 수량에는 상한이 없습니다.

이 메소드를 사용하여 완전하게 실행 불가능한 토큰을 채울 수 없습니다.

페이로드:
{
 "orgId": "{{bc-org-id}}",
 "userId": "{{bc-user-id}}",
 "tokenIds": "[\"{{bc-token-id}}\"]",
 "quantity": "[quantity value]",
 "sameOrgEndorser": true
}
매개변수:
  • orgId: string – 현재 조직에 있는 사용자의 멤버쉽 서비스 공급자(MSP) ID입니다.
  • userId: string – 사용자의 사용자 이름 또는 전자 메일 ID입니다.
  • tokenIds: string[] – 민트 토큰에 대한 토큰 ID 목록입니다.
  • quantity: number[] – 토큰 ID 배열에 해당하는 민트할 토큰 수량 목록입니다.
반환값:
  • 성공 시 민트된 토큰에 대한 세부정보를 포함하는 JSON 객체입니다.
반환 값 예제:
{
    "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
원래 메소드 이름: ownerOf
이 GET 메소드는 지정된 토큰 ID의 소유자의 계정 ID, 조직 ID 및 사용자 ID를 반환합니다. 누구나 이 메서드를 호출할 수 있습니다.
질의:
/ownerOf?tokenId={{bc-token-id}}
매개변수:
  • tokenId: string – 토큰의 ID입니다.
반환 값 예제:
[
    {
        "accountId": "oaccount~42e89f4c72dfde9502814876423c6da630d466e87436dd1aae201d347ad1288d",
        "orgId": "Org1MSP",
        "userId": "admin"
    },
    {
        "accountId": "oaccount~74108eca702bab6d8548e740254f2cc7955d886885251d52d065042172a59db0",
        "orgId": "Org1MSP",
        "userId": "user"
    }
]
payInterest
원래 메소드 이름: ownerOf
이 POST 메소드는 채권 토큰에서 얻은 이자를 지불하기 위해 토큰 생성자 또는 관리자에 의해서만 호출될 수 있습니다. 이 메소드는 토큰의 이자 빈도가 월별, 분기별 또는 연간인 경우에만 호출할 수 있습니다. 이자 빈도가 만기일 경우 이자를 지급할 수 없습니다. 이자는 토큰의 쿠폰 금리를 기반으로 체인 코드에 의해 계산됩니다. 구매 작업은 콜러의 계정에서 채권 소유자의 계정으로 CBDC 토큰을 이전합니다. 이 때문에 이 메소드는 원자 트랜잭션의 컨텍스트에서 실행되어야 합니다. 또한 이 방법은 전송 프로세스를 확인하여 전송에 적합한 CBDC 체인 코드가 올바른 orgIduserId로 호출되는지 확인합니다. orgIduserId는 토큰 소유자와 일치해야 하며 CBDC 토큰 전송 값은 본드 체인 코드로 계산된 이자와 같아야 합니다.
페이로드:
{
 "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}}
}
매개변수:
  • orgId: string – 사용자의 멤버쉽 서비스 공급자(MSP) ID입니다.
  • userId: string – 사용자의 사용자 이름 또는 전자 메일 ID입니다.
  • tokenId: string – 토큰의 ID입니다.
  • orderId: string – 작업의 순서 ID입니다.
  • CBDCTokenId: string – CBDC 체인 코드에 있는 토큰의 ID입니다.
  • CBDCOrgId: string – CBDC 체인 코드에 있는 사용자의 MSP ID입니다.
  • CBDCUserId: string – CBDC 체인 코드에 있는 사용자의 사용자 이름 또는 전자 메일 ID입니다.
  • CBDCQuantity: string – CBDC 체인 코드에서 전송할 토큰의 수량입니다.
  • CBDCRemark: string – 이전에 표시된 형식이어야 하는 CBDC 체인 코드의 전송에 대한 비고입니다.
반환 값 예제:
{
   "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
원래 메소드 이름: postBondToken
이 POST 메소드는 토큰 생성자만 호출할 수 있습니다. 이 메소드는 마켓플레이스에 나열할 채권 토큰을 제출합니다. 토큰이 생성되면 처음에는 상태가 created로 설정됩니다. 이 메소드는 상태를 posted로 업데이트합니다. 사용자는 getAllTokensWithFilter 메소드를 실행하여 posted 상태의 모든 NFT를 검색할 수 있습니다.
페이로드:
{
 "tokenId": "{{bc-token-id}}",
 "sameOrgEndorser": true
}
매개변수:
  • tokenId: string – 게시할 토큰의 ID입니다.
반환 값 예제:
{
         "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
원래 메소드 이름: purchaseBondToken
이 POST 방법은 모든 계정 소유자가 나열된 채권 NFT를 구매하기 위해 호출할 수 있습니다. 구매는 채권 NFT를 생성자 계정에서 발신자 계정으로 이전하고 CBDC 토큰을 발신자 계정에서 생성자 계정으로 이전합니다. 이 때문에 메소드는 원자 트랜잭션의 컨텍스트에서 실행되어야 합니다. 또한 이 방법은 전송 프로세스를 확인하여 전송에 적합한 CBDC 체인 코드가 올바른 orgIduserId로 호출되는지 확인합니다. orgIduserId는 토큰 생성자와 일치해야 하며 CBDC 토큰 전송 값은 본드 토큰의 면 값에 구매 중인 수량을 곱한 값과 같아야 합니다.
페이로드:
{
 "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}}
}
매개변수:
  • tokenId: string – 구매할 토큰의 ID입니다.
  • orgId: string – 사용자의 멤버쉽 서비스 공급자(MSP) ID입니다.
  • userId: string – 사용자의 사용자 이름 또는 전자 메일 ID입니다.
  • settlementId: string – 작업의 정산 ID입니다.
  • CBDCTokenId: string – CBDC 체인 코드에 있는 토큰의 ID입니다.
  • CBDCOrgId: string – CBDC 체인 코드에 있는 사용자의 MSP ID입니다.
  • CBDCUserId: string – CBDC 체인 코드에 있는 사용자의 사용자 이름 또는 전자 메일 ID입니다.
  • CBDCQuantity: string – CBDC 체인 코드에서 전송할 토큰의 수량입니다.
  • CBDCRemark: string – 이전에 표시된 형식이어야 하는 CBDC 체인 코드의 전송에 대한 비고입니다.
반환 값 예:
{
   "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
원래 메소드 이름: rejectBondRedemption
토큰 생성자는 이 POST 메소드를 호출하여 상환 요청을 거부할 수 있습니다. 토큰 소유자는 다른 결산 ID를 사용하여 상환 요청을 다시 제기할 수 있습니다.
페이로드:
{
 "fromOrgId": "fromOrgId value",
 "fromUserId": "fromUserId value",
 "settlementId": "settlementId value",
 "tokenId": "{{bc-token-id}}",
 "endorsers": {{endorsers}}
}
매개변수:
  • fromOrgId: string – 사용자의 멤버쉽 서비스 공급자(MSP) ID입니다.
  • fromUserId: string – 사용자의 사용자 이름 또는 전자 메일 ID입니다.
  • settlementId: string – 상환 작업에 대한 정산 ID입니다.
  • tokenId: string – 토큰의 ID입니다.
반환 값 예:
{
   "status":"success",
   "msg":"Successfully rejected the token approval request"
}
removeRole
원래 메소드 이름: removeRole
이 POST 메소드는 지정된 사용자 및 토큰에서 역할을 제거합니다. 사용 가능한 토큰은 토큰 ID로 지정됩니다. 사용할 수 없는 토큰은 토큰 이름으로 지정됩니다. 이 메소드는 체인 코드의 Token Admin만 호출할 수 있습니다.
{
 "orgId": "{{bc-org-id}}",
 "userId": "{{bc-user-id}}",
 "role": "role value (for example minter / burner)",
 "tokenDetail": "{\"tokenName\":\"tokenName value\"}",
 "endorsers": {{endorsers}}
}
매개변수:
  • orgId: string – 현재 조직에 있는 사용자의 멤버쉽 서비스 공급자(MSP) ID입니다.
  • userId: string – 사용자의 사용자 이름 또는 전자 메일 ID입니다.
  • role: string – 지정된 사용자로부터 제거할 역할의 이름입니다.
  • tokenDetails: TokenDetail – 토큰을 지정하는 세부정보입니다. 사용할 수 없는 토큰의 경우 다음 형식을 사용합니다.
    {"tokenName":"artCollection"}
반환 값 예제:
{
  "msg": "Successfully removed role 'minter' from Account Id: oaccount~60bb20c14a83f6e426e1437c479c5891e1c6477dfd7ad18b73acac5d80bc504b (Org-Id: appdev, User-Id: user1)"
}
removeTokenAdmin
원래 메소드 이름: removeTokenAdmin
이 POST 메소드는 사용자를 체인 코드의 Token Admin로 제거합니다. 이 메소드는 체인 코드의 Token Admin만 호출할 수 있습니다. 자신을 Token Admin로 제거할 수 없습니다.
페이로드:
{
 "orgId": "{{bc-org-id}}",
 "userId": "{{bc-user-id}}",
 "sameOrgEndorser": true
}
매개변수:
  • orgId: string – 현재 조직에 있는 사용자의 멤버쉽 서비스 공급자(MSP) ID입니다.
  • userId: string – 사용자의 사용자 이름 또는 전자 메일 ID입니다.
반환값:
  • 성공 시 체인 코드의 Token Admin로 제거된 사용자의 세부정보를 포함하는 메시지입니다.
반환 값 예제:
{"msg": "Successfully removed Admin (OrgId: appDev, UserId: user1)"}
requestBondRedemption
원래 메소드 이름: requestBondRedemption
이 POST 메소드는 토큰 소유자가 만기 후 채권 토큰 상환 요청을 제기하기 위해서만 호출할 수 있습니다. 이 방법에는 체인 코드의 상환 가격 계산도 포함됩니다. 상환 요청은 사용자가 소유한 본드 토큰의 전체 수량에서만 발생할 수 있습니다. 사용자는 서로 다른 결산 ID를 기반으로 여러 상환 요청을 제기할 수 있지만 토큰 생성자가 하나만 승인할 수 있습니다.
페이로드:
{
 "settlementId": "settlementId value",
 "tokenId": "{{bc-token-id}}",
 "orderId": "orderId value",
 "additionalFees": 1,
 "endorsers": {{endorsers}}
}
매개변수:
  • settlementId: string – 상환 작업에 대한 정산 ID입니다.
  • tokenId: string – 토큰의 ID입니다.
  • orderId: string – 구매 작업의 주문 ID입니다.
  • additionalFees: number – 상환 가격에 추가할 추가 요금입니다.
반환 값 예제:
{
         "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
원래 메소드 이름: safeBatchTransferFrom
이 POST 메소드는 한 사용자에서 다른 사용자로 토큰 ID 목록에 지정된 토큰을 전송하는 일괄 처리 작업을 완료합니다.

NFT의 경우 NFT의 소유권을 이전하기 때문에 NFT의 발신자가 토큰을 소유해야 합니다.

소수 NFT의 경우 사용자(토큰 생성자 포함)가 소유한 모든 공유를 전송하면 토큰의 소유권을 잃게 됩니다. 토큰의 공유가 사용자에게 전송되는 경우 해당 사용자는 자동으로 소수 NFT의 소유자 중 하나가 됩니다.

메소드의 호출자는 지정된 발신자여야 합니다.

{
 "fromOrgId": "fromOrgId value",
 "fromUserId": "fromUserId value",
 "toOrgId": "toOrgId value",
 "toUserId": "toUserId value",
 "tokenIds": "[\"{{bc-token-id}}\"]",
 "quantity": "[quantity value]",
 "endorsers": {{endorsers}}
}
매개변수:
  • fromOrgId: string – 현재 조직의 발신자 및 토큰 소유자의 멤버쉽 서비스 제공자(MSP) ID입니다.
  • fromUserId: string – 발신자 및 토큰 소유자의 사용자 이름 또는 전자 메일 ID입니다.
  • toOrgId: string – 현재 조직에 있는 수신자의 멤버쉽 서비스 제공자(MSP) ID입니다.
  • toUserId: string – 수신자의 사용자 이름 또는 전자 메일 ID입니다.
  • tokenIds: string[] – 전송할 토큰에 대한 토큰 ID 목록입니다.
  • quantity: number[] – 토큰 ID 배열에 해당하는 전송할 토큰 수량 목록입니다.
반환값:
  • 성공 시 각 토큰 전송에 대한 세부정보가 포함된 메시지입니다.
반환 값 예제:
[
    {
        "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
원래 메소드 이름: suspendAccount
이 POST 메소드는 토큰 계정을 일시 중지합니다. 이 메소드는 체인 코드의 Token Admin만 호출할 수 있습니다. 계정이 일시 중지된 후에는 계정 업데이트 작업을 완료할 수 없습니다. 삭제된 계정은 일시 중지할 수 없습니다.
페이로드:
{
 "orgId": "{{bc-org-id}}",
 "userId": "{{bc-user-id}}",
 "endorsers": {{endorsers}}
}
매개변수:
  • orgId: string – 현재 조직에 있는 사용자의 멤버쉽 서비스 공급자(MSP) ID입니다.
  • userId: string – 사용자의 사용자 이름 또는 전자 메일 ID입니다.
반환값:
  • 성공 시 토큰 계정 상태의 JSON 표현입니다.
반환 값 예제:
{
    "assetType": "oaccountStatus",
    "statusId": "oaccountStatus~5a0b0d8b1c6433af9fedfe0d9e6580e7cf6b6bb62a0de6267aaf79f79d5e96d7",
    "accountId": "oaccount~1c568151c4acbcd1bd265c766c677145760a61c47fc8a3ba681a4cfbe287f9c1",
    "status": "suspended"
}
updateBondToken
원래 메소드 이름: updateBondToken
이 POST 메소드는 토큰을 업데이트합니다. 정의된 모든 토큰에는 고유한 업데이트 방법이 있습니다. 토큰 메타데이터 또는 사용할 수 없는 토큰의 토큰 URI를 업데이트할 수 없습니다. 이 메소드는 토큰 소유자만 호출할 수 있습니다.
페이로드:
{
 "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
}
매개변수:
  • tokenAsset: <Token Class> – 토큰 자산입니다. 자산의 속성은 모델 파일에서 정의됩니다.
반환값:
  • 성공 시 JSON 형식의 업데이트된 토큰 자산입니다.
반환 값 예(전체 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
원래 메소드 이름: URI
이 메소드는 지정된 토큰의 URI를 반환합니다.
질의:
/URI?tokenId={{bc-token-id}}
매개변수:
  • tokenId: string – 토큰의 ID입니다.
반환 값 예:
{
    "tokenUri": "example.com"
}
다음 표에서는 체인코드 API 이름과 업데이트된 끝점 간의 매핑을 보여줍니다. 체인코드 API에 대한 자세한 내용은 Oracle Blockchain Platform용 블록체인 앱 빌더스카폴드된 TypeScript 토큰 프로젝트를 참조하십시오.
업데이트된 끝점 TypeScript 체인코드 API 이름 체인코드 API 이름 이동 메소드 유형
activateAccount activateAccount ActivateAccount 고유 ERC-1155 방법
addAdmin addAdmin AddAdmin 고유 ERC-1155 방법
addRole addRole AddRole 고유 ERC-1155 방법
approveBondRedemption approveTokenRedemption ApproveTokenRedemption 수정
balanceOfBatch balanceOfBatch BalanceOfBatch 고유 ERC-1155 방법
batchTransferFrom batchTransferFrom BatchTransferFrom 고유 ERC-1155 방법
burnBatch burnBatch BurnBatch 고유 ERC-1155 방법
createAccount createAccount CreateAccount 고유 ERC-1155 방법
createAccountWithEnrollment createAccountWithEnrollment CreateAccountWithEnrollment 추가
createBondToken createBondToken CreateBondToken 고유 ERC-1155 방법
createIDCSUser createIDCSUser CreateIDCSUser 추가
createTokenAccount createTokenAccount CreateTokenAccount 고유 ERC-1155 방법
createUserAccount createUserAccount CreateUserAccount 고유 ERC-1155 방법
deleteAccount deleteAccount DeleteAccount 고유 ERC-1155 방법
getAccount getAccount GetAccount 고유 ERC-1155 방법
getAccountBondSummary getAccountBondSummary GetAccountBondSummary 채권 마켓플레이스 방법
getAccountBondSummaryWithPagination getAccountBondSummaryWithPagination GetAccountBondSummaryWithPagination 채권 마켓플레이스 방법
getAccountDetailsByUser getAccountDetailsByUser GetAccountDetailsByUser 고유 ERC-1155 방법
getAccountStatus getAccountStatus GetAccountStatus 고유 ERC-1155 방법
getAccountStatusHistory getAccountStatusHistory GetAccountStatusHistory 고유 ERC-1155 방법
getAccountTransactionHistory getAccountTransactionHistory GetAccountTransactionHistory 고유 ERC-1155 방법
getAccountsByRole getAccountsByRole GetAccountsByRole 고유 ERC-1155 방법
getAllAccounts getAllAccounts GetAllAccounts 고유 ERC-1155 방법
getAllTokenAdmins getAllTokenAdmins GetAllTokenAdmins 고유 ERC-1155 방법
getAllTokens getAllTokens GetAllTokens 고유 ERC-1155 방법
getAllTokensByUser getAllTokensByUser GetAllTokensByUser 고유 ERC-1155 방법
getAllTokensWithFilters getAllTokensWithFilters GetAllTokensWithFilters 채권 마켓플레이스 방법
getTokenApprovalRequestByUser getTokenApprovalRequestByUser GetTokenApprovalRequestByUser 채권 마켓플레이스 방법
getTokenApprovalRequestForUserByStatus getTokenApprovalRequestForUserByStatus GetTokenApprovalRequestForUserByStatus 채권 마켓플레이스 방법
getTokenById getTokenById GetTokenById 고유 ERC-1155 방법
getTokenHistory getTokenHistory GetTokenHistory 고유 ERC-1155 방법
getUsersByRole getUsersByRole GetUsersByRole 고유 ERC-1155 방법
init init Init 고유 ERC-1155 방법
isInRole isInRole IsInRole 고유 ERC-1155 방법
isTokenAdmin isTokenAdmin IsTokenAdmin 고유 ERC-1155 방법
mintBatch mintBatch MintBatch 고유 ERC-1155 방법
ownerOf ownerOf OwnerOf 고유 ERC-1155 방법
payInterest payInterest PayInterest 수정
postBondToken postToken PostToken 채권 마켓플레이스 방법
purchaseBondToken purchaseToken PurchaseToken 수정
rejectBondRedemption rejectTokenRedemption RejectTokenRedemption 채권 마켓플레이스 방법
removeRole removeRole RemoveRole 고유 ERC-1155 방법
removeTokenAdmin removeTokenAdmin RemoveTokenAdmin 고유 ERC-1155 방법
requestBondRedemption requestTokenRedemption RequestTokenRedemption 채권 마켓플레이스 방법
safeBatchTransferFrom safeBatchTransferFrom SafeBatchTransferFrom 고유 ERC-1155 방법
suspendAccount suspendAccount SuspendAccount 고유 ERC-1155 방법
updateBondToken updateBondToken UpdateBondToken 고유 ERC-1155 방법
URI URI URI 고유 ERC-1155 방법