209 похожих чатов

У меня абсолютно тупорылый вопрос: Как evm понимает из байткода, что

есть опкод, а что его параметры?

Например: 0x60606040

Это если что:

0x40
PUSH1
0x60
PUSH1

Мне сейчас наверно ответят, что где то в реализации есть пометка, что если есть параметры, то все что после парсится как параметр (uint256 и тд) и далее снова ищется опкод. Но все же как это на примере реализовывают?

Вот задача тупо спарсить байткод и выполнить операцию. В данном случае засунуть значение в «выдуманный» стек.

Кстати я верно понимаю, что evm это просто на любом языке реализация стек машины?

4 ответов

31 просмотр
ilya- Автор вопроса

Я подозреваю, что размерность параметров (u32, u64 и тд) как раз и нужна, чтобы парсер мог понять где заканчивается каждый параметр после того как он нашёл опкод. Например если push1 принимает один параметр конкретного размера, то парсер возьмёт этот размер после опкода а дальше будет искать новые опкоды. Это так?

ilya
Я подозреваю, что размерность параметров (u32, u64...

вроде да. он же всегда добивает нулями оставшееся значение. каждый тип имеет строгий размер

ilya- Автор вопроса
Ruslan Kopylov
вроде да. он же всегда добивает нулями оставшееся ...

Там в клиенте есть импорт evm_types. Надо будет вникнуть как их реализовали.

ilya- Автор вопроса
Ruslan Kopylov
вроде да. он же всегда добивает нулями оставшееся ...

Не понимаю как их матчат. Тупо по длине вектора)

Похожие вопросы

Обсуждают сегодня

@Benzenoid can you tell me the easiest, and safest way to bu.y HEX now?
Živa Žena
20
This is a question from my wife who make a fortune with memes 😂😂 About the Migration and Tokens: 1. How will the old tokens be migrated to the new $LGCYX network? What is th...
🍿 °anton°
2
What is the Dex situation? Agora team started with the Pnetwork for their dex which helped them both with integration. It’s completed but as you can see from the Pnetwork ann...
Ben
1
Anyone knows where there are some instructions or discort about failed bridge transactions ?
Jochem
21
@lozuk how do I get my phex copies of my ehex from a atomic wallet, to move to my rabby?
Justfrontin 👀
11
Hello, Is iExec also part of the "inception program" or another one ? Would it be a name to qualified the nature of the relationship between iExec and Nvidia? And does Secret ...
Ñïķøłäś
8
Ready for some fun AND a chance to win TKO Tokens? Join us for exciting minigames in our Telegram group! 🕒 Don’t miss out—games start on today 25 October 2024, at 8 PM! Ge...
Milkyway | Tokocrypto
255
any reference of this implementation?
BitBuddha
29
Also, why can’t the community have a vote/ say when it comes to initiatives like buybacks. Isn’t the point of crypto decentralisation? Don’t we deserve input as long term supp...
👨🏽‍🦰
13
Hi guys, any problem with Pulsebrige? Trying to transfer from wETH to ETH. First it tells me to connect my metamask "through mobile app" not desktop. Then I did and confirmed ...
Snowflakecrypto
13
Карта сайта