Documentation Index
Fetch the complete documentation index at: https://docs.stablenet.network/llms.txt
Use this file to discover all available pages before exploring further.
StableNet은 go-ethereum 핵심(EVM, StateDB, TxPool)을 유지하고, 그 위에 Anzeon WBFT 합의와 다섯 개의 거버넌스 시스템 컨트랙트를 추가했습니다.
트랜잭션 흐름
eth_sendRawTransaction을 호출하면, 트랜잭션은 최종 확정되기까지 네 단계를 거칩니다:
1. 제출 및 풀 유효성 검사
트랜잭션 풀(txpool)은 수락 전에 모든 수신 트랜잭션을 검증합니다:
- 수수료 필드가 올바른 형식 (
maxFeePerGas≥maxPriorityFeePerGas) - 논스가 발신자의 현재 온체인 논스와 일치 (또는 대기 중)
- 타입
0x16의 경우, 발신자와 수수료 지불자 서명이 모두 존재 - 가스 팁이 GovValidator 적용 최솟값을 충족
2. 블록 구성
마이너 워커가 다음 블록에 포함될 pending 트랜잭션을 선택합니다. 선택 기준:- 블록 헤더의
baseFee GovValidator의 거버넌스 가스 팁
3. EVM 실행 및 상태 전환
각 트랜잭션은StateDB 스냅샷에 적용됩니다:
- 발신자 잔액에서
gasLimit × gasPrice차감 - EVM이 트랜잭션 실행
- 스토리지 및 잔액 변경이 저널에 기록
- 성공 시: 상태 변경 커밋; 미사용 가스 납부자에게 환불
- revert 시: 실행 전 스냅샷으로 롤백; 가스는 여전히 소비됨
4. 블록 최종 확정
StableNet은 Anzeon WBFT 합의를 사용합니다. 블록은 PREPARE → COMMIT → FINALIZATION 단계를 거칩니다. 블록이 밸리데이터 쿼럼에 의해 커밋되면 최종 확정 — 정상 운영 중에는 재편성이 발생하지 않습니다.상태 모델
StableNet의 모든 계정은 다섯 개의 필드를 가집니다:| 필드 | 설명 |
|---|---|
nonce | 트랜잭션 수 |
balance | wei 단위 WKRC 잔액 (WKRC.balanceOf()와 동일한 값) |
codeHash | 컨트랙트 바이트코드 해시 (EOA는 0) |
storageRoot | 계정 스토리지 트라이의 루트 |
extra | StableNet 정책 플래그 (블랙리스트, 인증됨) |
개발자 이점
- 1초 확정: 여러 확인을 기다릴 필요가 없습니다. 블록 1개 = 최종 확정.
- 수수료 지불자는 보이지 않음: 타입
0x16트랜잭션에서tx.origin은 항상 발신자입니다. 컨트랙트는 수수료 위임이 사용됐는지 감지할 수 없습니다. - WKRC 가스 = WKRC 잔액: 가스 납부에 사용되는 동일한 토큰 잔액이 ERC-20 잔액입니다. WKRC를 가스용과 전송용으로 분리할 필요가 없습니다.
- 논스 관리: pending 트랜잭션이 이후 논스를 차단합니다. 트랜잭션이 멈추면 같은 주소의 이후 트랜잭션도 대기합니다.
개발자 이점
- 단일 블록 최종성으로 대부분의 사용 사례에서 확인 폴링이 필요 없음
- 표준 이더리움 툴링 (ethers.js, viem, Hardhat, Foundry)이 수정 없이 동작
balanceOf()와 가스 잔액이 항상 동기화 — 별도의 토큰 브릿징 불필요
관련 문서
- StableNet이란? — 고수준 개요
- 가스 및 수수료 — 수수료 계산 상세
- 트랜잭션 타입 — 타입 0x02와 0x16

