쿼리 및 돌연변이
8

엔진 아이덴티티

대부분의 쿼리 및 돌연변이에는 인데티언티티 ID가 필요합니다. 이 쿼리를 사용하여 ID ID를 잡을 수 있습니다.

그래프QL
query GetIdentities($page: Int) {
 EnjinIdentities(pagination: {page: $page, limit: 50}) {
   id
   linkingCode
   linkingCodeQr
   wallet {
     ethAddress
   }
 }
}

이 쿼리를 사용하면 다음과 같은 추가 통합에 도움이 되는 다양한 정보를 반환해야 합니다.

  • 앱 ID입니다.
  • 연결 코드입니다.
  • 코드 QR 연결(이 기능은 링크 코드 QR의 URL을 새 탭에서 복사하고 Enjin Wallet을 검색하여 ID ID를 연결할 수 있습니다).
  • ID ID와 연결된 지갑 주소입니다.

연결 코드 확인

이 쿼리를 수행하여 언제든지 사용자의 연결 코드를 확인할 수도 있습니다.

그래프QL
query GetIdentityLinkingCode($id: Int!) {
 EnjinIdentities(id: $id) {
   linkingCode
   linkingCodeQr
   wallet {
     ethAddress
   }
 }
}

지갑 연결 해제

때때로 사용자는 "연결된 앱" 섹션으로 이동하여 프로젝트를 탭하고 3점 메뉴를 탭하고 "삭제"를 선택하여 Enjin Wallet을 통해 이 작업을 수행할 수 있는 지갑을 변경할 수 있습니다.
또한 끝에서 이 작업을 시작할 수도 있습니다.

다음 쿼리는 지갑의 연결을 해제하고 다시 연결하거나 새 쿼리를 연결할 수 있도록 합니다.

그래프QL
mutation UnlinkWalletAddress($id: Int!) {
 DeleteEnjinIdentity(id: $id, unlink: true) {
   linkingCode
   linkingCodeQr
 }
}

지갑에서 토큰 보기

플레이어가 로그인하고 연결되면 가장 먼저 해야 할 일은 인벤토리를 참조하여 토큰에 맞게 게임 아이템을 제공할 수 있습니다.

데이터베이스에서 사용자의 잔액을 업데이트하는 것이 좋습니다. 이렇게 하면 프로젝트 나 게임이 보유하고있는 데이터에서 효율적으로 실행할 수 있습니다.

그래프QL
query getBalance($address: String!) {
 EnjinBalances(ethAddress: $address, value_gt: 0) {
   token {
     id
     index
     name
   }
   value
 }
}

value_gt: 0 인수를 포함하는 것이 중요합니다. 사용자가 파괴 /용융하기로 결정했음에도 불구하고 기술적으로 는 블록 체인 주소 내에 존재합니다.

지갑에서 특정 토큰 보기

토큰으로 특정 작업을 수행하려는 경우 이 작업을 사용하여 토큰이 여전히 있는지 여부를 확인할 수 있습니다.

그래프QL
query GetWalletTokenBalance($address: String!, $tokenId: String) {
 EnjinBalances(ethAddress: $address, tokenId: $tokenId, value_gt: 0) {
   token {
     id
     index
     name
   }
   value
 }
}

이 쿼리에는 해당 토큰의 토큰 인덱스와 잔액이 표시됩니다.

쿼리에 필드를 추가하여 tokenId 및 ID에 대한 데이터를 요청할 수도 있습니다.

ENJ 밸런스 보기

지갑에 있는 사용자의 엔진코인(ENJ)의 양을 볼 수 있습니다. 특정 거래 및 요청을 승인하기에 충분한 Enjin Coin이 있는지 알아야 하는 경우 유용할 수 있습니다.
다음 쿼리를 사용하여 ENJ 잔액을 검색할 수 있습니다.

그래프QL
query GetWalletBalance($id: Int!) {
 EnjinUsers(id: $id) {
   identities {
     wallet {
       ethAddress
       enjBalance
     }
   }
 }
}

사용자 ID 또는 ID ID를 모르는 경우 다음 쿼리를 사용하여 대신 에스리움 주소로 동일한 결과를 검색할 수 있습니다.

그래프QL
query GetWalletBalanceByAddress($address: String!) {
 EnjinWallet(ethAddress: $address) {
   enjBalance
   ethBalance
 }
}

토큰 세부 정보

사용자에게 특정 토큰에 대한 자세한 정보를 제공하려는 경우 이 쿼리를 사용하여 데이터를 조회할 수 있습니다.

그래프QL
query GetTokenDetails($name: String!) {
 EnjinTokens(name: $name, pagination: {page: 1, limit: 50}) {
   id
   name
   creator
   meltValue
   meltFeeRatio
   meltFeeMaxRatio
   supplyModel
   totalSupply
   circulatingSupply
   reserve
   transferable
   nonFungible
   blockHeight
   markedForDelete
   createdAt
   updatedAt
   availableToMint
   itemURI
 }
}

토큰 홀더

이 쿼리는 특정 토큰을 소유한 주소 목록을 반환합니다.

그래프QL
query GetBalance($tokenId: String!) {
 EnjinBalances(tokenId: $tokenId) {
   token {
     id
     index
   }
   wallet {
     ethAddress
   }
   value
 }
}

조정된 공중 투하를 통해 특정 토큰의 모든 소유자에게 보상하는 데 유용할 수 있습니다.

트랜잭션 데이터

보내기 돌연변이를 발행할 때마다 ID가 반환됩니다. 이 ID는 매우 중요하며 나중에 다시 액세스할 수 있도록 이 데이터를 기록하는 것이 좋습니다.

