Недоступный лимит газа для моей криптовалюты на основе Ethereum

Лимит газа для сингла send transactionсоставляет около 21000 газа.

Теперь я создаю свою собственную криптомонету на основе Ethereum, и я хочу сохранить ее коэффициент конверсии: 1 монета = 1 доллар США и около 0,02 доллара США в качестве комиссии за транзакцию.

Но если мои трейдеры отправят 1 или только половину монеты, то и для этой транзакции, если им придется заплатить весь лимит газа, то это будет бесполезно, так как это будет больше убытка.

Итак, мой вопрос: есть ли другой способ избежать такой большой платы? Или вместо этого мы можем объединить несколько транзакций до определенного предела, а затем отправить их как «единую транзакцию» майнерам??

Заранее спасибо.

Ответы (2)

Лимит газа для одной транзакции отправки составляет около 21000 газа, что составляет 0,000378 эфира на 21000 газа, что примерно равно 0,4 доллара США.

Стоимость транзакции SafeLow в настоящее время составляет 0,019 доллара США, что намного меньше ваших 0,40 доллара США. Однако возможно, что цена колебалась с тех пор, как вы написали свой вопрос, о чем я расскажу ниже.

Теперь я создаю свою собственную криптомонету на основе Ethereum, и я хочу сохранить ее коэффициент конверсии как 1 монета = 1 доллар США.

Возможно, это возможно на этапе ICO, когда вы можете продать токены на эту сумму, но как вы предотвратите их обмен на разные суммы на открытом рынке? (Возможно, это стоит нового вопроса, если его еще не задавали.)

Но если мои трейдеры отправят 1 или только половину монеты, то и для этой транзакции, если им придется заплатить весь лимит газа, то это будет бесполезно, так как это будет больше убытка.

Цены на газ Ethereum формируют рынок . Как и выше, я думаю, что ваша оценка в 0,40 доллара США слишком высока, по крайней мере, для текущего рынка . Однако по мере увеличения количества транзакций, отправляемых в сеть, растет потребность в пропускной способности и пространстве в блоках. Это подталкивает цену на газ, и именно так это было задумано.

Плата, вероятно, будет ниже, когда будут реализованы дополнительные решения масштабируемости, но ценовой рынок будет существовать всегда. Если это вас не устраивает, то, возможно, лучше подойдет другая платформа (особенно если вы хотите привязать свой токен к фиатной стоимости).

Вы говорите, что «цена колебалась с тех пор, как я написал свой вопрос», но действительно ли цена на газ колеблется так быстро и так сильно? И тот же вопрос, который я задал Карлолму, как снизить цену на газ, чтобы снизить стоимость? Должен ли я сделать это в своем genesis.jsonфайле или во время написания смарт-контракта??
И нет, я не планирую привязывать свой токен к фиатной стоимости, скорее я думаю, что я могу использовать как эфир, так и фиатные деньги.
Вы можете взглянуть на определения количества газа для конкретных операций в protocol_params.go(по крайней мере, для клиента Geth/Go). Но эти значения зависят от базовых инструкций EVM — вам нужно быть очень осторожным при их изменении. Но это упускает суть - цена на газ вполне может просто увеличиться, чтобы компенсировать любое сокращение, которое вы сделали в газе за операцию.
И да, рынок цен на газ может так быстро колебаться. Он будет колебаться в зависимости от нагрузки на сеть, которая сама по себе может меняться очень быстро. (По крайней мере, для основной сети Ethereum.)
Другим вариантом было бы изменить лимит газа блока, чтобы позволить каждому блоку включать больше транзакций. Но это само по себе связано с побочными эффектами (например, увеличение числа дядей).

К сожалению, это следствие роста цены эфира в долларах США, у вас растут транзакционные издержки, которых вы не можете избежать.

Вы можете попробовать использовать более низкую цену на газ, например, 4 gwei вместо 20 gwei по умолчанию. Ваша транзакция может занять больше времени, но обычно они в конечном итоге проходят. Вы можете проверить цены на газ здесь ( заправочная станция ETH ), чтобы получить представление о текущем диапазоне цен на газ.

Что касается агрегирования транзакций, то стоимость газа Ethereum рассчитывается на основе количества выполненных операций/вычислений. Таким образом, объединение нескольких транзакций (скажем, 2x переводов @ 21000 газа) в одну транзакцию (например, смарт-контракт, который выполняет 2x переводы) по-прежнему приводит к тому же количеству используемого газа (= 42000), поскольку вам все равно нужно выполнять обе операции. Нет никакого способа уменьшить это, если вы коренным образом не измените операцию и не будете делать 2-кратные передачи.

Лучше всего попытаться снизить цену на газ, чтобы снизить себестоимость.

но как снизить цену на газ, чтобы снизить себестоимость? Должен ли я сделать это в своем genesis.jsonфайле или во время написания смарт-контракта??
Цена на газ устанавливается лицом, отправляющим транзакцию. Майнеры выбирают, какие транзакции добывать, обычно по более высокой цене на газ.