런타임 상수 구성
런타임에서 상수 값을 선언하는 것은 고정된 값 또는 어떤 요소에 따라 동적으로 변경되는 값들을 정의하는 유용한 도구입니다. 이 가이드에서는 u32
값을 스토리지에서 재설정하는 데 사용되는 팔레트 상수를 생성하는 방법을 보여줍니다. 이 값은 SingleValue
라고 부르며, add_value
라는 메서드를 사용하여 수정할 수도 있습니다.
팔레트의 타입, 이벤트 및 오류 구성
팔레트에서 상수를 정의하세요.
MaxAddend
는 메타데이터에 표시되는 값입니다.ClearFrequency
는 블록 번호를 추적하고SingleValue
를 재설정하는 데 사용됩니다.
스토리지 항목과 이벤트를 선언하세요.
저장 속성 매크로를 사용하여 매 블록 주기마다 수정되는 값인
SingleValue
를 선언하세요.팔레트의 이벤트를 정의하세요.
오버플로우를 처리하는 오류를 추가하세요.
팔레트 메서드와 런타임 상수 생성
on_finalize
를 구성하세요.on_finalize
함수에서ClearFrequency
개수의 블록마다SingleValue
를 0으로 설정합니다. 이 로직을#[pallet::hooks]
속성 아래에 지정하세요.사용자가 값을 지정할 수 있는 메서드를 생성하세요.
add_value
메서드는 각 호출이MaxAddend
값보다 작게 추가될 때까지SingleValue
를 증가시킵니다.이 메서드에서는 다음을 수행해야 합니다.
체크를 포함합니다.
이전 값 추적합니다.
오버플로우를 확인합니다.
SingleValue
를 업데이트합니다.
런타임에 대한 상수 값을 제공하세요.
runtime/src/lib.rs
에서 팔레트의MaxAddend
와ClearFrequency
에 대한 런타임 구현의 값을 선언하세요.
예제
자원
Last updated