5

A couple of questions:

What is the average size of an Ethereum transaction in bytes (considering say a basic value transfer case).

Also, what is the size in bytes of the signature component of the transaction?

0

A partial answer...

Also, what is the size in bytes of the signature component of the transaction?

It's a big.Int, which can vary in size.

type txdata struct {
    AccountNonce    uint64
    Price, GasLimit *big.Int
    Recipient       *common.Address `rlp:"nil"` // nil means contract creation
    Amount          *big.Int
    Payload         []byte
    V               *big.Int // signature
    R, S            *big.Int // signature
}

Source: transaction.go


What is the average size of an Ethereum transaction in bytes (considering say a basic value transfer case).

Note that there isn't a fixed limit for the size of a transaction. A soft limit is imposed by the size of the block, which itself is dependent on the gas limit (which itself can be changed). So an overall average would require work to determine.

But if we're talking about a value transfer case, then some of the complexities drop away. Looking at the above txdata structure, itself a member of an overall Transaction structure (at least in the Go implementation), you could go about summing the sizes of the independent parts. (I'm not sure how big the common.Address and byte array parts are, nor what is exactly passed as the transaction structure: the Transaction or the txdata. Someone else may know more.)

  • 1
    wait, what? the size in bytes of the signature = size in bytes of V, R, S = 1 + 32 + 32 = 65 bytes – bekah Aug 15 '17 at 10:22