Ошибка при объявлении/развертывании контракта в Starknet с помощью starkli

Я пытаюсь объявить о своем первом контракте в Starknet, следуя официальному руководству Starknet .

Проблема в том, что когда я пытаюсь объявить свой контракт с помощью этой команды:

starkli declare path/to/contract.sierra --compiler-version=2.0.1

после установки переменных средыSTARKNET_ACCOUNTиSTARKNET_KEYSTORE

Я получаю ошибку:

Error: expected ',' or '}' at line 11 column 3

Я не знаю, к какому файлу относится эта ошибка, но я предполагаю, что это не мой контракт, поскольку та же ошибка появляется, даже когда я пытаюсь развернуть контракт , уже объявленный в руководстве, с помощью:

starkli deploy <class hash> ...

Я использую Ubuntu и виртуальную среду Python 3.9. В остальном я следовал инструкциям шаг за шагом. Если вам нужна дополнительная информация, я предоставлю ее как можно скорее.

1 ответ

Сообщение об ошибке «Ошибка: ожидается ',' или '}' в строке 11, столбец 3» указывает на проблему с файлом. path/to/contract.sierraкоторый вы пытаетесь развернуть. В новых версиях Starkli необходимо использовать файл JSON, в частности path/to/contract.sierra.json. Если вы используете Scarb для компиляции своего контракта, вы, скорее всего, найдете файл JSON по адресу target/dev/starknetbook_chapter_2_Vote.sierra.json.

Поэтому ваша команда объявления должна быть отформатирована следующим образом:

      starkli declare target/dev/starknetbook_chapter_2_Vote.sierra.json --rpc <RPC-BEING-USED> --account <PATH-TO-ACCOUNT-DESCRIPTION> --keystore <PATH-TO-SIGNER-JSON>

Обратите внимание, что Книга Старкнета была обновлена ​​и включает эти изменения. Для получения более подробной информации посетите следующую ссылку: https://book.starknet.io/chapter_2/deploy_call_invoke.html#contract_deployment .

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