In substrate-node-template, is there a way that I can use to create an extrinsic in outer-node?

I want to specifically create an unsigned extrinsic for a specific pallet call and I found this struct that should do the job, but I don't know how to provide the arguments such as Call and I don't want to create an inherent, just an unsigned extrinsic for a specific pallet call.

Previously I was using subxt but I want to do it manually since I am in the node directly.

1 Answer 1


Your are right to think that you need to encode the UncheckedExtrinsic type.

For that you need:

  1. signature, which in your case it should be None.
  2. A call, which should be the encoding of enum RuntimeCall in your runtime.

The easy way to find the enum RuntimeCall is to get it from your runtime crate. This enum is generated by construct_runtime. For example, in the polkadot runtime, you can see it here.

  • thanks but i could not find it! is there a specific way to retreive that enum? currently i created a runtime api that returns the unckedextrinsic unsigned extrinsic that i want
    – dadzerlaze
    Feb 8 at 7:41
  • Did you see the link I posted? paritytech.github.io/substrate/master/kitchensink_runtime/… Any file has construct_runtime has enum RuntimeCall.
    – kianenigma
    Feb 15 at 12:03
  • yes i saw the link you posted and i wanted to know how to retreive that enum in my own substrate node, i tried to run cargo docs to open all the generated enums and i didn't find it
    – dadzerlaze
    Feb 16 at 6:37
  • and i think a runtime api is better to be honest
    – dadzerlaze
    Feb 16 at 6:37

Your Answer

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

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