Sign EVM Transaction
by passbird
HTML
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<!--
Import metakeep sdk.
You can also import npm package if you are using node for building website
e.g.
npm install metakeep@2.2.8
require(metakeep)
-->
<script src="https://cdn.jsdelivr.net/npm/metakeep@2.2.8/lib/index.js" integrity="sha256-dVJ6hf8zqdtHxHJCDJnLAepAyCCbu6lCXzZS3lqMIto=" crossorigin="anonymous">
</script>
</head>
</html>
JavaScript
/* Init SDK */
const sdk = new MetaKeep({
environment: "prod",
/* App id to configure UI */
appId: "9cc98bca-da35-4da8-8f10-655b3e51cb9e",
});
/* Call signTransaction. It returns a promise which returns when the operation succeeds.
Otherwise throws an error.
*/
async function sign() {
try {
const signResponse = await sdk.signTransaction(
// Eth transaction object
{
type: 2,
to: "0x97706Df14A769E28EC897dAc5Ba7bCfa5AA9C444",
value: "0x2710",
nonce: "0x1",
data: "0x0123456789",
gas: 23,
maxFeePerGas: 1000,
maxPriorityFeePerGas: 999,
chainId: 137,
},
// signing reason
"reason",
);
console.log("sign successful");
console.log(signResponse);
} catch (err) {
console.log("Error when trying to sign");
console.log(err.message || err);
}
}
sign();