Move.

Пост

Поделитесь своими знаниями.

mssoni.
Feb 17, 2025
Экспертные Вопросы и Ответы

How to call a function from another Move contract?

I've deployed a contract with an address 0x3df... and a public function 'coll'. Now, I'm trying to write another contract that calls this 'coll' function, but I'm getting an error saying 'use 0x3df...::coll; use is invalid. Unbound module'. I've seen suggestions about using a dependencies file but I'm not sure how to implement this properly. What steps should I take to resolve the error and successfully call the function?

  • Move CLI
  • Move
1
2
Поделиться
Комментарии
.

Ответы

2
Raju.
Feb 17 2025, 15:37

Чтобы вызвать функцию из другого контракта Move, вам понадобится исходный код первого пакета. Если она доступна локально или на GitHub, ее следует добавить в файл Move.toml в качестве локальной зависимости. Когда вы опубликовали свой первый пакет, был создан файл Move.lock, содержащий опубликованный адрес пакета. Этот адрес будет использоваться в другом проекте, зависящем от опубликованного пакета. Вот ресурс по настройке зависимостей: Переместить книгу в манифест.

1
Комментарии
.
Michelle .
Feb 17 2025, 15:37

Убедитесь, что вы правильно настроили локальные зависимости. Вместо прямого использования «используйте 0x3df»... ::coll; ', вы должны убедиться, что первый пакет правильно интегрирован. Ошибка, которую вы видите, обычно говорит о том, что модуль не распознан, так как он неправильно связан с вашими зависимостями.

0
Комментарии
.

Знаете ответ?

Пожалуйста, войдите в систему и поделитесь им.

Мы используем файлы cookie, чтобы гарантировать вам лучший опыт на нашем сайте.
Подробнее