I notice that for the nicks pallet there is no need to write a custom RPC or configure that, while with the contracts pallet that need seems to be there. It also seems that in the Substrate Front End Explorer that the former's methods seems to be considered "Extrinsic".

I'm having trouble wrapping my head between the difference between these two pallets and why the "contracts" pallet needs all the extra RPC configuration. Any idea why this is the case?

2 Answers 2


Extrinsics are anything that comes from external sources and make into the chain, i.e Function call, submitting anything to the chain. RPC ( Remote procedural Call) is the execution of a function remotely. RPC can be used to execute anything which is defined in another remote server. So for example in your custom pallet there are some functions which you defined, those ae extrinsics call because they will put external data into the chain state, but also how can you call those functions , you use RPC to call them.

  • Why does Nicks pallet not have RPC methods but the Contracts one does have RPC methods? Jul 24, 2022 at 13:12

I am going to answer only the part about why the nicks pallet doesn't need RPC methods because there already seems to be an answer that explains the second part of your question.

AFAIK the reason why the nicks pallet doesn't need RPC methods is that substrate comes with a runtime API for querying storage values. So in the case of the nicks pallet, you are actually only querying the storage values, and substrate allows you to do that.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.