Size: a a a

2021 February 25

A

Alex in Ethereum Russia
так же иногда биржи кидают чуть больше средств т.к. непонятно какая цена газа будет в итоге, на балансах остается по 5 - 10$. Если юзеров много то много набегает.
источник

EP

Evgenii Panichev | G... in Ethereum Russia
Alex
Мб будет кому-то полезно и может кто-то подскажет как лучше оптимизировать решение: биржи и сервисы используют временные депозитные адреса для получения токенов юзеров. Для их вывода они потом отправляют немного эфира на этот адрес и делают трансфер токенов. В сумме это 2 транзакции (~47000 газа в лучшем случае). Через create2 можно выводить за одну транзу в ~57000 газа, PoC :https://github.com/davy42/DepositWallet Сам контракт крохотных и хотелось бы максимально оптимизировать байткод,
21к на перевод эфира и 41.2к на перевод токенов получается 62.2к, не?
источник

A

Alex in Ethereum Russia
Evgenii Panichev | GaltProject.io
21к на перевод эфира и 41.2к на перевод токенов получается 62.2к, не?
если переводишь подчистую то перевод токенов выходит ~26k
источник

EP

Evgenii Panichev | G... in Ethereum Russia
аа
источник

A

Alex in Ethereum Russia
если ячейка зануляется получаешь рефанд
источник

EP

Evgenii Panichev | G... in Ethereum Russia
ясн
источник

A

Alex in Ethereum Russia
Vladimir
экономии газа-то нет.
Нужно попробовать заюзать с газ токеном
источник

V

Vladimir in Ethereum Russia
Alex
Мб будет кому-то полезно и может кто-то подскажет как лучше оптимизировать решение: биржи и сервисы используют временные депозитные адреса для получения токенов юзеров. Для их вывода они потом отправляют немного эфира на этот адрес и делают трансфер токенов. В сумме это 2 транзакции (~47000 газа в лучшем случае). Через create2 можно выводить за одну транзу в ~57000 газа, PoC :https://github.com/davy42/DepositWallet Сам контракт крохотных и хотелось бы максимально оптимизировать байткод,
Можно аппрув у юзера просить и делать transferFrom.
Есть свои минусы - нельзя будет сделать перевод после, когда будет дешевый газ например
источник

A

Alex in Ethereum Russia
Vladimir
Можно аппрув у юзера просить и делать transferFrom.
Есть свои минусы - нельзя будет сделать перевод после, когда будет дешевый газ например
Я думал в сторону батча транз, чтобы за раз можно было опустошить несколько адресов, через трансферФром или через просто трансфер
источник

NC

Nikita Chebykin | Ga... in Ethereum Russia
Alex
Нужно попробовать заюзать с газ токеном
А вон там цеппелины топят за EIP1167. Это оч маленький прокси-контракт с захардкоженным адресом имплементации.
источник

A

Alex in Ethereum Russia
Nikita Chebykin | GaltProject.io
А вон там цеппелины топят за EIP1167. Это оч маленький прокси-контракт с захардкоженным адресом имплементации.
Ага, но там не сработает selfdestruct, а это -21 килогаз. Если использовать прокси по назначению то возможно так заюзать, но считать нужно
источник

NC

Nikita Chebykin | Ga... in Ethereum Russia
Ну мош прям в прокси ручками как то можно добавить этот selfdestruct после делегирования
источник
2021 February 26

SA

S. A. M. in Ethereum Russia
всем привет, коллеги возможно ли с помощью web3.js либы правильно создать кошелек?
источник

SA

S. A. M. in Ethereum Russia
нужно написать функционал для создания кошелька, я полный нуб в этом деле, может кто посоветует что пробовать, в каком направлении идти?
источник

RM

Ruslan Mirov in Ethereum Russia
S. A. M.
всем привет, коллеги возможно ли с помощью web3.js либы правильно создать кошелек?
источник

SA

S. A. M. in Ethereum Russia
👍
источник

RM

Ruslan Mirov in Ethereum Russia
S. A. M.
👍
Главное в кошельке не используй web3.fromWei, web3.toWei для ERC20 токенов.

Потому что разные токены имеют разные decimals.
источник

V

Vladimir in Ethereum Russia
главное не пиши свой кошелек, будучи нубом
источник

V

Vladimir in Ethereum Russia
шанс протерять деньги стремится к 100%
источник

V

Vladimir in Ethereum Russia
Alexey Zhdanov
Стало интересно, нашёл это https://github.com/martinetlee/create2-snippets

contract WalletFactory{
 // ....

 function deployWallet(address designatedOwner, uint256 salt){
   
   bytes memory initCode = abi.encodePacked(type(Wallet).creationCode, designatedOwner);

   address deployedContract;
   assembly{
     deployedContract := create2(0, add(initCode, 0x20), mload(initCode), salt)
   }
   emit ContractDeployed(deployedContract);
 }
}
есть какой-нибудь бойлерплейт для ethers/hardhat/truffle чтобы деплоить апгрейдбл контракты не через openzeppelin proxy, а через create2/selfdestruct?
чото сходу не нашел
источник