Polkadot Interview Questions - Medium

Medium-level Polkadot interview questions covering advanced Substrate development and parachain architecture.

Q1: How do you implement custom consensus in Substrate?

Answer:

Custom Consensus:

 1use sc_consensus::{BlockImport, BlockImportParams};
 2
 3pub struct CustomBlockImport;
 4
 5impl BlockImport<Block> for CustomBlockImport {
 6    fn import_block(
 7        &mut self,
 8        block: BlockImportParams<Block>,
 9    ) -> Result<ImportResult, ConsensusError> {
10        // Custom import logic
11        Ok(ImportResult::Imported(ImportedAux {
12            header_only: false,
13            clear_justification_requests: false,
14            needs_justification: false,
15            bad_justification: false,
16            is_new_best: true,
17        }))
18    }
19}

Q2: How do you optimize Substrate runtime?

Answer:

Optimization Techniques:

  • Use #[pallet::compact] for storage
  • Batch operations
  • Limit storage reads/writes
  • Use on_initialize for pre-processing

Q3: How do you implement cross-chain messaging?

Answer:

XCM Implementation:

 1use xcm::prelude::*;
 2
 3pub fn send_cross_chain(
 4    dest: MultiLocation,
 5    message: Xcm<()>,
 6) -> Result<(), XcmError> {
 7    XcmPallet::<T>::send(
 8        RawOrigin::Root.into(),
 9        Box::new(dest.into()),
10        Box::new(message),
11    )?;
12    Ok(())
13}

Related Snippets