stacks-network / stacks-core

The Stacks blockchain implementation
https://docs.stacks.co
GNU General Public License v3.0
3.01k stars 668 forks source link

Include Contract Calls in the Pre-Launch Testnet transactions #5021

Closed saralab closed 3 weeks ago

saralab commented 3 months ago

Current PreLaunch Testnets (Naka-1, Naka-2, Naka-3) all use STX transfers for testing. Update this to include contract calls to better simulate mainnet transactions.

BowTiedRadone commented 2 months ago

@moodmosaic and I have an implementation in place to publish contracts and execute contract calls on a specified testnet. However, when deploying contracts to Naka-2, we frequently encounter an issue where the address we're using accumulates a large mempool, with numerous contracts and contract calls pending publication. Interestingly, this issue does not occur when deploying to the other two testnets, Naka-1 and Naka-3.

After the mempool is "full", we are getting the following error response:

AxiosError: Request failed with status code 400 (transaction rejected: TooMuchChaining)

It's important to note that the transactions stuck in the mempool never get published. As a result, we have to restart our deployment tools and manually adjust the nonce, even though we are retrieving the nonce from the API.

image
BowTiedRadone commented 2 months ago

Here is the response from calling the nonces endpoint:

$ curl https://api.nakamoto-2.hiro.so/extended/v1/address/ST31X86B33XYDVXY34ZMBY09SAX1GR9V2CH9G2RZ4/nonces
{
  "last_executed_tx_nonce": 22,
  "last_mempool_tx_nonce": 49,
  "possible_next_nonce": 50,
  "detected_missing_nonces": [
    48,
    47,
    46,
    45,
    44,
    43,
    42,
    41,
    40,
    39,
    38,
    37,
    36,
    35,
    34,
    33,
    32,
    31,
    30,
    29,
    28,
    27,
    26,
    25,
    24,
    23
  ],
  "detected_mempool_nonces": []
}
blockstack-devops commented 2 weeks ago

This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.