Пост
Поделитесь своими знаниями.
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
Ответы
2Хотя смарт-контракты Sui не могут напрямую обращаться к объектам по идентификатору в контракте, вы можете обойти эту проблему, используя клиентские библиотеки для извлечения необходимых данных из блокчейна и последующего предоставления их в качестве входных данных для функций смарт-контрактов. Это предполагает использование API или SDK Sui для взаимодействия с блокчейном и извлечения необходимых объектов перед вызовом смарт-контракта. Для работы с такими сценариями разработчики обычно используют клиент Sui или связанные с ним API для внешнего взаимодействия с блокчейном. Эти инструменты могут запрашивать объекты на основе идентификаторов, а затем облегчать передачу этих объектов в функции смарт-контракта в качестве необходимых входных данных.
К сожалению, в смарт-контракте Sui невозможно напрямую получить объект, используя только его идентификатор. Это связано с тем, что смарт-контракты на Sui не имеют прямого доступа к глобальному хранилищу, как смарт-контракты Ethereum. В Sui вам нужно будет получить объект из внешней системы, например из клиентского приложения, а затем передать его в качестве аргумента методу смарт-контракта.
Знаете ответ?
Пожалуйста, войдите в систему и поделитесь им.