We have started a test chain with tokenDecimals = 10 in the chain spec JSON. The chain is running beautifully BUT fees are astronomical. For example, it takes 2.6 Billion to run for council. We are about 7-9 decimal places off from what fees should be across the board. We would like to try changing tokenDecimals to 12 to see if that fixes the problem. How would one do that on a running chain? We understand updating the WASM and doing a forkless upgrade but this property is in the JSON, not the WASM. I think we are missing something simple here as we are still learning.

1 Answer 1


It seems like tokenDecimlas are part of the custom properties of the chain spec, and are not really interpreted internally by substrate, so I guess they can be changed post-launch. Try running a chain with the same chain specification file, but provide a:

properties: {
  tokenDeciamls: 6

To obtain a chain-spec from a running chain, you can use the build-spec sub-command. But note that you have to pass the same --chain as you did the first time you ran your chain to obtain a chain-spec that is compatible.

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.