makeContractDeploy
Constructs and signs a smart contract deployment transaction. Deploys a Clarity smart contract to the Stacks blockchain.
Usage
import { makeContractDeploy, ClarityVersion } from '@stacks/transactions';
const codeBody = `
(define-public (say-hello)
(ok "hello world"))
`;
const transaction = await makeContractDeploy({
contractName: 'hello-world',
codeBody,
senderKey: 'b244296d5907de9864c0b0d51f98a13c52890be0404e83f273144004b81874603',
network: 'testnet',
fee: 10000n,
nonce: 0n,
clarityVersion: ClarityVersion.Clarity3,
});
const serializedTx = transaction.serialize();Notes
The
codeBodyshould be a valid Clarity source code string.If
clarityVersionis omitted, the latest available version is used.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 a signed StacksTransactionWire object, ready to be broadcast.
Parameters
txOptions (required)
Type:
SignedContractDeployOptions | SignedMultiSigContractDeployOptions
For single-sig, provide senderKey. For multi-sig, provide publicKeys, numSignatures, and signerKeys.
Last updated
Was this helpful?