You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于Discord.JS实现[!btc]指令每次请求返回新Blockchain比特币地址的技术咨询

当然可以实现每次请求返回新的比特币地址!

要做到这一点,你有两种靠谱方案:调用第三方API生成新地址,或者在本地使用加密库生成地址(更稳定,不依赖外部服务)。下面我推荐第二种方案,用bitcoinjs-lib库在本地生成全新的BTC地址,替换你代码里的静态地址部分。

步骤1:安装依赖

首先在你的项目目录下安装比特币地址生成库:

npm install bitcoinjs-lib

步骤2:修改你的代码

把原来的case "btc"部分替换成下面的代码,保留你原本的交互逻辑,只替换地址生成的部分:

case "btc":
    // 生成新的比特币地址
    const bitcoin = require('bitcoinjs-lib');
    const keyPair = bitcoin.ECPair.makeRandom();
    const { address } = bitcoin.payments.p2pkh({ pubkey: keyPair.publicKey });

    const btc = new Discord.MessageEmbed()
        .setColor('#003087')
        .setTitle('Payment Method: Bitcoin! <:btc:878247766067908610>')
        .setDescription(`Bitcoin Address: **${address}**`)
        .setFooter("Created and Developed by ❤️");
    
    // 保留你原来的交互逻辑
    message.delete();
    message.channel.send(`<a:loading:885542082234629809> Please wait..`)
        .then((msg) => { 
            setTimeout(function () { 
                msg.edit(`${message.author.toString()}.`); 
            }, 5000) 
        });
    
    setTimeout(() => { message.channel.send(btc); }, 5500);
    break;

额外说明

  • 这段代码每次触发!btc指令时,都会生成一个全新的随机比特币私钥和对应的P2PKH地址(最常见的BTC地址格式)。
  • 如果你需要后续能取出这个地址里的资金,一定要把keyPair.toWIF()的结果存储到数据库或者安全的文件里——私钥是掌控地址资金的唯一凭证,丢失了就再也找不回资金了。
  • 如果你更倾向于使用blockchain.com的官方API,也可以调用他们的接收地址生成接口,但需要你准备好钱包的xpub密钥,并且要处理异步请求的逻辑,相对本地生成会麻烦一点。

内容的提问来源于stack exchange,提问作者tanaallen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.30 09:52:42