Официальное сообщество Ethereum. Jobs & CV: @eth_jobs EN group: @ethdev Целевая аудитория: разработчики, аудиторы, CTO, CFO, валидаторы и провайдеры нод, фаундеры, регуляторы, СМИ, normies. Key w: eth, smart contract, L1-L2, web3, cryptography etc.
Я тоже так сначала подумал, но я проверил в этих блоках и не нашел
Читать полностью…плюс ко всему у юника формула не ху = к в2 например. проверка там стоит xy >= k
Читать полностью…А, нет, хрен. Посчитал по новым правилам рефанда, не выйдет так. eip-3529 как раз это мне поломал, и я тогда отказался от этой идеи. Но почему-то считал, что рефанд вообще убрали.
Читать полностью…будет дешевле, так как во второй транзакции будет использоваться слот памяти, который уже использовался в транзакции раннее (он уже тёплый)
Читать полностью…Ладно. Вопрос проще.
Допустим я в рамках одной транзакции делаю два вызова трансфера. Один от меня к пете. Один от меня к Васе. Трансфера два но меняется три куска памяти а не 4. Будет ли это дешевле в рамках одной транзакции чем в 2 если не учитывать накладные расходы которые привели к этим двум вызовам?
И в этом случае тоже за промежуточные придётся заплатить.
Читать полностью…Так что, похоже, да, будет сильно дешевле, если в итоге конечное значение совпадает с изначальным.
Читать полностью…Так, я вижу, что тут есть понятия cold и warm слота 🤔
Читать полностью…хорошо, пусть моя транза делает sstore(0x123, 0x123) (до этого там было 0), сколько я заплачу за этот sstore? И сколько я заплачу, если в другой транзе будет sstore(0x123, 0x123) + sstore(0x123, 0) (тоже меняем из 0 в 0 в конечном итоге)?
Читать полностью…Мб он залил ликву, потом кто то купил, он вывел ликву (уже больше чем вложил)
Читать полностью…Всем привет) столкнулся с проблемой - пытаюсь слушать события web3js 1.7. Спустя пару минут отсутствия событий подписка закачивается. Причём, если события идут постоянно, подписка будет активной. Почему так? Ошибок никаких нет
Вот код:
const subscribePromise = new Promise((resolve, reject) => {Читать полностью…
web3.eth.subscribe('logs', options, function(error, result){
if (error) {
console.log(error);
reject(error);
}
}).on("data", (log) => {
const decodedLogs = abiDecoder.decodeLogs([log]);
console.log('******** RECEIVED EVENT ********');
this.lotteryReward(
decodedLogs[0].events[1].value,
parseInt(<any>decodedLogs[0].events[0].value)
);
console.log(decodedLogs);
decodedLogs[0].events.forEach(event => {
console.log(event);
});
console.log('*********** END ***********');
});
});
subscribePromise.catch((error) => {
console.error("An error occurred:", error);
});
ахахаха, лол. Они так и пишут:
Читать полностью…
Refunds give rise to GasToken. GasToken has benefits in moving gas space from low-fee periods to high-fee periods, but it also has downsides to the network, particularly in exacerbating state size (as state slots are effectively used as a “battery” to save up gas) and inefficiently clogging blockchain gas usage
Так, погодите. Если рефанды всё же остались... у меня когда-то была идея написать контракт, в котором просто оккупировать слоты последовательно когда газпрайс низкий, чтобы потом, когда газ в цене резко вырастет, можно было их затирать и делать рефанд, уменьшая плату (разумеется, если что-то делаешь через свой контракт, например роутер свопа, который может в дополнение ходить к этому контракту и делать эти рефанды). То есть идея всё ещё актуальна? 🤔
Читать полностью…5000 + 100 заплатишь в одной транзе (за списание баланса со своего адреса) и 10000 в случае двух разных транз
Читать полностью…Но вот если меняется несколько раз (типа 1 → 2 → 3 → 5), то будет дорого
Читать полностью…И самое главное:
original_value: value of the storage slot before the current transaction.
факт того что значение после череды ссторов вернется в исходное состояние снизит цену транзакции, но за все ссторы придется платить
Читать полностью…По идее можно просимулировать эту ситуацию локально на форке и посмотреть)
Читать полностью…