Ripple XRP Ledger - Не удается получить транзакцию подтвержденной (Testnet)

Я использую testnet для проверки моей транзакции, транзакции:

{ "сделка":"ECAB482EB34177FA1B1E6C724F038C42308004B1F307A169FAEA88C825E11642","Команда": "TX", "идентификатор":0}

Отклик:

{id = 0, status = 'success', errorMessage = 'null', result = TxResult {validated = false}}

Я использую websocket, метод 'tx' для проверки. Как лучше всего решить проблему, есть ли способ узнать причину, по которой она не проверена на некоторых валидаторах testnet?

Я подключен к wss: //s.altnet.rippletest.net: 51233, адрес, который я использую: rKHDh61BpcojAoiATgJgDaVwdSJ64fGNwF. Может кто-нибудь помочь?

Плата составляет 1 000 000 капель. Это блоб транзакции 1200002200000000240000000061D4838D7EA4C680000000000000000000000000005553440000000000C882FD6AB9862C4F90E57E1BA15C248CABAD5BF96840000000000F42407321033BF063167F21FF6C01045B4E2F03F519879B552D2611F0E885E01F08C88D15247446304402202E90609AAFBF4C105408CFF2377D48085879BEE3C7DE57AF125F73926284362A022002D7A487F5929F9A3E1050FC2B5D6AE1DD5384647AD1ABF6D322765F0ABE0A498114C882FD6AB9862C4F90E57E1BA15C248CABAD5BF983148DC6B336C7D3BE007297DB086B1D3483DEA24C2A

Является ли моя транзакция верной? Тогда почему он был правильно отправлен в сеть? Похоже, это действительно, но почему это не подтверждено и, следовательно, завершено в бухгалтерской книге?

Примечание: ответы используют мою внутреннюю модель для представления некоторых свойств, поэтому имена могут немного отличаться, а некоторые свойства опущены.

Результат от "отправить" вызов:

Result :SubmitResult{engineResult='tefPAST_SEQ', engineResultCode=-190, engineResultMessage='This sequence number has already passed.', txBlob='1200002200000000240000000061D4838D7EA4C680000000000000000000000000005553440000000000C882FD6AB9862C4F90E57E1BA15C248CABAD5BF96840000000000F42407321033BF063167F21FF6C01045B4E2F03F519879B552D2611F0E885E01F08C88D15247446304402202E90609AAFBF4C105408CFF2377D48085879BEE3C7DE57AF125F73926284362A022002D7A487F5929F9A3E1050FC2B5D6AE1DD5384647AD1ABF6D322765F0ABE0A498114C882FD6AB9862C4F90E57E1BA15C248CABAD5BF983148DC6B336C7D3BE007297DB086B1D3483DEA24C2A', txJson=TxJson{transactionType='Payment', account='rKHDh61BpcojAoiATgJgDaVwdSJ64fGNwF', destination='rDveJyEotoUp9jCD1Ghi2ktEBnhHiA6RBB', amount=Amount{currency='USD', value=1, issuer='rKHDh61BpcojAoiATgJgDaVwdSJ64fGNwF'}, fee='1000000', flags=0, sequence=0, signingPubKey='033BF063167F21FF6C01045B4E2F03F519879B552D2611F0E885E01F08C88D1524', txnSignature='304402202E90609AAFBF4C105408CFF2377D48085879BEE3C7DE57AF125F73926284362A022002D7A487F5929F9A3E1050FC2B5D6AE1DD5384647AD1ABF6D322765F0ABE0A49', hash='ECAB482EB34177FA1B1E6C724F038C42308004B1F307A169FAEA88C825E11642'}}

Я отправил его несколько раз, поэтому присутствует tefPAST_SEQ.

1 ответ

Выглядит как твой transaction объект имеет sequence поле в нем.
В соответствии с этим ваш sequence может быть заполнен автоматически. Его можно установить вручную, если вы хотите отправить несколько transactions сразу увеличивая их вручную.
Это дает вам контроль над порядком transactions исполняться в определенном порядке. Если это не имеет значения, вы можете просто без установки sequence,

В вашем случае ваша учетная запись выглядит следующим образом (используя account_info):

{
"result": {
    "account_data": {
        "Account": "rKHDh61BpcojAoiATgJgDaVwdSJ64fGNwF",
        "Balance": "10000000000",
        "Flags": 0,
        "LedgerEntryType": "AccountRoot",
        "OwnerCount": 0,
        "PreviousTxnID": "12CA4E5AAF4198155FF3F16E53D35353B051F4AB5E01749833202339B48D187A",
        "PreviousTxnLgrSeq": 11450559,
        "Sequence": 1,
        "index": "169B6BA91A54B2EC86EFB618995A59E76F07853BB88AF231776118339FFD7268"
    },
    "ledger_hash": "449E3420C6B1C6959FA794066264432EF4E98543B0C6582B00D6CD28DE33B8F8",
    "ledger_index": 11523855,
    "status": "success",
    "validated": true
}

Увидеть result.account_data.Sequence являющийся 1?
Причина, по которой вы видите This sequence number has already passed ты настроил sequence=0 в вашем transaction, (предоставлено Result from 'submit' call :)

На заметку, я вижу, вы установили currency='USD' а это значит, что вы должны открыть trust line первый. ваша учетная запись в настоящее время имеет 0 account_lines

В любом случае, удачи в использовании XRP;)

Другие вопросы по тегам