This is a Next.js project bootstrapped with create-next-app.
-
Install MyDogeMask from the chrome store or from source.
-
Run the development server:
yarn dev
-
Open http://localhost:3000 with your browser to run the demo.
const mydogemask = (window as any).doge;
// Check the extension is installed
if (mydogemask?.isMyDogeMask) {
try {
// Each api request supports both promise and callback patterns
// Connect to your website
const connectRes = await mydogemask.connect(/*onSuccess, onError*/);
console.log('connect result', connectRes);
// { "approved": true, "address": "DBKwBLEDY96jBtx1xCmjfBzp9FrNCWxnmM", "balance": "4206912345678" }
// Request connected address balance
const balanceRes = await mydogemask.getBalance(/*onSuccess, onError*/);
console.log('balance result', balanceRes);
// { "address": "DBKwBLEDY96jBtx1xCmjfBzp9FrNCWxnmM", "balance": "4206912345678" }
// Generates a transaction popup, to be confirmed by the user
const txReqRes = await mydogemask.requestTransaction(
{
recipientAddress: 'DAHkCF5LajV6jYyi5o4eMvtpqXRcm9eZYq',
dogeAmount: 4.2,
}
// onSuccess,
// onError
);
console.log('request transaction result', txReqRes);
// { "txId": "b9fc04f226b194684fe24c786be89cae26abf8fcebbf90ff7049d5bc7fa003f0" }
// Disconnect the currently connected address
const disconnectRes = await mydogemask.disconnect(/*onSuccess, onError*/);
console.log('disconnect result', disconnectRes);
// { "disconnected": true }
} catch (e) {
console.error(e);
}
}