Move.

Допис

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

Dominikus .
Jan 12, 2025
Питання та відповіді експертів

How to fetch objects by ID in a Sui smart contract?

I've been working on a Sui smart contract and want to understand how to fetch an object by its ID from within the smart contract itself. From what I've gathered, it seems like smart contracts on Sui don't have the direct capability like in Ethereum's Solidity to access storage and retrieve objects by their IDs. I'm looking for some guidance on whether this is possible directly within the smart contract or if I need to approach it differently.

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

Відповіді

2
Theoremus.
Jan 12 2025, 15:19

Хоча смарт-контракти Sui не можуть безпосередньо отримати доступ до об'єктів за ідентифікатором у межах контракту, ви можете обійти це, використовуючи бібліотеки на стороні клієнта, щоб отримати необхідні дані з блокчейна, а потім надати їх як вхід до функцій смарт-контракту. Це передбачає використання API або SDK Sui для взаємодії з блокчейном та отримання необхідних об'єктів перед викликом смарт-контракту. Для вирішення таких сценаріїв розробники зазвичай використовують клієнт Sui або пов'язані API для зовнішньої взаємодії з блокчейном. Ці інструменти можуть запитувати об'єкти на основі ідентифікаторів, а потім полегшити передачу цих об'єктів у функції смарт-контракту як необхідні вхідні дані.

1
Найкраща відповідь
Коментарі
.
Ramirez.
Jan 12 2025, 23:21

На жаль, в рамках смарт-контракту Sui неможливо безпосередньо отримати об'єкт, використовуючи лише його ідентифікатор. Це пояснюється тим, що смарт-контракти на Sui не мають прямого доступу до глобального сховища так, як це роблять смарт-контракти Ethereum. У Sui вам потрібно буде отримати об'єкт із зовнішньої системи, наприклад програми на стороні клієнта, а потім передати його як аргумент методу смарт-контракту.

1
Коментарі
.

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

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

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

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

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

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

Кампанія винагородЛипень