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, щоб гарантувати вам найкращий досвід на нашому сайті.
Детальніше