Questions tagged [calldata]

Questions about the "data" part in a transaction, which can be accessed by "msg.data". web3.eth.getTransaction calls this field "input".

Filter by
Sorted by
Tagged with
42
votes
3answers
35k views

How to call a contract method using the eth_call JSON-RPC API

Ok, so I'm trying to call a contract method using the methods provided by the Ethereum JSON RPC interface. The JSON RPC is running on an Ubuntu machine. Unfortunately, I can't really get a result back ...
27
votes
2answers
16k views

What is the ethereum transaction data structure?

I'd like to know the detail of the Ethereum transaction data structure. What data is stored in transaction?
21
votes
3answers
26k views

What does “intrinsic gas too low” mean?

I'm running the Mist wallet, and I've deployed this contract to testnet (from https://ethereum.stackexchange.com/a/179/520) : contract Notary{ struct Document { uint timestamp; ...
16
votes
6answers
12k views

Encoding/Decoding contract ABI data

How to encode and decode ABI data? Can someone show me an example with web3js library?
13
votes
2answers
6k views

What is msg.data?

Is msg.data equal to {from: addr1, data:something}? How to handle the data 'something'? when execution this code: web3.eth.sendTransaction({from: ..., to: addressOfE, data: something}); how to ...
9
votes
1answer
2k views

Using web3, how can you get the tx cost and data/payload for a given transaction?

Using web3, how can you get the Tx cost and data/payload for a given transaction? getTransaction(tx#) returns everything but those 2 values. This information seems to be available via blockchain ...
8
votes
1answer
2k views

Private chain: Extracting the “data” from an account?

I have initiated and mined a transaction between two accounts. I also included a data field in this transaction. This is just random hex data. Here is the command: eth.sendTransaction({from:...
8
votes
1answer
1k views

Private chain: Maximum size of “data” field in an Ethereum transaction?

The data field can be used to send arbitrary data in a transaction. I am aware that the amount of gas required increases with the increase in size of data, but, is there a limit to the size that's ...
8
votes
2answers
799 views

Can msg.data be used as an identifier?

I'm looking at the multisig wallet implementation here and I see the usage of sha3(msg.data,block.number) being used as an identifier. What exactly is inside the msg.data and why is it unique enough ...
7
votes
1answer
141 views

Can a contract know at what position in a callcode an argument begins?

using for example inline assembly with calldatacopy(t, f, s), which copies s bytes from calldata at position f to memory at position t in a call to for example function newContract(bytes data) { ... }...
6
votes
2answers
809 views

Why does an empty message still invoke the code of the contract?

An empty message still invokes the code of the contract and is the mechanism that allows Solidity to implement a feature of a fallback function per contract. But when msg.data is empty, why does ...
6
votes
1answer
2k views

with Web3.js, display sendTransaction data field from function call

From js, I typically call a function with something like this: theFunction=someAbi.at(0x1234...); theFunction.someMethod(param1, param2, param3, {"from": 0x111222..., "to": 0x1234..., "value":...
6
votes
2answers
548 views

Is sending some datas in the data field safe?

An airdrop ask to send it 0ETH with 150000 GAS and some datas in DATA field. Is it safe? What could be the aim of this transaction? Thanks.
6
votes
1answer
2k views

How can I send some message from contract to address

Is it possible? And if it is, how can I send some data from contract to address. Something like msg.sender.send.data("0x0")(value)
6
votes
1answer
379 views

Making call with contract instance vs making call with hashed method ID

As I understand there are two main ways to call a function in another contract. 1.) Using the 4 byte methodID ----> address.call(bytes4(sha3('foo()')) 2.) Using the contract ABI ---> ...
5
votes
1answer
2k views

calldata keyword as parameter in solidity v0.5.0 function?

What purpose does the "calldata" serve in this parameter _owners? Is it a new keyword? function setup(address[] calldata _owners, uint256 _threshold, address to, bytes calldata data) Taken from ...
5
votes
3answers
2k views

How to compare msg.data (calldata) data type to an integer data type uint256?

As per my question here: I need to compare msg.data (specifically, numbers that are sent with the sendTransaction data object) to a data type of uint256 within my contract. How is this possible?
5
votes
1answer
97 views

When should I use calldata and when should I use memory?

I have seen people use both memory and calldata keywords when writing Solidity. Specifically, they are used when declaring function parameters. When should I use memory and when should I use calldata?...
5
votes
4answers
3k views

How to decode input data from tx using python3?

I am trying to decode input data from token sale transactions. This is one of the transactions I am trying to parse 0xf7b7196ca9eab6e4fb6e7bce81aeb25a4edf04330e57b3c15bece9d260577e2b Which has the ...
5
votes
1answer
669 views

Accessing the last function parameter from msg.data

I have a fallback (unnamed) function in my contract and I know that the last parameter (or first, does not matter) passed is always an uint. Is it possible to somehow access it though the msg.data?
5
votes
1answer
1k views

How do you get a string value from msg.data in the fallback function?

Im trying to do what The DAO did and do something when a sender sent money to my contract address. But im not sure how to. The something I want to do is to just create a new user in a mapping with the ...
5
votes
1answer
2k views

How to send a smart token transaction from one account to another account using JSON RPC interface

I would like to send amounts of a created token from one address to another. I would like to use eth_sendTransaction: eth_sendTransaction Creates new message call transaction or a contract creation,...
4
votes
2answers
947 views

What is calldata?

What is calldata? I learned that there are three types of memories: Storage Memory Stack In the Ethereum docs, it says that the function parameters are of type memory by default. However, I've also ...
4
votes
1answer
3k views

Decode Etherscan.io Contract Input Data

Reading my input data on etherscan, I see each value as hex values. Which is fine to read the addresses. But I would like to read the amounts [1] && [3] as numbers. Contract Method Function: ...
4
votes
2answers
3k views

What is “data” param of rawTx? How to send ETH by using web3

I want to send eth by using web3 on testnet. Source address is 0xbddf0bf3ac858d7fb8a2bdda55884d61779ba5a9. The destination is 0x8005ceb675d2ff8c989cc95354438b9fab568681. I found the example on web3 ...
4
votes
1answer
1k views

Storing data in the blockchain inside a transaction

This question is related to this one and this one. I'm trying to store data in the blockchain inside the transaction data field: The second question offers a solution using a contract but is it ...
4
votes
1answer
145 views

can anyone help to explain calldataload

In the Solidity documentation, the definition of calldataload is: calldataload(p) call data starting from position p (32 bytes) But I am really confused by what is call data. Is the call data of ...
4
votes
1answer
802 views

How can I decode getData from a contract method call

I'm using myContractInstance.myMethod.getData() to be able to serialize a transaction: // Get the call data, so you can call the contract through some other means var myCallData = myContractInstance....
4
votes
1answer
174 views

What is a function selector?

I am reading an article, it says: To enable deployment on the Ethereum platform, the contract functions are compiled into EVM bytecode and a piece of code called function selector is added, ...
3
votes
2answers
5k views

How do I “Add Data” to a send transaction in Solidity

In myetherwallet, there is an +Advanced: Add Data Section where I can add data to the transaction. How can I add this same data in a transaction I make in Solidity?
3
votes
2answers
1k views

Generate contract data hex for 'confirm' function on eth multisig wallet

I have an account on a hardware wallet that is an owner of a standard multsig wallet contract. I want to be able to approve a transaction that is originated from a different wallet. If I have access ...
3
votes
1answer
330 views

How can I call arbitrary function with arbitrary parameters from Solidity?

I am working on a voting library that allows members of a voting-DAO-like organization to vote on arbitrary actions. Security considerations (I know, arbitrary code execution is evil...) and ...
3
votes
1answer
1k views

Can you help me parse this input data from a newProposal transaction from The DAO?

Every Ethereum transaction that represents a function call on a smart contract holds an input field with data that corresponds to the data sent through the interface of the function. For example, this ...
3
votes
2answers
343 views

Solidity CALL and DELEGATECALL: messages and data format

I have some questions about Solidity CALL and DELEGATECALL. I have already read some related threads (link), but found no answers to my doubts. 1) Is there any difference in performing a CALL to a ...
3
votes
0answers
38 views

How to make sense of the “data” sent to execute a contract? [duplicate]

I'm trying to understand the technical details of Ethereum and one thing I can't find any info about is the data to be sent to a contract. For example, I have a very simple coin flip betting ...
2
votes
3answers
115 views

Can I send data to non-contract address?

Metamask allows to attach data to any transaction. What happens if I send some data with some ETH to existing non-contract address? Is that data recorded on the blockchain? Can I read it later?
2
votes
1answer
37 views

Understanding first evm word of reference types in assembly

Given the following function: function getArrayItems(bytes calldata) external returns ( bytes4 _signature, bytes32 _wutIsThis, bytes32 _length, bytes32 _firstItem ) { assembly { ...
2
votes
1answer
181 views

How does a contract's constructor work and load input values?

I set up the following contract: pragma solidity ^0.4.25; contract Simplest { uint x; constructor(bool _lucky) public { if (_lucky == true) { x = 7; } else { ...
2
votes
1answer
280 views

Call function by using bytesData. (call.value()())

Assume I have two contracts: contract A { function test1() public view returns(bool) { return false; } } contract B { function testCall(address addr, data) public view returns(...
2
votes
1answer
273 views

Assign metadata to a transaction

How can I append some (extra) data to a transaction that calls a contract method (with given parameters)? The transaction has only one 'data' field which is used to serialize the method call. If I ...
2
votes
0answers
495 views

Call vs Delegate Call call data format

I'm using both call and delegatecall within an assembly block and i've noticed that when issuing a call I need to provide 4 bytes (sig) + any arguments, whereas for delegatecall I need to provide 4 ...
2
votes
0answers
187 views

“No data is deployed on the contract address” [duplicate]

Following token tutorial on ethereum.org, get error message No data is deployed on the contract address Forgive me, but I am new to mist. How do I find the "MyAdvancedToken" in Mist?
2
votes
0answers
356 views

eth_sendTransaction for function with address type parameters

I'm interacting with my local private blockchain created using geth. I'm able to use eth_call, but now I have some problems with eth_sendTransaction. The signature of the function is this: function ...
2
votes
3answers
451 views

How does MetaMask's TRANSACTION DATA work? How to interact with smart contracts by only using MetaMask?

I have this source code pragma solidity ^0.4.21; // Relevant part of the CaptureTheEther contract. contract CaptureTheEther { mapping (address => bytes32) public nicknameOf; function ...
1
vote
1answer
636 views

Contract call from a contract from a contract?

As I understand it, it is possible for a contract to call another contract by using othercontractaddress.call(gas_amount).value(eth amount)(tx data). Or in this case sender -> contract A -> ...
1
vote
2answers
414 views

How calldata is stored in memory?

When I execute this: bytes8 h = 0x000008dfe2f440000733c; t.call.gas(0x7e0b0)(bytes4(keccak256("enter(bytes8)")),0x8dfe2f440000733c0000000,h); the calldata is : 0: ...
1
vote
1answer
1k views

How to read a data sent to my Smart Contract

How can I read/ get a data that has ben sent to my smart contract ? I tested sendTransaction({data: xyz }) and when I tried to get this data from the Smart Contract using msg.data I got NULL this ...
1
vote
3answers
3k views

Decoding contract output of web3 eth call

I have written data to a contract using sendRawTransaction, and am trying to fetch it using web3.eth.call for the function : function checkRecord(uint id, bytes email) constant returns (uint id2, ...
1
vote
1answer
423 views

Get the input data of a transaction with web3j

How can I retrieve transaction details (including the input data) from a txHash using Web3j? I tried the following method: public void buscarHhash(Web3j web3, String txHash) throws IOException { ...
1
vote
1answer
805 views

How to access string arguments from calldata in external functions? (0.5.X)

With the introduction of Solc 0.5.X , parameter memory locations for arrays (and strings/bytes) must be made explicit. For external functions, this memory location is required to be specified as ...