Socket
Socket
Sign inDemoInstall

@metamask/sdk

Package Overview
Dependencies
Maintainers
12
Versions
69
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@metamask/sdk


Version published
Weekly downloads
158K
increased by1.84%
Maintainers
12
Weekly downloads
 
Created

Package description

What is @metamask/sdk?

@metamask/sdk is a JavaScript library that allows developers to integrate MetaMask functionalities into their web applications. It provides a set of tools to interact with the Ethereum blockchain, manage user accounts, and facilitate transactions.

What are @metamask/sdk's main functionalities?

Connecting to MetaMask

This feature allows you to connect to the MetaMask wallet and request access to the user's Ethereum accounts. The code sample demonstrates how to initialize the MetaMask SDK, get the provider, and request account access.

const { MetaMaskSDK } = require('@metamask/sdk');
const sdk = new MetaMaskSDK();
const ethereum = sdk.getProvider();

async function connect() {
  try {
    const accounts = await ethereum.request({ method: 'eth_requestAccounts' });
    console.log('Connected account:', accounts[0]);
  } catch (error) {
    console.error('Error connecting to MetaMask:', error);
  }
}

connect();

Sending Transactions

This feature allows you to send transactions through the MetaMask wallet. The code sample demonstrates how to create a transaction object and send it using the MetaMask provider.

const { MetaMaskSDK } = require('@metamask/sdk');
const sdk = new MetaMaskSDK();
const ethereum = sdk.getProvider();

async function sendTransaction() {
  try {
    const transactionParameters = {
      to: '0xRecipientAddress',
      value: '0x29a2241af62c0000', // 0.1 ETH in hexadecimal
      gas: '0x5208', // 21000 GWEI in hexadecimal
    };
    const txHash = await ethereum.request({
      method: 'eth_sendTransaction',
      params: [transactionParameters],
    });
    console.log('Transaction hash:', txHash);
  } catch (error) {
    console.error('Error sending transaction:', error);
  }
}

sendTransaction();

Listening for Events

This feature allows you to listen for events such as account changes and network changes. The code sample demonstrates how to set up event listeners for 'accountsChanged' and 'chainChanged' events.

const { MetaMaskSDK } = require('@metamask/sdk');
const sdk = new MetaMaskSDK();
const ethereum = sdk.getProvider();

ethereum.on('accountsChanged', (accounts) => {
  console.log('Accounts changed:', accounts);
});

ethereum.on('chainChanged', (chainId) => {
  console.log('Chain changed:', chainId);
});

Other packages similar to @metamask/sdk

Readme

Source

MetaMask SDK

The MetaMask SDK enables developers to easily connect their dapps with a MetaMask wallet (Extension or Mobile) no matter the dapp environment or platform.

The MetaMask SDK is a library that can be installed by developers on their projects and will automatically guide their users to easily connect with a MetaMask wallet client. For instance, for dapps running on a desktop browser, the SDK will check if Extension is installed and if not it will prompt the user to install it or to connect via QR code with their MetaMask Mobile wallet. Another example, for native mobile applications, the SDK will automatically deeplink into MetaMask Mobile wallet to make the connection.

The MetaMask SDK instance returns a provider, this provider is the ethereum object that developers are already used to which is here. This provider will now be available for:

Getting Started

The following code examplifies importing the SDK into a javascript-based app. For other languages, check the sections bellow.

Install the SDK:

yarn add @metamask/sdk
or
npm i @metamask/sdk

Import the SDK (for possible parameters check this):

import MetaMaskSDK from '@metamask/sdk'
const ethereum = new MetaMaskSDK({})

Use the SDK:

ethereum.request({method: 'eth_requestAccounts', params: []})

Follow the full documentation

Please access this to read the MetaMask SDK full documentation

Contacts

Contact the MetaMask SDK team for a complimentary design optimization workshop here

FAQs

Package last updated on 12 Apr 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc