
Security News
Crates.io Users Targeted by Phishing Emails
The Rust Security Response WG is warning of phishing emails from rustfoundation.dev targeting crates.io users.
@dogeuni-org/keyring
Advanced tools
A powerful multi-chain wallet SDK that supports generating, recovering, and managing wallets for multiple blockchain networks.
npm install @dogeuni-org/keyring
import { DogeUniKeyring } from "@dogeuni-org/keyring";
// Create Keyring instance
const keyring = new DogeUniKeyring();
// Generate new mnemonic
const mnemonic = keyring.generateMnemonic();
console.log("Mnemonic:", mnemonic);
// Generate wallets for different networks
const bitcoinWallet = keyring.recoverWallet({
mnemonic,
network: "bitcoin",
index: 0,
});
const dogecoinWallet = keyring.recoverWallet({
mnemonic,
network: "dogecoin",
index: 0,
});
console.log("Bitcoin address:", bitcoinWallet.address);
console.log("Dogecoin address:", dogecoinWallet.address);
import { MultiWalletManager } from "@dogeuni-org/keyring";
import { NetworkType } from "@dogeuni-org/keyring";
// Create wallet manager with specific networks enabled
const enabledNetworks: NetworkType[] = ["bitcoin", "dogecoin", "ethereum"];
const walletManager = new MultiWalletManager(
undefined, // no initial wallets
"my-password", // password
enabledNetworks // only enable specified networks
);
// Check which networks are enabled
console.log("Enabled networks:", walletManager.getEnabledNetworks());
// Add a new network
walletManager.addEnabledNetwork("pepe");
// Remove a network
walletManager.removeEnabledNetwork("ethereum");
// Check if a network is enabled
console.log("Bitcoin enabled:", walletManager.isNetworkEnabled("bitcoin"));
// Reset to all supported networks
walletManager.resetNetworks();
// Recover from private key
const wallet = keyring.recoverFromPrivateKey(
"your-private-key-here",
"bitcoin"
);
// Recover from WIF format
const wifWallet = keyring.recoverFromWIF("your-wif-private-key", "dogecoin");
// Generate 10 Bitcoin addresses
const wallets = keyring.generateMultipleWallets(mnemonic, "bitcoin", 10);
wallets.forEach((wallet, index) => {
console.log(`Address ${index + 1}: ${wallet.address}`);
});
// Sign message
const message = "Hello from DogeUni!";
const signature = keyring.signMessage(
message,
wallet.privateKey,
"ethereumfair"
);
// Verify signature
const recoveredAddress = keyring.verifyMessage(
message,
signature,
"ethereumfair"
);
// Create encrypted wallet
const encryptedWallet = await keyring.createEncryptedWallet(
wallet.privateKey,
"your-password",
"ethereumfair"
);
// Recover from encrypted wallet
const decryptedWallet = await keyring.recoverFromEncryptedJson(
encryptedWallet,
"your-password",
"ethereumfair"
);
new DogeUniKeyring();
Generate a new mnemonic phrase
strength
: Entropy bits (128, 160, 192, 224, 256), defaults to 256Validate if a mnemonic is valid
Generate seed from mnemonic
Generate a new wallet (automatically generates mnemonic)
Recover wallet from mnemonic
Recover wallet from private key
Recover wallet from WIF format private key
Generate multiple wallet addresses
Validate address format
Sign message (only supports Ethereum-like networks)
Verify message signature
Create encrypted wallet
Recover wallet from encrypted JSON
type SupportedNetwork =
| "bitcoin"
| "dogecoin"
| "pepe"
| "classzz"
| "ethereumfair"
| "dogeos";
interface WalletInfo {
address: string;
privateKey: string;
publicKey: string;
network: SupportedNetwork;
derivationPath?: string;
}
interface KeyringOptions {
network: SupportedNetwork;
derivationPath?: string;
password?: string;
}
interface RecoveryOptions {
mnemonic: string;
network: SupportedNetwork;
derivationPath?: string;
password?: string;
index?: number;
}
The SDK uses standard BIP44 derivation paths:
m/44'/0'/0'/0/0
m/44'/3'/0'/0/0
m/44'/60'/0'/0/0
This SDK includes advanced bundle optimization features:
# Standard build
npm run build
# Optimized build
npm run build:optimized
# Production build (maximum compression)
npm run build:prod
# Test different build configurations
npm run build:test
# Analyze Gzip compression
node scripts/gzip-compress.js
# Install dependencies
npm install
# Build the project
npm run build
# Run tests
npm test
# Type checking
npm run type-check
# Linting
npm run lint
# Development build (readable code)
npm run build
# Optimized build (balanced size and debugging)
npm run build:optimized
# Production build (maximum compression)
npm run build:prod
# Test all build configurations
npm run build:test
# Run all tests
npm test
# Run tests in watch mode
npm run test:watch
# Run tests with coverage
npm run test:coverage
The SDK is built for modern browsers and includes necessary polyfills:
Check the demo/
directory for complete examples:
KeyringTest.tsx
- Basic usage exampleMultiWalletTest.tsx
- Advanced multi-wallet functionalityRun the demo:
cd demo
npm install
npm run dev
The SDK implements several optimization strategies:
We welcome contributions! Please see our contributing guidelines:
MIT License - see LICENSE file for details.
If you encounter any issues or have questions:
See CHANGELOG.md for version history and updates.
FAQs
Multi-chain wallet management SDK for DogeUni ecosystem
We found that @dogeuni-org/keyring demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 3 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
The Rust Security Response WG is warning of phishing emails from rustfoundation.dev targeting crates.io users.
Product
Socket now lets you customize pull request alert headers, helping security teams share clear guidance right in PRs to speed reviews and reduce back-and-forth.
Product
Socket's Rust support is moving to Beta: all users can scan Cargo projects and generate SBOMs, including Cargo.toml-only crates, with Rust-aware supply chain checks.