Skip to content

인덱싱 레이어 ​

CloudBank은 Goldsky에서 호스팅되는 The Graph 프로토콜을 사용하여 온체인 이벤트를 쿼리 가능한 GraphQL API로 인덱싱합니다. 하위 그래프는 원시 블록체인 이벤트를 프런트엔드 소비에 최적화된 구조화된 엔터티로 변환합니다.

Overview ​

하위 그래프는 AssemblyScript(WebAssembly로 컴파일되는 TypeScript과 유사한 언어)로 작성되고 Goldsky의 호스팅 인덱싱 서비스에 배포됩니다. 현재 배포 대상은 BSC 채플(BNB 스마트체인 테스트넷)입니다.

데이터 소스 ​

하위 그래프는 직접 데이터 소스와 템플릿으로 구성된 여러 계약 유형의 이벤트를 추적합니다.

직접 데이터 소스 ​

알려진 고정 주소에 배포된 계약은 다음과 같습니다.

데이터 소스ContractPurpose
FactoryRegistryFactoryRegistry공장 등록 및 시장 등록 이벤트를 추적합니다.
DCPPFactoryDCPPFactory인덱스 바이너리 시장 생성 이벤트
MultiOutcomeMarketFactoryMultiOutcomeMarketFactory지수 N-결과 시장 창출 이벤트

템플릿 데이터 소스 ​

새 계약이 배포되면 템플릿이 동적으로 인스턴스화됩니다.

TemplateContractTrigger
BinaryCPMMBinaryCPMM각각의 새로운 시장에 대해 DCPPFactory에 의해 생성됨

MarketCreatedWithAMM 이벤트가 감지되면 매핑은 새로운 BinaryCPMM 템플릿 인스턴스를 생성하여 해당 시장의 거래 활동을 인덱싱하기 시작합니다.

엔터티 스키마 ​

하위 그래프는 다음과 같은 핵심 엔터티를 정의합니다.

EntityDescription
시장메타데이터, 보유량, 상태 및 정산 정보가 포함된 예측 시장
거래시장에서 개인이 구매 또는 판매하는 거래
사용자플랫폼과 상호작용한 지갑 주소
UserPosition특정 시장에서 사용자의 현재 보유량(YES/NO 주식, 비용 기준)
MultiOutcomeMarket연결된 결과 슬롯이 있는 N-옵션 시장
AMMMarketMappingBinaryCPMM 주소를 상위 시장 엔터티에 연결합니다.
VolumeStats집계된 거래량 통계(일일, 주간, 전체)

이벤트 핸들러 ​

시장 창출 ​

DCPPFactory의 MarketCreatedWithAMM 이벤트는 다음을 사용하여 새로운 DCPPFactory 엔터티 생성을 트리거합니다.

  • 질문 텍스트, 카테고리, 종료 시간입니다.
  • 초기 YES/NO은 시드 유동성에서 확보됩니다.
  • 제작자 주소 및 지분 금액.
  • 무역 색인을 위한 새로운 BinaryCPMM 템플릿 인스턴스입니다.

무역 색인 ​

각 BinaryCPMM 인스턴스의 거래 이벤트는 BinaryCPMM 개체에 매핑됩니다.

Event거래 유형Description
CollateralSwappedForOutcome구입하다사용자가 담보로 구매한 결과 토큰
OutcomeSoldForCollateral팔다사용자가 결과 토큰을 담보로 다시 판매했습니다.
Swapped팔다토큰 간 스왑(스왑 메타데이터와 함께 판매로 기록됨)

각 거래는 관련 Market 준비금, User 법인의 거래 수, UserPosition 비용 기준 및 주식 잔액을 업데이트합니다.

손익 계산 ​

하위 그래프는 즉석에서 각 사용자 위치에 대한 실현 손익을 계산합니다.

realizedPnL = proceeds - (costBasis * sharesSold / totalShares)
  • costBasis — 포지션 획득에 소요된 누적 담보입니다.
  • sharesSold — 현재 거래에서 처분된 주식 수입니다.
  • totalShares — 거래 전 사용자의 총 주식 잔액입니다.
  • 수익 — 판매를 통해 받은 담보입니다.

이 비례 비용 기반 방법은 서로 다른 가격으로 여러 구매에 걸쳐 포지션이 구축되는 경우에도 정확한 손익 추적을 보장합니다.

IPFS 메타데이터 ​

시장 메타데이터(자세한 설명, 카테고리 태그, 해결 소스)는 IPFS에 저장되고 시장 생성 이벤트에서 CID에 의해 참조됩니다. 하위 그래프는 인덱싱 중에 이 메타데이터를 가져와서 다음을 추출합니다.

  • 카테고리 — 프런트엔드 필터링(스포츠, 암호화폐, 정치 등)에 사용됩니다.
  • 하위 카테고리 — 각 카테고리 내에서 더욱 세분화된 분류입니다.
  • 이미지 URL — UI에 있는 시장 카드의 썸네일입니다.

IPFS 가져오기는 일시적인 게이트웨이 오류에 대한 재시도 로직이 포함된 The Graph의 내장 IPFS 데이터 소스 기능을 통해 처리됩니다.

네트워크 구성 ​

ParameterValue
NetworkBSC 채플(테스트넷, 체인 ID 97)
블록 시작배포 블록을 기반으로 데이터 소스별로 구성
HostingGoldsky 매니지드 서비스
쿼리 끝점배포 후 Goldsky에서 제공

하위 그래프는 개발 및 스테이징 환경을 위한 별도의 배포와 함께 CI/CD 파이프라인의 일부로 Goldsky CLI을 통해 배포됩니다.