Trend-Themen
#
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.
Wie wir bei @Alchemy das absolut gas-effizienteste Smart-Konto in der Geschichte der Smart-Konten entwickelt und gestartet haben. 🕶️
Alles aus einer Idee, die etwa 3 Jahre alt ist.
Damals ahnte ich nicht, dass dies den Nutzern enorme Geldsummen sparen würde.

Im Mai 2023 gab es auf Twitter diese Begeisterung für Proxys (z. B. ERC1967, Klone usw.)
Die Leute hatten unveränderliche Variablen, aber sie wollten Proxys. Das war unmöglich – aber einige von uns nahmen die Herausforderung an. Das Problem war aber nicht die EVM.
So dachten wir über Proxys.
Also bauten wir es - es tauchten mehrere Versionen auf.
Meine und @wighawag folgten beide dem gleichen Konzept - wir konnten einfach die unveränderlichen Elemente anhängen, indem wir das designierte Speicherstück in das Ende des zurückgegebenen Bytecodes bei der Konstruktion kopierten.
Der eigentliche Code war ziemlich kurz und bündig.

(Sie können meine alte Impl, die ich vor 3 Jahren zum Spaß gebaut habe, hier sehen lmao: )
Es gab auch zwei Möglichkeiten, zur Laufzeit auf die unveränderlichen Argumente zuzugreifen.
Die erste - meine Art - bestand darin, den Bytecode des Proxys ausgehend von einem konstanten Offset zu lesen. Einfach!
Laden Sie einfach die unveränderlichen Dateien in den Speicher und dekodieren Sie sie gemäß dem von Ihnen eingerichteten Schema.
Die zweite war viel komplexer, aber etwas gaseffizienter und verdammt interessant.
Die Idee war, dass Sie die imveränderlichen Elemente an jeden Aufruf anfügen, den der Proxy delegiert hat. Dies führt zu einem billigeren, unveränderlichen Zugang auf Kosten der Komplexität und höherer Grundgaskosten.
Interessanterweise hat sich Solady (die Bibliothek, die wir jetzt verwenden, verwenden Sie nicht meine kleine Demo in prod heh) ursprünglich für den zweiten Ansatz entschieden!
Aber jetzt haben wir uns alle auf Einfachheit geeinigt, ich kenne keine unveränderlichen Dateien zum Anhängen von Calldaten in prod, und Solady entscheidet sich für den gleichen Ansatz, den ich verwendet habe.
Wie hängt das mit den Konten zusammen?
Der grundlegendste und häufigste Anwendungsfall von Smart Accounts besteht darin, dass sie einem anderen Unterzeichner "gehören".
In der Regel initialisieren Sie dazu das Smart Account mit der Adresse des Besitzers.
Aber mein Bruder onchain, es gibt einen besseren Weg.
Sie haben es wahrscheinlich schon herausgefunden - wir hängen einfach die Adresse des Unterzeichners an den Bytecode des Proxys an.
Einfach.
Dann überspringen wir die Initialisierung vollständig. Leicht. Und der Impl weiß genau, wo sich dieser Besitzer im Bytecode befindet (noch besser, Solady kümmert sich für uns darum).
Und voilà, das leistungsstärkste Smart Account, das jemals erstellt wurde, ist jetzt auch billiger als ein Uniswap-Swap.
Was können wir also daraus lernen?

1. Verfolgen Sie immer Ihre Neugier
Es hätte vielleicht nie einen intelligenten Account gegeben, der diese Technologie verwendet, wenn wir diese Idee der Klone mit unveränderlichen Argumenten nicht schon vor Jahren verfolgt hätten – einfach weil wir sie interessant fanden.
2. Es gibt fast immer eine einfache Lösung
Wenn Sie Komplexität nicht vermeiden können, zerlegen Sie die Komplexität in kleinere, einfachere Teile. Sie sollten in der Lage sein, Ihren gesamten Code jemandem zu erklären, der neu in der Codebasis ist.
Wenn Sie das nicht können, ist Ihre Lösung mit ziemlicher Sicherheit zu komplex.
3. Es gibt eigentlich nichts, was dich aufhält.
Wenn du eine Idee hast, wie du etwas besser machen kannst, dann mach es. Es gibt nichts, was dich aufhält. Ich dachte, das könnte funktionieren, probierte es aus und es tat es.
Du bist zu unglaublichen Dingen fähig, wenn du nur aufhören würdest, dich zurückzuhalten.
Ist Ihr Stack schon zu tief?
Ich hoffe, dieser Thread war einigermaßen interessant.
Wenn du es nett fandest, sei ein Kumpel und kontaktiere deinen Jungen mit einem Like, damit ich mehr als 5 Leute mit meinen Beiträgen hier erreichen kann.
Auch die Benchmarks 😸
Wir sind nicht nur billig im Einsatz.
5,45K
Top
Ranking
Favoriten