Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Nearly impossible to deploy or upgrade Solana program (contract) #35531

Closed
denisxor opened this issue Apr 25, 2024 · 4 comments
Closed

Nearly impossible to deploy or upgrade Solana program (contract) #35531

denisxor opened this issue Apr 25, 2024 · 4 comments
Labels
community Community contribution

Comments

@denisxor
Copy link

Problem

I'm trying to upgrade my program in past weeks with so-so results. I've used solana program deploy with solana tools of different versions:

  • 0.16.x - has 4 "blockhash expire" retries cycles and no priority fee, send TXes fast (within given cycle) - seems to be most usable after all.
  • 0.17.31 - has 4 "blockhash expire" retries cycles and no priority fee, send TXes slow (with intentional delay) - not usable at all.
  • 0.18.11 - allows to set num retries and priority fee. I've set num retries to 25 and priority fee to 10000 - doesn't work. After 17 "blockhash expire" retries I've got about 50% of program loaded in to the buffer. After that I've got "Error: 4 write transactions failed" and that's it. During the working cycles loading stats are updated unreliably and most of the time there is "resend transactions expired" message with quite unclear meaning. This message id there for 1-10 mins.

Common issue with all these versions is that it is not necessarily print mnemonic phrase to recover the buffer. Each buffer creation costs me 4 SOLs. And I've already lost 4 such buffers because solana program deploy just stops with "Error: write transactions failed" or "Error: buffer write failed" or similar error messages without giving further instructions how to recover the buffer. My statistics of running solana program deploy :
1% - successful deploy (though very time consuming e.g. 2 hours)
50% - errors like "Error: Data writes to account failed: Custom error: Max retries exceeded" - buffer can be recovered on next run.
49% - errors like "Error: write transactions failed" - buffer can NOT be recovered on next run. At least there is no info about mnemonic phrase.

I'm using two commercial RPCs - Triton and Helius. Program deploy results are the same for both so it not RPC problems.
Overall solana program deploy feels like broken and not usable command with leads to significant SOL loss (significant for me at least) :-(

Proposed Solution

  1. Allocate developer resources to USE, TEST and FIX solana program deploy. It seems that no one really tested that command in current highly congested network. Attempts to make it usable in 0.18.11 are far from success :-( Just try to use it and you'll see!
  2. Print ALL information needed to recover money from buffer rent IN ADVANCE as soon as buffer keypair becomes known.
  3. Provide a means (subcommand) to get back money stuck in previous unsuccessful buffers. Even better if one could find such unsuccessful buffers by program update authority.
@denisxor denisxor added the community Community contribution label Apr 25, 2024
Copy link
Contributor

This repository is no longer in use. Please re-open this issue in the agave repo: https://github.com/anza-xyz/agave

@roy-looter
Copy link

roy-looter commented Apr 29, 2024

@denisxor you can recover the sol using "solana program close --buffers". Same problem btw "2 write transactions failed"
Were you able to get them through?

@tuphan-dn
Copy link

They generate the most recent prioritized-fee deployment commands here https://solana.gears.bot/deploy-cmd. Hope it helpful broda.

@benimadimkadir
Copy link

They generate the most recent prioritized-fee deployment commands here https://solana.gears.bot/deploy-cmd. Hope it helpful broda.

Solana Cli doesn't support these arguments. My version is 1.17.34.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
community Community contribution
Projects
None yet
Development

No branches or pull requests

4 participants