dApp Kit
Wallet Hooks
useSignAndExecuteTransactionBlock

useSignAndExecuteTransactionBlock

The useSignAndExecuteTransactionBlock hook can be used to prompt the user to sign and execute a transaction block with their wallet

import {
	ConnectButton,
	useCurrentAccount,
	useSignAndExecuteTransactionBlock,
} from '@mysten/dapp-kit';
import { useState } from 'react';
 
function MyComponent() {
	const { mutate: signAndExecuteTransactionBlock } = useSignAndExecuteTransactionBlock();
	const [digest, setDigest] = useState('');
	const currentAccount = useCurrentAccount();
 
	return (
		<div style={{ padding: 20 }}>
			<ConnectButton />
			{currentAccount && (
				<>
					<div>
						<button
							onClick={() => {
								signAndExecuteTransactionBlock(
									{
										transactionBlock: new TransactionBlock(),
										chain: 'sui:devnet',
									},
									{
										onSuccess: (result) => {
											console.log('executed transaction block', result);
											setDigest(result.digest);
										},
									},
								);
							}}
						>
							Sign and execute transaction block
						</button>
					</div>
					<div>Digest: {digest}</div>
				</>
			)}
		</div>
	);
}

Example

Arguments

  • transactionBlock: The transaction block to sign
  • chain: The chain identifier to sign the transaction block should be signed for

In addition to these options, you can also pass any options that are accepted by the SuiClient.signAndExecuteTransactionBlock (opens in a new tab) method.