Release Date: January 29, 2026
Version: v1.0.0
Network: Testnet
Overview
This is the first official testnet release of StableNet, a stable-coin native blockchain built on top of a customized Ethereum client. This release introduces a comprehensive set of features designed for stable-coin operations, governance-based management, and enhanced transaction handling.
Key Highlights
- Stable Coin as Native Gas Token: Native coin operations with ERC20-compliant
NativeCoinAdapter - Governance System: Multi-contract governance for validators, minting, and account management
- Transaction Prioritization: Authorized accounts receive priority transaction processing
- Blacklist Enforcement: Protocol-level blacklist for compliance and security
- WBFT Consensus: WEMIX Byzantine Fault Tolerant consensus with validator governance
- EIP-7702 Support: Set Code Transaction for account abstraction capabilities
- Fee Policy: Governance-controlled gas tip with hysteresis-based base fee adjustment
Features
Core Protocol
Native Coin System
-
NativeCoinAdapter (#12, #46): ERC20-compliant native coin management
- Mint, burn, and transfer operations via system contracts
- Transfer events emitted for all native coin movements including transaction fees
- Strict ERC20 compliance without invoking recipient fallback functions
-
NativeCoinManager: Protocol-level control for native coin operations
- Only callable through
NativeCoinAdapter - Supports blacklist and authorization state management
- Only callable through
Fee Policy
- Base Fee Distribution (#45): Base fee revenue distributed to validators proportionally by diligence instead of being burned
- Governance-Based GasTip (#14): Gas tip managed through governance proposals
- Hysteresis Thresholds (#48): Base fee adjustment only when gas usage crosses upper/lower thresholds, preventing unnecessary oscillation
- Anzeon Gas Tip Optimization (#47): Improved performance with StateDB caching and txpool reheap optimization
Transaction Handling
- Transaction Prioritization (#29): Authorized accounts (KYC-verified) receive priority over normal accounts
- Authorized accounts: Fee calculated based on actual
GasTipCap - Normal accounts: Fee capped at governance-defined
HeaderGasTip
- Authorized accounts: Fee calculated based on actual
- EIP-7702 Support (#42): Set Code Transaction enabling EOAs to delegate code execution to smart contracts
Governance System
GovValidator (#9)
- Validator management through governance proposals
- BLS public key management for consensus participation
- Quorum-based decision making with configurable parameters
GovMinter (#23)
- Mint/burn proposal lifecycle management
- Retry mechanism with MAX_RETRY_COUNT enforcement
- DepositId/WithdrawalId tracking for replay protection
- Comprehensive edge case handling with 32 test scenarios
GovMasterMinter
- Minter allowance management
- Hierarchical minting authority control
GovCouncil (#27)
- Blacklist Management: Add/remove blacklisted addresses through governance
- Batch operations supporting up to 50 addresses per proposal
- Complete audit trail with timestamps and reasons
- Authenticated Account Management: Priority-level and category-based organization
- Pagination support for querying large lists
Configurable Parameters
- MAX_ACTIVE_PROPOSALS_PER_MEMBER (#21): Configurable via governance (range: 1-50)
Blacklist Enforcement (#34)
Protocol-level blacklist enforcement across all layers:
- Transaction Pool: Reject transactions from/to blacklisted addresses
- State Transition: Validate sender, recipient, and fee payer
- EVM Execution: Block value transfers including self-destruct beneficiaries
- Consensus: Reject blocks signed by blacklisted coinbase
State Account Extensions (#28, #35)
- Added
Extrafield toStateAccountfor blacklist and authorization status - Exposed in
eth_getProofAPI,StateOverride, andprestatetracer
Genesis & Configuration
Genesis Generator (#24)
- Single-node mode with automatic validator key derivation
- Interactive quorum input prompt
- Automatic
config.tomlgeneration - Default SystemContracts parameter initialization
Testnet Configuration (#49)
- 7-validator testnet setup with BLS public keys
- WBFT parameters tuned for testnet operation
- System contracts pre-deployed and configured
- Native token renamed from
KRC1toWKRC
Developer Tools
Tracer Enhancements
- Prestate Tracer (#44, #46): Correct EIP-6780 SELFDESTRUCT handling and NativeManager operation support
- Call Tracer: Enhanced tracing for native coin operations
Improvements
Performance
- Go 1.22 Upgrade (#43): Updated toolchain with CGO-based stress tests for BLS operations
- Anzeon Gas Tip Caching (#47): Reduced StateDB access and txpool reheap overhead
Bug Fixes
- Sync Recovery (#38): Fixed state recovery after abnormal termination
- Future Blocks (#33): Properly discard old blocks from futureBlocks queue
- WBFT Engine (#31): Cherry-picked upstream fixes for F() calculation and Istanbul status API
Refactoring
- Naming Conventions (#18, #39, #40): Renamed from Geth/Wemix to Gstable/StableNet
- Legacy Removal (#6, #7): Removed WPOA legacy code and block rewards
Breaking Changes
- Block header fields
Fees,Rewards,MinerNodeId,minerNodeSigremoved - Block rewards (inflation) removed - all fees distributed to validators
- Native token symbol changed from
KRC1toWKRC admin_wemixInfoRPC removed (was unimplemented)
Merged Pull Requests
| PR | Title | Category |
|---|---|---|
| #6 | fix: remove wpoa legacy | Core |
| #7 | fix: remove inflation(block reward) | Core |
| #9 | feat: GovValidator | Governance |
| #10 | doc: readme | Documentation |
| #12 | feat: define stable coin as gas coin | Core |
| #14 | feat: update fee policy | Core |
| #18 | fix: rename geth to gstable, StableOne to StableNet | Refactor |
| #19 | doc: readme | Documentation |
| #21 | feat: Make MAX_ACTIVE_PROPOSALS_PER_MEMBER configurable via governance | Governance |
| #23 | test: Add comprehensive edge case tests for GovMinter state management | Testing |
| #24 | feat: enhance genesis_generator with single-node support & CLI improvements | Tooling |
| #27 | Add GovCouncil System Contract | Governance |
| #28 | feat: add state account extra | Core |
| #29 | feat: implement transaction prioritization and fee policy | Core |
| #30 | doc: update readme | Documentation |
| #31 | cherry-pick upstream (#160, #161) | Consensus |
| #33 | fix: discard old blocks from futureBlocks | Bug Fix |
| #34 | feat: enforce blacklist for native coin transfers across txpool, execution, and consensus layers | Core |
| #35 | fix: include missing Extra field | Bug Fix |
| #37 | doc: update readme | Documentation |
| #38 | fix: enable sidechain insertion for pruned ancestors | Bug Fix |
| #39 | refactor: remove unimplemented 'admin_wemixInfo' property | Refactor |
| #40 | refactor: Rename network from Wemix to Stablenet in CLI flags | Refactor |
| #42 | feat: EIP-7702 Set Code Transaction support | Core |
| #43 | refactor: go version | Refactor |
| #44 | fix: prestateTracer for EIP-6780 SELFDESTRUCT | Bug Fix |
| #45 | feat: implement base fee distribution to validators | Core |
| #46 | feat: enforce ERC20 compliance in NativeCoinAdapter & enhance tracer support | Core |
| #47 | fix: optimize Anzeon gas tip cap handling | Performance |
| #48 | feat: add hysteresis thresholds for base fee adjustment | Core |
| #49 | feat: testnet launch configuration | Configuration |