Move.

Beitrag

Teile dein Wissen.

farshad.
Feb 05, 2025
Experten Q&A

Why do I keep getting 'MoveAbort' error in signAndExecuteTransaction?

I'm trying to make swaps using the functions client.findRouters, client.fastRouterSwap, and client.signAndExecuteTransaction but frequently encounter the 'MoveAbort' error. My balance seems stable at 100+ SUI, yet 1 out of 10 transactions fails. This error still persists after restoring the blockchain. How can I figure out what's going wrong?

  • Move CLI
  • Move
  • Move Module
5
4
Teilen
Kommentare
.

Antworten

4
yhant3.
Feb 5 2025, 11:03

Der Fehler, auf den Sie stoßen, deutet wahrscheinlich darauf hin, dass die Split-Funktion während des Transaktionsprozesses aufgerufen wird und der Saldo möglicherweise nicht ausreicht, auch wenn er stabil erscheint. Wenn Sie Ihre Coin-Objekte und die von Ihnen aufgerufenen Methoden zusammen mit den übergebenen Argumenten überprüfen, können Sie möglicherweise weitere Erkenntnisse gewinnen. Sie könnten auch erwägen, Ihre Objekte während des gesamten Transaktionsprozesses zu verfolgen, um das Problem zu diagnostizieren.

5
Beste Antwort
Kommentare
.
Raju.
Raju183
Feb 5 2025, 11:02

Der Fehler 'moveAbort (MoveLocation {module: moduleId {address: [..], name: Identifier („balance“)}, function: 7, instruction: 10, function_name: Some („split“)}, 2) 'deutet darauf hin, dass möglicherweise ein Problem vorliegt, bei dem der Saldo nicht ausreicht, wenn ein Split-Vorgang versucht wird. Möglicherweise möchten Sie sicherstellen, dass alle Teile Ihres Guthabens bei jeder Transaktion berücksichtigt werden.

4
Kommentare
.
DuAn.
DuAn117
Feb 5 2025, 11:03

Sie sollten auf jeden Fall die an den Transaktionen beteiligten Objekte überprüfen und deren Status genau überwachen. Auch die Überprüfung der spezifischen Transaktionsdetails auf SUIScan könnte zusätzliche Hinweise liefern.

2
Kommentare
.
BigDev.
Aug 15 2025, 16:45

Dieser Fehler bedeutet wahrscheinlich, dass die Split-Funktion mit einem Münzobjekt ausgelöst wird, das zum Zeitpunkt der Ausführung nicht über genügend Guthaben verfügt — auch wenn es vorher gut aussieht. Dies kann passieren, wenn die Münze zu einem früheren Zeitpunkt derselben Transaktion mutiert, ausgegeben oder für eine andere Operation verwendet wurde. Um das Problem zu beheben, überprüfe das tatsächliche Guthaben und den Status der Münze, bevor du Split aufrufst, verifiziere den Betrag, den du teilen möchtest, und überprüfe, wie die Münze während der gesamten Transaktion behandelt wird. Wenn Sie die Nutzung Schritt für Schritt verfolgen, können Sie feststellen, wo etwas schief geht.

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.

270Beiträge616Antworten
Sui.X.Peera.

Verdiene deinen Anteil an 1000 Sui

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