Если я использую команду geth --cache=1024
, сколько блоков она будет хранить во время выполнения в кеше. И какой будет размер каждого блока. Есть ли расчет? И есть ли способ, с помощью которого мы можем принудительно записать данные, находящиеся в кеше, в файлы leveldb?
Я нашел это объяснение у пользователя Reddit и подумал, что оно будет вам полезно, чтобы понять некоторые вещи.
Эфириум имеет лимит газа, а не размер блока. Лимит газа является ограничением как для обработки, так и для хранения/пропускной способности, поскольку стоимость транзакции/функции фиксируется в единицах газа для каждого типа инструкции.
Каждый майнер голосует за повышение или понижение лимита газа, и каждый майнер определяет, какую цену на газ он готов принять, что похоже на комиссию за транзакцию биткойнов, но на основе газа, а не на основе транзакции.
Чтобы выяснить, сколько транзакций может поместиться в блок, вам не нужно знать, какова цена газа. Вам просто нужно знать, сколько газа использует транзакция, и разделить лимит газа на это.
Если сеть получает множество спам-транзакций, которые начинают заполнять блоки, у майнеров есть 2 варианта. Они могут проголосовать за увеличение лимита газа, чтобы вместить больше транзакций, или они могут начать повышать цену на газ и отклонять транзакции, которые платят слишком низкую комиссию. Как и в случае с биткойнами, транзакция с низкой комиссией все еще может пройти, но ей придется подождать, пока майнер, который принимает более низкую комиссию (более низкую цену на газ), не захочет ее впустить.
При длительной спам-атаке выполнение транзакций будет становиться все более дорогостоящим, пока либо у спамера не закончатся деньги, либо у майнеров не заработает столько денег, что они начнут расширять пропускную способность сети...
Все, что говорит этот пользователь, правда, и это очень хорошо объяснено.
Как видите, она работает совсем не так, как схема Биткойн.
РЕДАКТИРОВАТЬ Я оставляю здесь полное обсуждение этого вопроса на Reddit
Надеюсь, поможет.
Кевин Дж.
ВСПЫШКА
kill -9 <processId>
, а затем снова запустил цепочку, но она не началась с высоты 1000. Итак, если моя цепочка будет уничтожена, как предотвратить потерю данных? И есть ли способ, с помощью которого я могу явно записать данные кеша на диск?CPereez19
ВСПЫШКА
CPereez19