After building and running substrate-node-template i started the local node with
--dev flag :
i opened https://polkadot.js.org/apps/#/extrinsics and selected the sudo pallet with bob account and sent the setKey extrinsic and it it throws an error(because only alice could do such action) like this:
however if i go to the explorer and select the most recent block after the transaction failed its still included and the block is imported with a failed transaction:
- why the extrinsic passed the validation pipeline and was included in the transaction pool if its not valid?
- isn't the default behavior to reject the block because it contains faulty transactions? and a malicious proposer could bloat the chain with invalid transactions that take space for no reason?