블록 체인에서 수행 한 모든 트랜잭션의 상태를 보려면이 쿼리를 사용해야합니다.

그래프QL
query GetTransaction($id: Int!) {
 EnjinTransactions(id: $id) {
   id
   transactionId
   type
   state
   error
   token {
     id
     name
   }
 }
}

Enjin 트랜잭션 쿼리는 실행한 트랜잭션 상태에 따라 다양한 정보를 반환합니다.
쿼리 내에서 오류 인수를 추가했습니다. 오류 인수는 거래가 특정 이유로 실패 / 삭제 된 경우, 이것은 문제의 거래가 블록 체인에서 처리되지 않은 이유를 표시하는 데 유용합니다.

이 쿼리는 다음 값을 반환합니다.

  • 보류 중: 트랜잭션은 Enjiin 클라우드에서 만들어지지만 사용자/개발자가 아직 서명하지 않았습니다.
  • TP_PROCESSING: 트랜잭션이 서명되어 Enjin Cloud/Platform)이 브로드캐스트를 위한 트랜잭션을 처리할 때까지 기다리고 있습니다.
  • 방송: 거래가 체결되어 방송되었지만 아직 블록 체인에서 확인되지 않았습니다.
  • 실행중: 이 거래는 블록체인과 엔진클라우드에 대한 확인을 받았습니다.
  • CANCELED_USER: 사용자가 보류 중인 트랜잭션을 취소했습니다/ 서명되지 않았습니다.
  • CANCELED_PLATFORM: 플랫폼이 보류 중인 트랜잭션을 취소했습니다.
  • 실패: 엔지인 플랫폼에서 트랜잭션이 실패했습니다.
  • 삭제: 거래는 블록 체인에서 채굴되지 않았으며 이후 삭제되었습니다.

지출 수당 설정

프로젝트의 보안을 강화하고 자신에 대한 지출 한도를 설정하거나 플레이어가 자신의 지출 한도를 선택할 수 있도록 하려면 이 돌연변이를 사용하여 지출 수당을 설정할 수 있습니다.

그래프QL
mutation ApproveEnj($id: String!, $limit: Int!) {
 CreateEnjinRequest(identity_id: $id, type: APPROVE, approve_enj_data: {value: $limit}) {
   id
 }
}

최대 값의 값을 -1로 설정합니다.

참고: 이 값은 리터럴 지출 수당과 같이 사용으로 감소합니다. 값을 ENJ(ENJ)를 10개로 설정한 다음 ENJ 1개에 대해 10건의 거래를 하면 수당이 0으로 내려가다시 설정해야 합니다.

무역 요청

안전한 피어 투 피어 거래를 시동하는 것은 3단계 프로세스입니다. 이 작동 방식은 첫째, 무역이 만들어져야하며, 각 품목은 에스크로에서 개최되어야하며, 양 당사자가 항목을 확인하면 거래를 완료 할 수 있습니다.

1단계: 거래 요청을 만들고 1 인의 지갑으로 확인하십시오.

그래프QL
mutation SendTradeRequest($initiatorId: Int!, $recipientId: Int!) {
 CreateEnjinRequest(identity_id: $initiatorId, type: CREATE_TRADE, create_trade_data: {asking_tokens: [{id: "XXXXXXXXXXXXXXXXX", value: 1}], offering_tokens: [{id: "XXXXXXXXXXXXXXXXX", value: 1}], second_party_identity_id: $recipientId}) {
   id
   encodedData
   state
 }
}

엔진코인(ENJ)에 대한 "0" 인수라는 ID를 사용합니다.

2단계: trade_id 가져옵니다 - param1.

그래프QL
query RetrieveTradeId($id: Int!) {
 EnjinTransactions(id: $id) {
   type
   transactionId
   events {
     param1
   }
 }
}

3단계: 거래 요청을 완료합니다. trade_id, 2인 identity_id 2인 지갑으로 파라m1을 입력합니다.

그래프QL
mutation CompleteTradeRequest($id: Int!, $tradeId: String!) {
 CreateEnjinRequest(identity_id: $id, type: COMPLETE_TRADE, complete_trade_data: {trade_id: $tradeId}) {
   id
   transactionId
   encodedData
 }
}

자산 이전 상태 변경

때때로 토큰을 영구적으로 양도하거나임시 양도하거나 주소로 바인딩할 지 여부에 관계없이 특정 값을 부여하도록 만든 토큰의 전송 상태를 변경할 수 있습니다.

참고: 토큰을 영구적으로 양도할 수 있도록 설정한 경우 해당 설정을 변경할 수 없습니다.

그래프QL
mutation ChangeAssetTransferableType($appId: Int!, $identityId: Int!, $tokenId: String!, $transferable: TokenTransferable!) {
 CreateEnjinRequest(appId: $appId, identityId: $identityId, type: SET_TRANSFERABLE, set_transferable_data: {token_id: $tokenId, transferable: $transferable}) {
   id
   encodedData
 }
}

블록체인 탐색기

플레이어는 본질적으로 자신의 자산 뒤에 있는 블록 체인 데이터에 관심이 있습니다.

사용자를 특정 토큰의 EnjinX 목록에 연결하려면 토큰 ID를 URL 끝에 추가할 수 있습니다. 이를 통해 토큰에 대해 할 수 있는 모든 것을 배울 수 있습니다.

예제:
https://enjinx.io/eth/asset/0x(id)000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000(index)

이전
다음
이 페이지에서