Stable의 컨트랙트
Stable은 EVM과 완벽하게 호환됩니다. Solidity, Vyper, Hardhat, Foundry, ethers.js 및 viem은 변경 없이 작동합니다. 툴링을 Stable의 RPC로 지정하면 기존 컨트랙트가 그대로 배포됩니다. 표준 EVM 외에도 Stable은 프로토콜 수준 모듈(Bank, Distribution, Staking)을 고정 주소의 프리컴파일된 컨트랙트로 노출하므로 Solidity가 스테이킹 및 보상 분배를 다시 구현할 필요 없이 호출할 수 있습니다.
만들 수 있는 것
- 모든 EVM 툴체인을 사용한 표준 애플리케이션 컨트랙트(ERC-20, ERC-721, 에스크로, AMM).
- ethers.js를 통해 라이브 이벤트 스트림으로 Stablescan에서 검증되고 인덱싱된 컨트랙트.
- Solidity에서 Bank/Distribution/Staking 프리컴파일을 호출하는 프로토콜 통합 컨트랙트.
- 표준
eth_getLogs를 통해 프로토콜에서 방출된 이벤트(예: 언본딩 완료)를 감시하는 시스템 트랜잭션 리스너.
Stable의 차이점
- USDT0은 가스 토큰입니다.
maxPriorityFeePerGas는0이어야 합니다. 기본 전송의value필드는 ETH가 아닌 USDT0을 전달합니다. 가스로 USDT0 작업을 참조하세요. - USDT0은 이중 역할을 합니다. 기본 USDT0을 보유하는 컨트랙트는 ERC-20
transferFrom또는permit에 의해 잔액이 변경될 수 있습니다.uint256에 기본 잔액을 미러링하지 마십시오. Stable의 USDT0 동작을 참조하십시오. - 프리컴파일 주소는 테스트넷 및 메인넷에서 고정됩니다. 이를 상수로서 컨트랙트에 고정하십시오.
시작하기
- 배포: Foundry를 스캐폴드하고 Stable을 구성한 다음 Counter를 배포합니다.
- 확인:
forge verify-contract를 사용하여 Stablescan에 소스를 업로드합니다. - 인덱스: ethers.js로 이벤트에 구독하고 기록 로그를 백필합니다.
다음 권장 사항
- 컨트랙트 가이드 인덱스: 컨트랙트 가이드, 프리컴파일 참조 및 시스템 모듈 ABI의 전체 목록입니다.
- 시스템 모듈 사용: Solidity 및 ethers.js에서 Bank/Distribution/Staking을 호출합니다.
- JSON-RPC 참조: Stable이 지원하는
eth_*및debug_*메서드입니다.

