
Research
/Security News
Malicious npm Packages Target WhatsApp Developers with Remote Kill Switch
Two npm packages masquerading as WhatsApp developer libraries include a kill switch that deletes all files if the phone number isn’t whitelisted.
@bigmi/react
Advanced tools
Bigmi (short for Bitcoin Is Gonna Make It) is a TypeScript library that provides reactive primitives for building Bitcoin applications. Bigmi simplifies Bitcoin app development by offering:
Whether you're building a Node.js application or a client-side app, Bigmi provides the tools you need to interact with the Bitcoin.
Bigmi is modularized into several packages, each suited to different use cases:
pnpm add @bigmi/react
pnpm add @bigmi/core
pnpm add @bigmi/client
Here is an example of a basic usage:
import { useConfig } from '@bigmi/react'
import {
type UTXOSchema,
bitcoin,
getBalance,
getBlockCount,
sendUTXOTransaction,
waitForTransaction,
createClient,
fallback,
rpcSchema
ankr,
blockchair,
blockcypher,
mempool
} from '@bigmi/core'
import { useAccount } from '@bigmi/react'
// Create a public client for interactions with the Bitcoin
const publicClient = createClient({
chain: bitcoin,
rpcSchema: rpcSchema<UTXOSchema>(),
transport: fallback([
blockchair(),
ankr({apiKey: 'YOUR_ANKR_API_KEY'}),
blockcypher(),
mempool(),
]),
})
// Define the Bitcoin address you're working with
const address = 'BITCOIN_ADDRESS';
// Fetch the balance of the address
const balance = await getBalance(publicClient, { address });
console.log(`Balance for ${address}:`, balance);
// Fetch the current block count (height)
const blockCount = await getBlockCount(publicClient);
console.log('Current block count:', blockCount);
// Prepare the transaction hex (as a string)
const txHex = 'TRANSACTION_HEX';
// Send the transaction to the network
const txId = await sendUTXOTransaction(publicClient, { hex: txHex });
console.log('Transaction sent with ID:', txId);
// Wait for the transaction to be confirmed
const transaction = await waitForTransaction(publicClient, {
txId,
txHex,
senderAddress: address,
onReplaced: (response) => {
console.log('Transaction replaced due to:', response.reason);
},
});
console.log('Transaction confirmed:', transaction);
// Getting account information inside the React application
const bigmiConfig = useConfig()
const account = useAccount()
console.log('Bitcoin account address:', account.address);
We are working on more examples to showcase Bigmi's capabilities. Stay tuned!
In the meantime, explore the LI.FI Widget and LI.FI SDK for inspiration.
Detailed documentation is coming soon. For now, refer to the source code and type definitions for guidance.
If you encounter any issues or have questions, please open an issue.
We welcome contributions from the community!
The changelog is regularly updated to reflect what's changed in each new release.
This project is licensed under the terms of the MIT License.
Bigmi is inspired by the wevm stack. We appreciate the open-source community's contributions to advancing blockchain development.
FAQs
React primitives for Bitcoin apps.
The npm package @bigmi/react receives a total of 4,458 weekly downloads. As such, @bigmi/react popularity was classified as popular.
We found that @bigmi/react 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.
Research
/Security News
Two npm packages masquerading as WhatsApp developer libraries include a kill switch that deletes all files if the phone number isn’t whitelisted.
Research
/Security News
Socket uncovered 11 malicious Go packages using obfuscated loaders to fetch and execute second-stage payloads via C2 domains.
Security News
TC39 advances 11 JavaScript proposals, with two moving to Stage 4, bringing better math, binary APIs, and more features one step closer to the ECMAScript spec.