testnet
GitHub EN

제네시스 상태 생성자

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)
}
ESC
검색어를 입력하세요