Сколько транзакций в блоке?

Если блок действует как реестр транзакций, сколько транзакций может поместиться в блоке?

Мне нужно настроить частную тестовую сеть, в которой только одной машине разрешено майнить, в то время как (многие) другие выполняют транзакции в своей цепочке блоков (майнер также устанавливает блок генезиса). Что произойдет, если количество транзакций превысит максимально допустимое количество транзакций в блоке?

Ответы (2)

Ниже приведено упрощенное объяснение того, что делает geth.

Есть два основных места, где могут находиться транзакции: в блоке или в пуле транзакций (txpool).

Когда узел впервые узнает о транзакции, он помещает ее в txpool. По сути, это транзакции с нулевым подтверждением. Есть несколько способов получить к нему доступ, особенно «ожидающий» псевдоблок в web3.

Когда узел начинает майнить, он будет брать самые высокооплачиваемые транзакции в txpool, одну за другой, и выполнять их. Когда у него заканчивается gasLimit или количество транзакций в пуле, он обязуется майнить этот конкретный блок. (Это отображается в консоли как что-то вроде «зафиксировать новую работу над блоком X с помощью Y txs...»). Затем он продолжает хеширование этого блока, пока не найдет хэш, достаточно редкий, чтобы блок мог быть принят сетью.

Каждая другая транзакция, была ли она получена до начала работы над блоком, но не смогла его использовать по какой-то причине, или получена после, остается в txpool до тех пор, пока не будет добыта, или становится навсегда недействительной по какой-либо другой причине.

Итак, кто устанавливает лимит блочного газа и как он периодически обновляется, чтобы можно было добывать новые блоки?
Каждый майнер может увеличить или уменьшить лимит блочного газа на определенный процент. На практике большинство майнеров приходят к соглашению установить его на заданном уровне, и он фактически не отклоняется от него. Каждый новый блок имеет новый лимит газа, готовый к использованию новыми транзакциями.

Обычно в приватной тестовой сети периодически добываются пустые блоки. Максимальное количество транзакций в блоке зависит от максимального размера блока. О максимальном размере блока в Эфириуме просто перейдите по этой ссылке

Максимальный размер блока

Спасибо, но это не имеет особого смысла (не ограничивать размер блока). Я имею в виду, зачем копать новые блоки, когда они по сути не нужны.
Что, если в тестенете я установлю начальный лимит газа для первого (майнингового) аккаунта на 32 байта 0xff? Разве это не максимальная сумма?
добыча пустых блоков в тестовой сети просто дает вам количество эфиров.
@Sebi, вы не можете знать, что блок будет пустым, пока он не закончится, поэтому вам все равно придется его добывать.
Я спрашивал, что произойдет, если будет слишком много транзакций, прежде чем блок сможет быть добыт? Большое число в том смысле, что его может вместить больше, чем блок.