I need to deploy a buffer to program_id using an app that utlizes a multisig contract. A prudent method to managing deployment is to upload to a buffer with a less trusted account and then use a trusted account or multisig program to upgrade the upgradable account to point to the new buffer.

I can do this using the cli with a ledger or keyfile wallet but in order to utilize the multisig with easy usability (eg. allowing a non technical to sign off) I really need to compose this transaction using the JS sdk and have it work in a dapp with a ledger connected browser wallet.

How do I construct the transaction data using the JSON RPC endpoint or JavaScript SDK for the following cli command to upgrade an upgradable program account:

solana program deploy --program-id XXXXXX --buffer YYYYYY

Ideally I would like to be pointed to a reference for how deployment transactions are created/put together.

I could not find anything on solana cookbook which is usually my guide for how to do stuff like this.

In the JS SDK there exists a load method on BpfLoader but that requires passing in the binary to load.

Any tips appreciated.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Browse other questions tagged or ask your own question.