关键词:Nodejs 比特币开发、Mixin Network、比特币钱包、即时转账、无手续费转账、BTC余额查询、冷钱包提现、EOS地址
本指南将手把手带你使用 Nodejs 在 Mixin Network 上创建比特币钱包,完成充值、查询余额、内部转账以及提现到冷钱包的全部流程。所有操作开源、即刻生效且 Mixin Network 内部转账 零矿工费,1 秒内到账。
一、环境准备:安装与依赖
- Node.js ≥ 14
npm install axios crypto fs csv inquirer @mixin/client
确认已拥有可用的 Mixin 账户(机器人或真人账户皆可)。
二、生成 RSA 密钥对 & 注册钱包
1. 创建密钥对
const { generateKeyPairSync } = require('crypto');
const { publicKey, privateKey } = generateKeyPairSync('rsa', {
modulusLength: 1024,
publicKeyEncoding: { type: 'spki', format: 'pem' },
privateKeyEncoding: { type: 'pkcs8', format: 'pem' }
});
2. 申请账号并保存到本地 CSV
const cleanedPubkey = publicKey.replace(/-----[\s\S]*?-----|\n|\r/g, '');
// 调用 client.createUser() 注册
const info = await clientBot.createUser({
full_name: 'nodejs bitcoin wallet',
session_secret: cleanedPubkey
});
// 保存关键信息
fs.appendFileSync(
'wallet.csv',
`${privateKey},${info.pin_token},${info.session_id},${info.user_id},123456\n`
);
后续所有操作都需要这份「私钥 + PIN Token + Session ID + User ID」的组合。
三、初始化客户端 & 首次读取 BTC 余额
注意: 钱包不会自动出现 BTC 资产。只要首次调用对应资产 ID,系统自动创建对应地址。
const BTC_ASSET_ID = 'c6d0c728-2624-429b-8e0d-d9d19b6592fa';
const assetInfo = await newClient.getUserAsset(BTC_ASSET_ID);
console.log('Bitcoin 地址:', assetInfo.public_key);
console.log('当前余额:', assetInfo.balance, 'BTC');
console.log('实时美元价格:$' + assetInfo.price_usd);
示例输出:
Bitcoin 地址: 15MySY7UnA827TRMQWuCKGiogCYXUmt21M
当前余额: 0 BTC
实时美元价格:$5029.599
四、充值:从外部或 Mixin 内部转入
- 外部方式:向上面生成的地址打入 BTC,按比特币主网规则等 1 ~ 3 个确认即到账。
- 内部方式:使用 Mixin Messenger 或自己的机器人内部转账 0 手续费,秒到。
👉 看这里「零矿工费转账」实战示例,让你立刻省下链上 4 美元.
FAQ 1:比特币私钥去哪了?
Mixin Network 通过 分布式门限签名 (TSS) 将私钥拆开到多方节点。用户不直接接触私钥,用 RSA 签名 + PIN + Session 实现转账;安全度媲美冷存储 + 热钱包的混合方案。
五、即时支付:内部转账示例
// 转账全部 BTC
const transfer = await newClient.transfer({
assetId: BTC_ASSET_ID,
recipientId: MASTER_UUID, // 可以是另一个机器人或真人账户
amount: assetInfo.balance,
memo: '内部测试转账'
});
输出得到 trace_id
,用户可随时用该 ID 查询转账状态,体验堪比闪电网络。
FAQ 2:为什么我转账没扣手续费?
任何一笔 Mixin Network 内部交易 均通过链下撮合及多重签名快速确认,不走主网链上广播,故矿工费为 0。
六、提现到冷钱包或交易所
1. 创建提现地址
const wdAddr = await newClient.createWithdrawAddress({
assetId: BTC_ASSET_ID,
label: '冷钱包提现',
publicKey: '14T129GTbXXPGXXvZzVaNLRFPeHXD1C25C'
});
返回字段包含 address_id
和 当前 提现矿工费(示例 0.00257380 BTC)。
2. 提交提现
const withdrawal = await newClient.withdraw({
addressId: wdAddr.address_id,
assetId: BTC_ASSET_ID,
amount: '0.05',
memo: 'from nodejs demo'
});
Mixin 会立即把交易广播至比特币节点,约 10 分钟即可链上确认;用户可用任一生成的交易 ID 去区块链浏览器跟踪。
FAQ 3:怎么查询提现进度?
调用 getWithdrawAddress()
提取最新 address_id
,之后亦能对比链上 TXID;也可查看 withdrawal.trace_id
在以太坊浏览器或比特币区块浏览器上直接追踪。
FAQ 4:支持哪些其他币?
Mixin 同一账号即可管理 BTC、ETH、BCH、LTC、DOGE、EOS、USDT、ERC20、EOS 代币 等上百种资产。流程与上面一模一样,仅需把 ASSET_ID
换成目标币种的 UUID。
常见 ID:
- EOS:6cfe566e-4aad-470b-8c9a-2fd35b49c68d
- ETH:43d61dcd-e413-450d-80b8-101d5e903357
- LTC:76c802a2-7c88-447f-a93e-c29c9e5dd9c8
FAQ 5:EOS 地址为什么与 BTC 不同?
EOS 充值地址由 账户名(eoswithmixin)+ 标签(account_tag) 组成。转账时需在备注/ memo 填写 account_tag
,否则资产无法入账。
七、最佳实践 & 安全提示
- 备份私钥及 PIN Token 到加密 U 盘,不可存储在 GitHub 等公开仓库。
- 定期轮询
verifyPin()
,确保 PIN 未被人为改动。 - 大额资产可优先使用提现到冷钱包再此转移,降低驻网风险。
- 测试网调试完再切主网,避免误转真币。
八、总结
通过 Nodejs + Mixin Network,你已实现:
- 一键创建比特币钱包
- 秒级免费内部转账
- 轻松提现到任何冷钱包或交易所
整套 API 仅需几百行代码,却同时具备速度与安全的最佳平衡。现在就把本地脚本跑起来,体验 最快、最便宜、最省心 的加密资产管理方式吧!