Wie richte ich eine Zahlung in Ripple ein, ohne den Währungsaussteller anzugeben?

Ich möchte mithilfe der API Schuldscheine von einem meiner Konten an ein anderes senden. Beide Konten vertrauen demselben IOU-Aussteller, der eine separate Adresse ist. Gemäß dem Transaktionsformat würde ich den Betragsaussteller auf das empfangende Konto und den SendMax-Aussteller auf das sendende Konto setzen. Wenn ich dies versuche, erhalte ich jedoch einen "Pfad trocken" -Fehler:

{
  "id": 6,
  "status": "success",
  "type": "response",
  "result": {
    "engine_result": "tecPATH_DRY",
    "engine_result_code": 128,
    "engine_result_message": "Path could not send partial amount.",
    "tx_blob": "1200002280000000240000000E5011000000323031342D30392D32335430313A34373A34303A39383834383635303061D4445EADB112E0000000000000000000000000005442430000000000D3BC678DA1AEC545F393F5B0AFD2B8654CE43DB368400000000000000A69D44469DD823458000000000000000000000000005442430000000000D6C315BE3EADA22F12AC21AC94A5FC38CA5AFADA73210220AFA84AEEE2DD794576E98411946D671F8E1F80E6C432B5ABAAAB2957651CD674473045022100FD0F2FECF958294BEA74876A4E5FE4192EA10EFC55C9B166F9F427861D5CBC42022067AA4B5CDA1BEB1D400937888C7819A412B238C79423A3DDB6F4FC8F45D45D618114D6C315BE3EADA22F12AC21AC94A5FC38CA5AFADA8314D3BC678DA1AEC545F393F5B0AFD2B8654CE43DB3",
    "tx_json": {
      "Account": "rL2ZJ8iTF9w5UGr8MzQSt8GpedNmutpEEQ",
      "Amount": {
        "currency": "TBC",
        "issuer": "rLJZHsAbNZu264dWnPCGgpqePAYfNZR1Zk",
        "value": "0.123"
      },
      "Destination": "rLJZHsAbNZu264dWnPCGgpqePAYfNZR1Zk",
      "Fee": "10",
      "Flags": 2147483648,
      "InvoiceID": "000000323031342D30392D32335430313A34373A34303A393838343836353030",
      "SendMax": {
        "currency": "TBC",
        "issuer": "rL2ZJ8iTF9w5UGr8MzQSt8GpedNmutpEEQ",
        "value": "0.12423"
      },
      "Sequence": 14,
      "SigningPubKey": "0220AFA84AEEE2DD794576E98411946D671F8E1F80E6C432B5ABAAAB2957651CD6",
      "TransactionType": "Payment",
      "TxnSignature": "3045022100FD0F2FECF958294BEA74876A4E5FE4192EA10EFC55C9B166F9F427861D5CBC42022067AA4B5CDA1BEB1D400937888C7819A412B238C79423A3DDB6F4FC8F45D45D61",
      "hash": "6CDB694DF36F4BD3AB928A9D761A9F60C285557B3C1136749DF7BC56A46ED641"
    }
  }
}

Obwohl rLJZHsAbNZu264dWnPCGgpqePAYfNZR1Zk und rL2ZJ8iTF9w5UGr8MzQSt8GpedNmutpEEQ demselben Emittenten vertrauen (rTJdjjQ5wWAMh8TL1ToXXD2mZzesa6DSX) und genügend IOUs haben, um die Transaktion abzudecken.

Wie kann ich dieses Problem beheben? Was mache ich falsch?

Antworten (1)

Ripple sucht bei der Verarbeitung von Transaktionen nicht nach Pfaden. Die Pfade müssen zuerst mithilfe von Pfadfindung gefunden und in der Transaktion angegeben werden. Sie erhalten einen Pfadtrockenfehler, weil Sie keine Pfade angeben, sodass der einzige Pfad, den Sie erhalten, der Standardpfad ist.

Eine einfache Lösung besteht darin, den Aussteller des SendMax-Betrags zum Gateway zu machen. Dadurch wird der Kontoknoten des Gateways implizit vor jedem Pfad eingefügt, einschließlich des Standardpfads. Geben Sie alternativ den Kontoknoten des Gateways als expliziten Pfad an oder verwenden Sie die Pfadfindung.