Размер транзакции Ethereum и ее компонент подписи? [дубликат]

Пара вопросов:

Каков средний размер транзакции Ethereum в байтах (учитывая, скажем, случай передачи базовой стоимости).

Кроме того, каков размер в байтах компонента подписи транзакции?

Ответы (1)

Частичный ответ...

Кроме того, каков размер в байтах компонента подписи транзакции?

Это big.Int, который может различаться по размеру .

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
}

Источник:transaction.go


Каков средний размер транзакции Ethereum в байтах (учитывая, скажем, случай передачи базовой стоимости).

Обратите внимание, что нет фиксированного ограничения на размер транзакции. Мягкое ограничение накладывается размером блока, который сам зависит от лимита газа (который сам по себе может быть изменен). Таким образом, для определения общего среднего значения потребуется работа.

Но если мы говорим о случае передачи стоимости, то некоторые сложности отпадают. Глядя на приведенную выше txdataструктуру, которая сама является частью общей Transactionструктуры (по крайней мере, в реализации Go), вы можете суммировать размеры независимых частей. (Я не уверен, насколько велики common.Addressчасти массива байтов и , а также то, что именно передается в качестве структуры транзакции: the Transactionили txdata. Кто-то еще может знать больше.)

чего ждать? размер в байтах подписи = размер в байтах V, R, S = 1 + 32 + 32 = 65 байт