Move.

Допис

Діліться своїми знаннями.

yhant3.
Apr 07, 2025
Питання та відповіді експертів

Як переконатися, що лише власник NFT може передати його в контракті?

Привіт усім! Я працюю над реалізацією контракту NFT і хочу переконатися, що передати його може лише законний власник NFT. У мене є така функція для перенесення:

public fun transfer(
    nft: DevNetNFT, recipient: address, _: &mut TxContext
) {
    transfer::public_transfer(nft, recipient)
}

Чи виконується ця перевірка в рамках public_transferметоду, чи мені потрібно додати додаткову логіку?

  • Move CLI
0
3
Поділитися
Коментарі
.

Відповіді

3
kryptoschain.
Apr 7 2025, 20:34

Для подальшого уточнення, це не конкретно те, public_transferщо перевіряє право власності, а скоріше семантика транзакцій Sui. Щоб транзакція приймала об'єкт як вхідний, ви повинні мати право власності, тобто адреса відправника повинна збігатися з адресою власника об'єкта. Спільні об'єкти, однак, ставляться до кожного як до «власника» для цілей транзакцій.

0
Коментарі
.
deriss.
Apr 7 2025, 20:36

checkWithEGOR Перед передачею NFT public_transferфункція перевіряє, чи зберігає відправник NFT. Таким чином, логіка дійсно вбудована в public_transferметод.

0
Коментарі
.
DuAn.
Apr 7 2025, 21:52

Насправді ця функція вам не потрібна, оскільки ви можете безпосередньо викликати tx.transferObjectsв PTB.

0
Коментарі
.

Ви знаєте відповідь?

Будь ласка, увійдіть та поділіться нею.

Move is an executable bytecode language used to implement custom transactions and smart contracts.

148Пости231Відповіді
Sui.X.Peera.

Зароби свою частку з 1000 Sui

Заробляй бали репутації та отримуй винагороди за допомогу в розвитку спільноти Sui.

Ми використовуємо файли cookie, щоб гарантувати вам найкращий досвід на нашому сайті.
Детальніше