5

In my several programs which I ran through remix IDE, I got a CallData text box. I don't know what value I have to give to this Calldata text box. I tried the following: from: address : "0x692a70d2e424a56d2c6c27aa97d1a86395877b3a" 40 digits= 160bits = 20 bytes

to: address: 0xCA35b7d915458EF540aDe6068dFe2F44E8fa733c 40 digits = 160 bits = 20 bytes value: "0x000000000000000000000000000000000000000000000000000000000000000f" data: "0x000000000000000000000000000000000000000000000000000000000000000f" 64 digits = 256 bits = 32 bytes

first value which I tried is:

"0x692a70d2e424a56d2c6c27aa97d1a86395877b3a", “0xCA35b7d915458EF540aDe6068dFe2F44E8fa733c”, "0x000000000000000000000000000000000000000000000000000000000000000f”, "0x000000000000000000000000000000000000000000000000000000000000000f”

Second value which I tried is:

692a70d2e424a56d2c6c27aa97d1a86395877b3aCA35b7d915458EF540aDe6068dFe2F44E8fa733c0000000000000000000000000000000000000000000000000000000000000000f000000000000000000000000000000000000000000000000000000000000000f

For both the cases I am getting the message CallData should be a valid HexaDecimal number.

Somebody please guide me what is the correct value for callData and why we get this message?

What value should I give to CallData box

6
  • Why not just press deploy and then use the function buttons that will appear? The contract's constructor doesn't expect and arguments (the Deploy button doesn't ask for them) so anything you put in that field is likely irrelevant. Feb 14, 2020 at 3:41
  • @Ismael, thanks, actually that was my post. I am still not yet able to find an example value for CallData. I ran several programs and they ask for CallData and I just got stuck.
    – zak100
    Feb 14, 2020 at 16:12
  • @Rob, thanks for your reply. Kindly show me some relevant case for CallData using Remix IDE where I can input some value to CallData box.
    – zak100
    Feb 14, 2020 at 16:13
  • 2
    @zak100 You can leave it empty then pressing "Transact" it will create a transaction with an empty message. You can pass any hexadecimal string without quotes 0x12341234123412341234. To pass parameters it is better to use a named function instead of the fallback
    – Ismael
    Feb 14, 2020 at 16:23
  • @Ismael thanks for your reply. Instead of constructor, I wrote "function f()" and tried the large value you provided without double quotation but I am getting the message :'Fallback' function is not defined.
    – zak100
    Mar 3, 2020 at 4:35

1 Answer 1

2

Calldata is the data sent to contract with external calls and since 0.6.0 Solidity introduced fallback and receive functions for contracts to receive calldata and/or ethers ( see https://solidity.readthedocs.io/en/v0.6.0/contracts.html#receive-ether-function )

This part of Deploy & Run tx's plugin of Remix-ide is to provide an interface to use them. see https://remix-ide.readthedocs.io/en/latest/udapp.html#low-level-interactions for details

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