Move.

Beitrag

Teile dein Wissen.

Dominikus .
Jan 12, 2025
Experten Q&A

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
Teilen
Kommentare
.

Antworten

2
Theoremus.
Jan 12 2025, 15:19

Sui Smart Contracts können zwar nicht direkt per ID innerhalb des Vertrags auf Objekte zugreifen, Sie können dies jedoch umgehen, indem Sie clientseitige Bibliotheken verwenden, um die benötigten Daten aus der Blockchain abzurufen und sie dann als Eingabe für die Smart-Contract-Funktionen bereitzustellen. Dies beinhaltet die Verwendung der API oder des SDK von Sui, um mit der Blockchain zu interagieren und die erforderlichen Objekte abzurufen, bevor der Smart Contract aufgerufen wird. Um mit solchen Szenarien umzugehen, verwenden Entwickler in der Regel den Sui-Client oder verwandte APIs, um extern mit der Blockchain zu interagieren. Diese Tools können Objekte anhand von IDs abfragen und dann die Übertragung dieser Objekte in die Funktionen des intelligenten Vertrags als erforderliche Eingaben erleichtern.

1
Beste Antwort
Kommentare
.
Ramirez.
Jan 12 2025, 23:21

Leider ist es innerhalb eines Sui-Smart-Contracts nicht möglich, ein Objekt direkt nur mit seiner ID abzurufen. Dies liegt daran, dass intelligente Verträge auf Sui keinen direkten Zugriff auf den globalen Speicher haben, wie dies bei intelligenten Verträgen von Ethereum der Fall ist. Auf Sui müssen Sie das Objekt von einem externen System, z. B. einer clientseitigen Anwendung, abrufen und es dann als Argument an eine Smart-Contract-Methode übergeben.

1
Kommentare
.

Weißt du die Antwort?

Bitte melde dich an und teile sie.

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

148Beiträge231Antworten
Sui.X.Peera.

Verdiene deinen Anteil an 1000 Sui

Sammle Reputationspunkte und erhalte Belohnungen für deine Hilfe beim Wachstum der Sui-Community.

BelohnungskampagneJuli