Robinhood Chain 주식 토큰: 하나의 API key로 승수, 보유자 및 일별 활동 조회하기
Robinhood Chain 주식 토큰 승수를 이해하고, 잔액을 주식 수로 환산하며, eth_call을 통해 uiMultiplier를 읽고, Data API를 통해 보유자 및 일별 활동을 추적하세요.
데이터는 공개된 온체인 기록 및 스마트 컨트랙트 상태에서 파생되며 정보 제공 목적으로만 사용됩니다. 투자 조언에 해당하지 않습니다. 주식 토큰에는 관할권 제한이 적용됩니다.
Robinhood Chain은 토큰화된 미국 주식 및 상장지수펀드(ETF)를 포함한 토큰화된 실물 자산(RWA)을 지원합니다. 표준 ERC-20 토큰은 잔액을 1:1로 매핑하지만, 토큰화된 주식은 지갑 잔액을 변경하지 않고 주식 분할 및 배당 조정을 반영하기 위해 기업 활동 승수(multiplier)를 도입합니다.
이 가이드에서는 주식 토큰 승수의 작동 방식, 원시 토큰 잔액을 기초 주식 수로 환산하는 방법, JSON-RPC eth_call을 사용하여 온체인에서 uiMultiplier를 쿼리하는 방법, BlockVectra Data API를 통해 일일 보유자 및 전송 활동을 검색하는 방법을 설명합니다.
광범위한 네트워크 파라미터, 메서드 정책 및 RPC 설정은 Robinhood Chain 가이드를 참조하세요. 데이터셋에 대한 포괄적인 필드 레퍼런스 및 Compute Unit(CU) 사용 모델은 토큰화 주식 가이드를 참조하세요.
주식 토큰 승수란 무엇인가
Robinhood 주식 토큰은 Robinhood Assets (Jersey) Limited(RHJ)에서 발행한 표준 ERC-20 토큰(소수점 18자리)입니다. 주식 분할 및 재투자 배당과 같은 기업 활동을 처리하기 위해 이러한 컨트랙트는 **ERC-8056 (Scaled UI Amount Extension)**을 구현합니다.
승수(uiMultiplier)는 shares-per-token(토큰당 주식 수) 비율을 정의합니다:
- 정밀도:
uiMultiplier()는 18자리 고정 소수점으로 표시되며,1e18은1.0과 같습니다. - 초기값: 토큰 발행 시 승수는
1e18로 초기화됩니다(1개 토큰이 1개의 기초 주식을 나타냄). - 기업 활동: 기업 활동(예: 액면분할 또는 배당 재투자)이 발생하면 토큰 컨트랙트는
uiMultiplier를 업데이트하고UIMultiplierUpdated(uint256 oldMultiplier, uint256 newMultiplier, uint256 effectiveAtTimestamp)이벤트를 발생시킵니다.
분할 시 고정된 토큰 잔액
주식 토큰은 리베이싱(rebasing) 토큰이 아닙니다. 기업 활동이 진행되는 동안:
- 지갑 잔액(
balanceOf(account))과 총 토큰 발행량(totalSupply())은 변경되지 않고 유지됩니다. - 스케일링 승수만 변경됩니다.
예를 들어 기초 주식이 2대 1 액면분할을 실행하는 경우:
- 10개 토큰을 소유한 보유자는
balanceOf에서 계속 10개 토큰을 보유합니다. - 컨트랙트는
uiMultiplier를1.0(1e18)에서2.0(2e18)으로 업데이트합니다. - 이제 각 토큰은 2개의 기초 주식을 나타내므로 보유자는 20주의 실질적인 익스포저를 갖게 됩니다.
잔액을 주식 수로 환산하기
토큰 잔액이 나타내는 기초 주식 수를 계산하려면 ERC-8056 공식을 사용하세요:
underlying shares = raw token amount × uiMultiplier ÷ 1e18ERC-8056 토큰 컨트랙트는 온체인에서 읽기 전용 헬퍼 함수도 노출합니다:
balanceOfUI(address account): 기초 주식 수로 표시된 계정 잔액을 직접 반환합니다(uiMultiplier로 조정됨, 18자리 소수점).totalSupplyUI(): 기초 주식 수로 표시된 총 토큰 공급량을 직접 반환합니다.
또한 토큰 전송 시 TransferWithScaledUI(address indexed from, address indexed to, uint256 value, uint256 uiValue) 이벤트가 발생하여 원시 토큰 수량과 스케일링된 기초 주식 수를 모두 기록합니다.
승수 및 오라클 가격 피드
Robinhood Chain은 각 주식 토큰에 대해 전용 Chainlink 가격 피드(AggregatorV3Interface)를 배포합니다:
- Chainlink 가격 피드(
latestRoundData())에는 이미 승수가 반영되어 있습니다. 이는 1개 토큰의 전체 시장 가격(기초 주식 가격에 승수를 곱한 값)을 반영합니다. - 온체인 Chainlink 오라클을 읽는 애플리케이션은 승수가 조정된 가격을 직접 수신하므로 승수를 두 번 적용해서는 안 됩니다.
- 오프체인 메타데이터는
currentMultiplier및pendingMultiplier를 제공하는 Robinhood의 REST 엔드포인트GET https://api.robinhood.com/rhj/assets를 통해 확인할 수도 있습니다.
JSON-RPC eth_call로 승수 읽기
eth_call을 사용하여 Robinhood Chain에 대한 BlockVectra의 JSON-RPC 엔드포인트를 통해 토큰화된 모든 주식의 승수를 직접 검사할 수 있습니다.
- 함수:
uiMultiplier() - 4바이트 함수 선택자:
0xa60bf13d(bytes4(keccak256("uiMultiplier()"))) - 반환 형식: 32바이트 16진수 인코딩된
uint256(18자리 고정 소수점 값)
BlockVectra는 https://api.blockvectra.com/v1/robinhood_mainnet에서 Robinhood Chain JSON-RPC 요청을 처리합니다. x-api-key 헤더를 통해 API key를 전달하거나 경로에 추가하세요(https://api.blockvectra.com/v1/robinhood_mainnet/{api_key}).
코드 예제
아래 예제는 Everpure 주식 토큰 컨트랙트(0x1Cdad396DB64BDa184d5182A97Dd9B3C62100b7D)에서 uiMultiplier()를 쿼리합니다:
curl -s "https://api.blockvectra.com/v1/robinhood_mainnet" \
-H "Content-Type: application/json" \
-H "x-api-key: $BLOCKVECTRA_API_KEY" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "eth_call",
"params": [
{
"to": "0x1Cdad396DB64BDa184d5182A97Dd9B3C62100b7D",
"data": "0xa60bf13d"
},
"latest"
]
}'Data API로 보유자 및 일별 활동 조회하기
BlockVectra Data API는 토큰화된 주식에 대해 사전 인덱싱된 일일 요약을 제공합니다. 일일 활동 리더보드에는 GET /v1/data/robinhood_mainnet/stocks를 사용하고, 한 토큰의 메타데이터와 최대 30일간의 일일 지표에는 GET /v1/data/robinhood_mainnet/stocks/{token}을 사용하세요. 요청 파라미터, 응답 필드 및 예제는 토큰화 주식 가이드를 참조하세요.
규제 관련 참고 사항
주식 토큰은 Robinhood Assets (Jersey) Limited(RHJ)에서 발행한 토큰화된 부채 증권입니다. 투자 설명서, 최종 조건 및 관할권 고지는 Robinhood RHJ 문서를 참조하세요.
다음 단계
- 데이터셋 디렉터리 둘러보기: BlockVectra가 인덱싱하는 모든 데이터셋 확인.
- 무료 플랜 및 요금 확인: 내 계정에 포함된 혜택 확인.
- 콘솔 로그인: API key 생성.
최종 수정일: