question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Send transaction to horizon: "op_too_many_subentries"

See original GitHub issue

Sending a large number of operations (1000 = 10 transactions * 100 operations) to the network through my horizon, response 400: “op_too_many_subentries”

fee increased to 20000, does not help.

on the stellar-core configuration (stellar-core.cfg), changed the parameters:

FLOOD_OP_RATE_PER_LEDGER=10000 FLOOD_TX_PERIOD_MS=1 didn’t help either.

result code:

      "transaction": "tx_failed",
      "operations": [
        "op_success",
        "op_too_many_subentries",
        "op_too_many_subentries",
        "op_too_many_subentries",
        "op_too_many_subentries",
        "op_too_many_subentries",
         ..........................

I made delays in the code, it also did not help. python code:

coms =1200
sell_offer_transaction = TransactionBuilder(
                                source_account=source_account,
                                network_passphrase=network_passphrase,
                                base_fee=coms
                            )
        
    for a,b in enumerate(r_aqua_b):
        if a>0 and a % 100 == 0:
#            sell_offer_transaction = sell_offer_transaction.set_timeout(30)
            sell_offer_transaction = sell_offer_transaction.build()
            sell_offer_transaction.sign(seller_secret_key)
            connected = False
            while not connected:
                try:
                    time.sleep(7)
                    sell_offer_transaction_resp = server.submit_transaction(sell_offer_transaction)
                    connected = True
                except Exception as e:
                    coms += 100
                    print(str(e), 'coms:',coms)
            print("sell count: ",a,"\n sum: ",str(round(r1_aqua_b[a],7)), str(1/b), sell_offer_transaction_resp)
#            pprint(vars(sell_offer_transaction.transaction.operations[0]))
            del sell_offer_transaction, sell_offer
            sell_offer_transaction = TransactionBuilder(
                                        source_account=source_account,
                                        network_passphrase=network_passphrase,
                                        base_fee=coms
                                    )
#            time.sleep(15)
        sell_offer = ManageSellOffer(
            selling=asset_a, buying=asset_b, amount=str(round(r1_aqua_b[a],7)), price=str(1/b)
            )
        sell_offer_transaction.append_operation(sell_offer)
#        print(sell_offer)

#    sell_offer_transaction = sell_offer_transaction.set_timeout(30)    
    sell_offer_transaction = sell_offer_transaction.build()
    sell_offer_transaction.sign(seller_secret_key)
    sell_offer_transaction_resp = server.submit_transaction(sell_offer_transaction)
#    print("send last: \n",sell_offer_transaction_resp)

Issue Analytics

  • State:closed
  • Created a year ago
  • Comments:12 (4 by maintainers)

github_iconTop GitHub Comments

2reactions
hbirkdalecommented, Apr 6, 2022

@minherc My understanding is that the number of operations/transactions you send is technically independent from the number of subentries associated with the account. I could have an account with 10 subentries and the operations and transactions I send will be limited by whatever the operation/transaction limit is. However, if my subentry count is 1000, and I try and send an operation/transaction that adds to the subentries – that transaction will fail with the too many subentries error.

2reactions
overcatcommented, Apr 6, 2022

Hi, hope this article is useful https://developers.stellar.org/docs/glossary/accounts/#number-of-subentries

On Wed, Apr 6, 2022 at 7:41 PM Minherc @.***> wrote:

@overcat https://github.com/overcat, @hbirkdale https://github.com/hbirkdale, thanks for answers, in the account from which transactions are set, subentry_count=997, what does this mean? Can I send 997 operations in 10 transaction (100 op. jn 1 trans.) at one time from this account? Where can I read about it, what does this indicator mean, what does it affect and how can it be managed?

ps the previous 1000 operations from this account have passed. pps I thought that this was a limitation in my horizon or in stellar-core

— Reply to this email directly, view it on GitHub https://github.com/StellarCN/py-stellar-base/issues/579#issuecomment-1090170748, or unsubscribe https://github.com/notifications/unsubscribe-auth/AASCHEYERUFOZG3PBWQLLHTVDVZ5NANCNFSM5SUATBAQ . You are receiving this because you were mentioned.Message ID: @.***>

Read more comments on GitHub >

github_iconTop Results From Across the Web

Creating a payment transaction - Stellar Python SDK
In this example, the destination account must exist. We use synchronous methods to submit transactions here, if you want, you can also use...
Read more >
Unable to send payments · Issue #3188 · stellar/go - GitHub
I am able to connect and make payments through SDF Horizon servers but I see the same error without receiving transaction hash in...
Read more >
horizonclient - Go Packages
Package horizonclient provides client access to a Horizon server, allowing an application to post transactions and look up ledger information.
Read more >
Stellar API Reference - Stellar Documentation
This API serves the bridge between apps and Stellar Core. Projects like wallets, decentralized exchanges, and asset issuers use Horizon to submit transactions, ......
Read more >
Companion Guide for Transaction and Communications ...
2320. CAS01. Claim Adjustment. Group Code. CO. Horizon BCBSNJ strongly recommends sending this information to adjudicate the claim appropriately. 2330A. NM108.
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found