Security News
Research
Data Theft Repackaged: A Case Study in Malicious Wrapper Packages on npm
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
@wagmi/core
Advanced tools
@wagmi/core is a library for building web3 applications with ease. It provides a set of hooks and utilities for managing Ethereum-based interactions, such as connecting to wallets, fetching blockchain data, and executing transactions.
Connect to Wallet
This feature allows you to connect to a user's Ethereum wallet using various connectors like MetaMask. The code sample demonstrates how to use the `connect` function to establish a connection.
const { connect } = require('@wagmi/core');
async function connectWallet() {
const { data, error } = await connect({ connector: new InjectedConnector() });
if (error) console.error(error);
else console.log('Connected:', data);
}
Fetch Blockchain Data
This feature allows you to fetch data from the blockchain, such as account balances. The code sample shows how to use the `useAccount` and `useBalance` hooks to retrieve and log the balance of the connected account.
const { useAccount, useBalance } = require('@wagmi/core');
function fetchBalance() {
const { data: accountData } = useAccount();
const { data: balanceData } = useBalance({ addressOrName: accountData?.address });
console.log('Balance:', balanceData);
}
Execute Transactions
This feature allows you to execute transactions on the Ethereum blockchain. The code sample demonstrates how to use the `useSendTransaction` hook to send 1 ETH to a specified address.
const { useSendTransaction } = require('@wagmi/core');
function sendTransaction() {
const { sendTransaction } = useSendTransaction();
sendTransaction({
request: {
to: '0xRecipientAddress',
value: '1000000000000000000', // 1 ETH in wei
},
}).then((result) => console.log('Transaction sent:', result));
}
Ethers.js is a library for interacting with the Ethereum blockchain and its ecosystem. It provides utilities for connecting to Ethereum nodes, managing wallets, and interacting with smart contracts. Compared to @wagmi/core, ethers.js is more low-level and requires more manual setup for common tasks.
Web3.js is a collection of libraries that allow you to interact with a local or remote Ethereum node using HTTP, IPC, or WebSocket. It provides functionalities for sending transactions, interacting with smart contracts, and more. Web3.js is one of the oldest and most widely used libraries for Ethereum development, but it can be more cumbersome to use compared to @wagmi/core.
VanillaJS library for Ethereum
pnpm add @wagmi/core viem
For documentation and guides, visit wagmi.sh.
FAQs
VanillaJS library for Ethereum
The npm package @wagmi/core receives a total of 219,885 weekly downloads. As such, @wagmi/core popularity was classified as popular.
We found that @wagmi/core demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?
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.
Security News
Research
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
Research
Security News
Attackers used a malicious npm package typosquatting a popular ESLint plugin to steal sensitive data, execute commands, and exploit developer systems.
Security News
The Ultralytics' PyPI Package was compromised four times in one weekend through GitHub Actions cache poisoning and failure to rotate previously compromised API tokens.