I have written an erc20 smart contract in ink(Rust). The contract has been compiled successfully. But I got an error while deploying my smart contract. Basically, the contract constructor takes total_spply as a parameter. So, how to pass this value while deploying a smart contract using swanky-cli?

This command I am using to deploy smart contract:

swanky contract deploy erc20 --account alice -g 10000000000 -a true

This is my constructor.

  pub fn new(total_supply: Balance) -> Self {
        let mut balances = Mapping::default();
        let caller = Self::env().caller();
        balances.insert(&caller, &total_supply);

        Self::env().emit_event(Transfer {
            from: None,
            to: Some(caller),
            value: total_supply,

        Self {
            allowances: Default::default(),
  • Your constructor takes Balance as an arg, not a boolean. What about passing some initial value for e.g. -a 1000000?
    – Shunsuke
    Commented Apr 24, 2023 at 6:39
  • @Shunsuke Thank you so much. The error has been gone. Commented Apr 24, 2023 at 6:41
  • Please provide the answer to your question or close it. Commented Apr 24, 2023 at 7:20

1 Answer 1


Constructor takes Balance instead of boolean. So, you need to pass some Balance value via swanky command. E.g. swanky contract deploy erc20 --account alice -g 10000000000 -a 10000000

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.