Ошибка: встроенные функции {'keccak'} отсутствуют в макете "все"

Когда я запускаю программу cairo(использую cairo_secp func verify_eth_signature ), я получаю сообщение об ошибке: встроенные функции {'keccak'} отсутствуют в макете «все» (слой = маленький). ПОЧЕМУ?

я хочу запустить программу cairo с помощью функции verify_eth_signature

1 ответ

Cairo — это архитектура процессора для запуска произвольного кода. Для некоторых специфических функций имеет смысл использовать «встроенные модули», которые представляют собой схемы для конкретных функций, которые позволяют выполнять эту функцию быстрее.

В вашем случае вы используете в cairo_secp функцию verify_eth_signature, которая, в свою очередь, использует встроенный keccak.

Комбинируя различные AIR и Cairo, вы получаете макет. Тот, который вы используете по умолчанию, не включает встроенный keccak. Чтобы указать макет, у вас должен быть флаг--layout=small

Вы можете увидеть документацию по макетам здесь https://www.cairo-lang.org/docs/how_cairo_works/builtins.html#layouts

Другие вопросы по тегам