---
# System prepended metadata

title: 'Hooks example pallet:'

---

Hooks example pallet:

```
//! - Pallet hooks to implement some logic to be executed at the start and end of block execution
//!   (see: [`frame_support::traits::Hooks`])


	// This pallet implements the [`frame_support::traits::Hooks`] trait to demonstrate how we could
	// define some logic to execute in some context.
	#[pallet::hooks]
	impl<T: Config> Hooks<BlockNumberFor<T>> for Pallet<T> {
		// `on_initialize` is executed at the beginning of the block before any extrinsics are
		// dispatched.
		//
		// This function must return the weight consumed by `on_initialize` and `on_finalize`.
		fn on_initialize(_n: BlockNumberFor<T>) -> Weight {
			// Anything that needs to be done at the start of the block.
			// We don't do anything here.
			Weight::zero()
		}

		// `on_finalize` is executed at the end of block after all extrinsics are dispatched.
		fn on_finalize(_n: BlockNumberFor<T>) {
			// Perform necessary data/state clean up here.
		}
	}
```