makeUnsignedContractDeploy
Constructs an unsigned smart contract deployment transaction. Use this when you need to sign the transaction separately.
Usage
import {
makeUnsignedContractDeploy,
TransactionSigner,
ClarityVersion,
} from '@stacks/transactions';
const codeBody = `
(define-public (say-hello)
(ok "hello world"))
`;
const transaction = await makeUnsignedContractDeploy({
contractName: 'hello-world',
codeBody,
publicKey: '034f355bdcb7cc0af728ef3cceb9615d90684bb5b2ca5f859ab0f0b704075871aa',
network: 'testnet',
fee: 10000n,
nonce: 0n,
clarityVersion: ClarityVersion.Clarity3,
});
// Sign later
const signer = new TransactionSigner(transaction);
signer.signOrigin('b244296d5907de9864c0b0d51f98a13c52890be0404e83f273144004b81874603');Notes
Use
makeContractDeployif you have the private key and want to sign in one step.If
feeis omitted, the fee is estimated automatically.If
nonceis omitted, the nonce is fetched automatically.
Signature
Returns
Promise<StacksTransactionWire>
A promise that resolves to an unsigned StacksTransactionWire object. Must be signed before broadcasting.
Parameters
txOptions (required)
Type:
UnsignedContractDeployOptions | UnsignedMultiSigContractDeployOptions
For single-sig, provide publicKey. For multi-sig, provide publicKeys and numSignatures.
Last updated
Was this helpful?