StableNet은 제네시스 블록에 5개의 거버넌스 시스템 컨트랙트를 고정 주소에 배포합니다. 이 페이지는 StableNet 위에서 개발할 때 필요한 모든 컨트랙트를 정리합니다.
시스템 컨트랙트
이 컨트랙트들은 제네시스에서 배포되며, 소유자가 없고, 하드 포크를 통해서만 업그레이드할 수 있습니다.
| 컨트랙트 | 주소 | 역할 |
|---|
| NativeCoinAdapter | 0x0000…1000 | 네이티브 코인(WKRC)의 ERC-20 래퍼. Mint/burn 진입점. |
| GovValidator | 0x0000…1001 | 밸리데이터 셋 관리, BLS 키 등록, 거버넌스 가스 팁. |
| GovMasterMinter | 0x0000…1002 | 승인된 민터 레지스트리 및 글로벌 민트 한도. |
| GovMinter | 0x0000…1003 | 증명 기반 mint/burn 제안의 생성, 투표, 실행. |
| GovCouncil | 0x0000…1004 | 블랙리스트 및 Authorized 계정 관리. |
5개 컨트랙트 모두 버전 v1입니다. 바이트코드는 노드 바이너리에 내장되어 있으며 제네시스 블록 생성 시 InjectContracts를 통해 배포됩니다.
NativeCoinAdapter (WKRC)
0x0000000000000000000000000000000000001000
NativeCoinAdapter는 체인의 네이티브 코인을 표준 ERC-20 인터페이스(FiatTokenV2_2 호환)로 감쌉니다. 자체 스토리지에 잔액을 저장하지 않으며 — balanceOf(address)는 계정의 네이티브 잔액을 직접 읽습니다.
| 속성 | 값 |
|---|
| 토큰 이름 | WKRC |
| 심볼 | WKRC |
| 소수점 | 18 |
| 통화 페그 | KRW (한국 원) |
| 표준 | ERC-20, FiatTokenV2_2 |
주요 동작:
- 전송은 네이티브 잔액을 직접 변경합니다 (이중 기록 없음).
- Allowance만 컨트랙트 자체 스토리지에 저장됩니다.
- 민팅과 소각은 GovMasterMinter / GovMinter가 승인한 주소만 가능합니다.
- 완전한 인덱싱을 위해
Transfer, Approval, Mint, Burn 이벤트를 발생시킵니다.
WKRC 메커니즘에 대한 자세한 내용은 WKRC: KRW 페깅 네이티브 가스 토큰을 참조하세요.
거버넌스 컨트랙트
GovValidator
0x0000000000000000000000000000000000001001
활성 밸리데이터 셋과 거버넌스 가스 팁(gasTip)을 관리합니다. 밸리데이터는 운영자 주소, 합의 주소, BLS 공개키로 등록됩니다. 밸리데이터 셋 변경은 에포크 경계에서 적용됩니다.
GovMasterMinter
0x0000000000000000000000000000000000001002
승인된 민터 목록과 글로벌 최대 민트 한도를 관리합니다. 여기에 등록된 민터만 NativeCoinAdapter의 mint()를 호출할 수 있습니다.
GovMinter
0x0000000000000000000000000000000000001003
WKRC 민팅/소각 제안의 전체 라이프사이클을 처리합니다. 증명 데이터와 함께 제안이 생성되고, 거버넌스 멤버가 투표하며, 정족수에 도달하면 실행됩니다.
GovCouncil
0x0000000000000000000000000000000000001004
계정의 Extra 필드에 저장되는 두 가지 계정 플래그 셋을 관리합니다:
| 플래그 | 비트마스크 | 효과 |
|---|
| 블랙리스트 | 0x8000000000000000 | 모든 전송 차단 |
| Authorized | 0x4000000000000000 | 거버넌스 가스 팁 적용 면제 |
공통 EVM 컨트랙트
표준 EVM 프리컴파일 컨트랙트가 정규 주소에서 사용 가능합니다. Hardhat, Foundry, Multicall3 등의 도구를 사용한다면 별도 설정 없이 그대로 동작합니다.
| 컨트랙트 | 주소 |
|---|
| ecRecover | 0x0000000000000000000000000000000000000001 |
| SHA-256 | 0x0000000000000000000000000000000000000002 |
| RIPEMD-160 | 0x0000000000000000000000000000000000000003 |
| Identity | 0x0000000000000000000000000000000000000004 |
| ModExp (EIP-198) | 0x0000000000000000000000000000000000000005 |
| ecAdd (EIP-196) | 0x0000000000000000000000000000000000000006 |
| ecMul (EIP-196) | 0x0000000000000000000000000000000000000007 |
| ecPairing (EIP-197) | 0x0000000000000000000000000000000000000008 |
| Blake2f (EIP-152) | 0x0000000000000000000000000000000000000009 |
전체 EVM 옵코드 및 프리컴파일 호환성 상세는 EVM 호환성을 참조하세요.
네트워크 레퍼런스
| 네트워크 | Chain ID | Explorer |
|---|
| 메인넷 | 8282 | explorer.stablenet.network |
| 테스트넷 | 8283 | — |
시스템 컨트랙트는 모든 StableNet 네트워크에서 동일한 제네시스 고정 주소에 배포됩니다.