제네시스 상태 생성자
New<Module>GenesisState() *<Module>types.GenesisState 마루 애플리케이션 내의 다양한 모듈에 대한 기본 제네시스 상태를 생성하는 생성자 함수 모음입니다. 이 함수들은 새로운 체인을 초기화할 때 EVM, 수수료 시장, OKRW와 같은 모듈에 대해 온전하고 마루에 특화된 기본 구성을 제공하는 데 사용됩니다. 프리컴파일 활성화나 가스 토큰 단위 설정과 같은 중요한 초기 파라미터를 캡슐화합니다.
파라미터
이 메서드는 파라미터가 없습니다.
반환값
타입:
*<Module>types.GenesisState 마루의 기본값으로 채워진 해당 모듈의 GenesisState 구조체에 대한 포인터입니다.
예제
기본 EVM 제네시스 상태 생성
이 예제는 `NewEVMGenesisState`를 호출하여 EVM 모듈에 대한 마루의 기본 구성을 얻는 방법을 보여줍니다. 결과 구조체는 EVM 단위 및 활성화된 프리컴파일과 같은 중요한 설정으로 미리 구성됩니다.
package main
import (
"fmt"
"github.com/delight-labs/maroo/app"
)
func main() {
// Get the default EVM genesis state for Maroo
evmGenState := app.NewEVMGenesisState()
// The returned state has all static precompiles enabled by default
fmt.Printf("Default EVM Denom: %s\n", evmGenState.Params.EvmDenom)
fmt.Printf("Number of active precompiles: %d\n", len(evmGenState.Params.ActiveStaticPrecompiles))
} 기본 수수료 시장 제네시스 상태 생성
`NewFeeMarketGenesisState` 호출을 보여줍니다. 마루는 수수료 시장을 **BaseFee가 활성화된 EIP-1559 호환 구성**으로 설정합니다 — 발신자가 base fee와 priority tip을 모두 `aokrw`로 지불하며, 이더리움 메인넷의 시맨틱과 동일하되 가스 토큰만 OKRW입니다. 전체 메커니즘은 `feemarket-module` 참조.
package main
import (
"fmt"
"github.com/delight-labs/maroo/app"
)
func main() {
// Get the default Fee Market genesis state for Maroo (EIP-1559 BaseFee enabled)
feeMarketGenState := app.NewFeeMarketGenesisState()
fmt.Printf("Initial base fee: %s\n", feeMarketGenState.Params.BaseFee)
fmt.Printf("Min gas price (floor): %s\n", feeMarketGenState.Params.MinGasPrice)
}