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 signchain
: 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.