Size: a a a

2021 June 21

Â

Âlēx in Ethereum Russia
источник

Â

Âlēx in Ethereum Russia
хочу короче собрать контракт там где ты отправляешь эфиры в контракт а он их раздает рандомным людям....
источник

Â

Âlēx in Ethereum Russia
не знаю кто этим пользоватся будет
источник

Â

Âlēx in Ethereum Russia
источник

Â

Âlēx in Ethereum Russia
которые зарегались в контракт
источник

Â

Âlēx in Ethereum Russia
и зарегаются 10000 ботов
источник

Â

Âlēx in Ethereum Russia
источник

MD

Microwave Dev in Ethereum Russia
я кстати недавно дискутировал с одним коммунистом который говорил что блокчейн выглядит как коммунизм, я ему попытался доказать что это так не работает))
источник

Â

Âlēx in Ethereum Russia
ХАХАХАХАХАХХАХ
источник

Â

Âlēx in Ethereum Russia
да да это ващет комунизм ты не шаришь просто
источник

MD

Microwave Dev in Ethereum Russia
источник

Â

Âlēx in Ethereum Russia
источник

VK

Valentin K in Ethereum Russia
Господа знающие ассембли
По идее в структуре данные в памяти располагаются рядом, то есть
Структура
МyStruct {
  uint256 x;
  uint256 y;
}

В памяти такое должно по идее выглядеть так что первые 32байта на х, вторые 32 на у

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

Вот контракт
contract Storage {
   
   struct MyStruct {
       uint256 x;
       uint256 y;
   }
   
   MyStruct public myStruct;


   
   function initStruct(uint256 _x, uint256 _y) public {
       myStruct.x = _x;
       myStruct.y = _y;
   }
   
   function initStructAssembly(uint256 _x, uint256 _y) public {
       assembly {
           sstore(myStruct.slot, _x)
           sstore(add(myStruct.slot, 0x20), _y)
       }
   }
   
   
   function getStruct() public view returns(uint256, uint256) {
      return (myStruct.x, myStruct.y);
   }
   
   
   function getStructAssembly() public view returns(uint256 x, uint256 y) {
      assembly {
          x := sload(myStruct.slot)
          y := sload(add(myStruct.slot, 0x20))
      }
   }
}

При инициализации структуры через солидити, геттер ассембли видит только х,
Потому что по идее на у я ищу данные не по тому адресу в памяти

Так вот вопрос при инициализации через солидити, как найти у через ассембли?
источник

K

Kosta in Ethereum Russia
sstore и sload оперируют сторадж слотами, а не байтами. Т.е. когда ты хочешь записать и прочитать сторадж слот, ты указываешь номер слота, а не байт. Твоя структура будет использовать два последовательных слота: 0 и 1.

`sstore(add(myStruct.slot, 0x20), _y)` пишет в 32 слот, вместо 1.

`sload(add(myStruct.slot, 0x20))` читает из 32ого слота, вместо 1.

Поэтому и расхождение.

Попробуй номер слота `add(myStruct.slot, 0x1)` для чтения и записи _y
источник

VK

Valentin K in Ethereum Russia
источник

DL

Danil Lugovskoy in Ethereum Russia
Ну тут вечный срач.
У нас есть команда крипрографов которые пишут крипто алгоритмы и там прям много математики, я как-то слушал их лекцию было очень сложно и не понятно)
А простым разработчикам, которые лишь вызывают эти алгоритмы надо основное понимание что они делают и какие гарантии дают.
источник

D

Dashmaster in Ethereum Russia
есть какая свежая инфа, что по переходу на эфир2?
источник

I

Ivo Grlica in Ethereum Russia
Если еще кому то интересно и не увидел прежнее сообщение, завтра организирую короткий "крипто meetup" в Спб, приглашаю всех желающих! :) https://www.eventbrite.com/e/coffee-with-defi-lawyer-tickets-159721857375
источник

MM

Mikhail Melnik in Ethereum Russia
Ерунда
источник

MD

Microwave Dev in Ethereum Russia
источник