Актуальні теми
#
Bonk Eco continues to show strength amid $USELESS rally
#
Pump.fun to raise $1B token sale, traders speculating on airdrop
#
Boop.Fun leading the way with a new launchpad on Solana.
Як ми в @Alchemy розробили та запустили найефективніший розумний обліковий запис за всю історію розумних рахунків. 🕶️
Все від ідеї ~3-річної давності.
Тоді я ще не підозрював, що це в кінцевому підсумку заощадить користувачам величезні суми грошей.

У травні 2023 року у твіттері було захоплення проксі (наприклад, ERC1967, клони тощо)
У людей були незмінні змінні, але вони хотіли проксі. Це було неможливо зробити, але дехто з нас прийняв виклик. Проблема полягала не в тому, що ви працюєте.
Саме так ми думали про довірених осіб.
Тож ми його створили – з'явилося кілька версій.
Мій і @wighawag дотримувалися однієї і тієї ж концепції - ми могли просто додати незмінні, скопіювавши призначений шматок пам'яті в кінець повернутого байт-коду при побудові.
Фактичний код був досить коротким і приємним.

(Ви можете побачити мій старий імпл, який я побудував для розваги 3 роки тому тут lmao: )
Також існувало два способи доступу до незмінних аргументів під час виконання.
Перший, мій спосіб, полягав у тому, щоб просто прочитати байт-код проксі-сервера, починаючи з постійного зміщення. Простий!
Просто завантажте незмінні елементи в пам'ять і розшифруйте їх відповідно до будь-якої схеми, яку ви налаштували.
Другий був набагато складнішим, але трохи більш газовим, і до біса цікавим.
Ідея полягала в тому, що ви додавали незмінні параметри до кожного виклику, який делегував проксі. Це призводить до дешевшого незмінного доступу за рахунок складності та вищої вартості базового газу.
Цікаво, що Solady (бібліотека, якою ми зараз користуємося, не використовуйте мою маленьку демоверсію в prod heh), спочатку обрала другий підхід!
Але тепер, ми всі зійшлися на простоті, я не знаю жодних незмінних викликів у prod, і Solady вибирає той самий підхід, який я використовував.
Отже, як це пов'язано з рахунками?
Найпростіший і найпоширеніший випадок використання смарт-облікових записів полягає в тому, що вони «належать» іншому підписувачу.
Як правило, це робиться шляхом ініціалізації розумного облікового запису адресою власника.
Але мій брат ончейн, є кращий спосіб.
Ви, напевно, вже зрозуміли - ми просто додаємо адресу підписувача до байт-коду проксі.
Простий.
Тоді ми повністю пропускаємо ініціалізацію. Легкий. І impl точно знає, де знаходиться цей власник у байт-коді (ще краще, Solady подбає про це за нас).
І вуаля, найпотужніший розумний обліковий запис з коли-небудь створених, тепер також дешевший, ніж своп Uniswap.
Отже, чого ми можемо навчитися з цього?

1. Завжди дотримуйтесь своєї цікавості
Можливо, ніколи не існувало б розумного облікового запису, який використовує цю технологію, якби ми не переслідували цю ідею клонів з незмінними аргами багато років тому - просто тому, що вона здалася нам цікавою.
2. Майже завжди є просте рішення
Якщо ви не можете уникнути складності, розріжте її на менші, простіші частини. Ви повинні бути в змозі пояснити весь свій код комусь, хто не знайомий з кодовою базою.
Якщо ви не можете, ваше рішення майже напевно занадто складне.
3. Насправді вас ніщо не зупиняє.
Якщо у вас є ідея, як зробити щось краще, зробіть це. Вас ніщо не зупинить. Я подумав, що це може спрацювати, спробував, і це сталося.
Ти здатний на неймовірні речі, якщо тільки перестанеш стримувати себе, анон.
Ваш стек вже занадто глибокий?
Сподіваюся, ця тема була дещо цікавою.
Якщо ви вважаєте це гарним, станьте другом і поставте лайк своєму хлопчику, щоб я міг охопити більше 5 людей своїми публікаціями тут.
Крім того, орієнтири 😸
Ми не просто дешеві на розгортанні.
5,45K
Найкращі
Рейтинг
Вибране