免费教程:建立自己的比特币地址监控工具,实时同步微信
今天的教程,建议你打起精神认真看,认真听,这关乎你如何更放心,安全的长期囤币。
很多朋友,尤其是新朋友,虽然有自己的个人钱包,不管是冷钱包还是热钱包,起码是已经试着把币提到自己钱包里了,这是好事,也是必须做的事情。
因为长期来看,比特币真正的安全感,不应该建立在某个交易所、某个 App、某个客服、某个平台承诺之上,而应该建立在你自己对资产边界的理解之上。
但我也要说一句实话: 把币提到自己的钱包,只是第一步,并不等于你已经真正掌握了比特币。
很多人完成提币以后,会产生一种错觉:币已经到我钱包里了,事情就结束了。
实际上,恰恰相反。 当你把币从交易所提到自己的钱包,那一刻开始,真正的责任才刚刚开始。
你要知道自己的地址是否正确。
你要知道交易是否已经上链。
你要知道这笔交易有没有确认。
你要知道以后如果这个地址发生变化,自己能不能第一时间发现。
你还要知道,钱包 App 里显示的余额,并不是比特币本身,只是它帮你读取链上数据以后展示出来的结果。
这句话可能有点绕,希望你加深理解,因为这非常重要。
实际上你的比特币,不是存在钱包 App 里。
钱包只是帮你管理私钥、生成地址、读取余额、发起交易的工具。
真正记录你资产状态的,是比特币这条公开账本。
而如何实时监控自己比特币囤币地址的变化,就是一个很关键的技能。
那就是给自己的比特币地址,搭建一个自动监控提醒工具。
它的作用非常简单:
你把自己的比特币地址写进去,再填入自己的企业微信机器人 Webhook,然后把这段代码部署到 Cloudflare 上面。
之后,它会按照你设置的时间,比如每 2 小时自动运行一次,去检查这个比特币地址有没有出现新的链上交易。
如果没有变化,它就安静待着,不打扰你。
如果发现新的交易,它就会自动给你的企业微信发送一条提醒。
你可以把它理解成: 给自己的比特币地址装一个电子哨兵。
那么如何做呢?咱们手把手教学:
首先,获得一个企业微信的webhook链接。
你需要下载企业微信,然后创建一个团队,不需要认证,不需要缴费,紧接着在企业通讯录里,手动添加2个员工,信息随便写,不要自动发送邀请通知。

请至少添加2个,然后回到企业微信主界面,点击发起群聊。
在企业通讯录选择这两个员工,完成创建,这时候的微信群是企业微信群,不是个人微信群。
点击右上角三个点【…】,找到【消息推送】,点击添加。
名称,随便写,图标可以默认,简介也不用写,然后点击保存。
这时候,会生成一个Webhook地址,把这个地址复制好,且千万别泄露给任何人。

这时候,我们就可以进行第二步了。
去注册一个 Cloudflare 账号,用国内邮箱没问题,并且这个官网国内可以访问,
打开这个就是中文版界面,直接找到左侧【计算】-【Workers 和 Pages】,选择【创建应用程序】。

选择“从 Hello World!开始”,然后再点击【部署】,部署完毕后,右侧选择【编辑代码】,把左侧的 worker.js 的代码全部删除,复制下面的代码进去。
// ===============================// 比特币地址监控配置区// ===============================// 这里填写你的比特币地址// 例如:bc1qxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxconst BTC_ADDRESS = “这里填写你的比特币地址”;// 这里填写你的企业微信机器人 Webhook// 例如:https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=xxxxxxxxconst WECOM_WEBHOOK = “这里填写你的企业微信机器人Webhook”;// 使用 mempool.space 查询比特币地址交易const MEMPOOL_API_BASE = “https://mempool.space/api";// ===============================// 主程序,不懂代码不要修改下面// ===============================export default { async fetch(request, env) { return new Response( “BTC 地址监控程序正在运行。请设置 Cron Trigger,让它定时检查地址。", { headers: { “content-type”: “text/plain; charset=utf-8”, }, } ); }, async scheduled(event, env, ctx) { ctx.waitUntil(runMonitor(env)); },};async function runMonitor(env) { if (!BTC_ADDRESS || BTC_ADDRESS.includes(“这里填写”)) { console.log(“请先填写 BTC_ADDRESS”); return; } if (!WECOM_WEBHOOK || WECOM_WEBHOOK.includes(“这里填写”)) { console.log(“请先填写 WECOM_WEBHOOK”); return; } if (!env.ADDRESS_MONITOR_KV) { console.log(“请先绑定 KV,变量名必须是 ADDRESS_MONITOR_KV”); return; } await checkBitcoinAddress(env);}async function checkBitcoinAddress(env) { const url = ${MEMPOOL_API_BASE}/address/${BTC_ADDRESS}/txs; const res = await fetch(url, { headers: { “user-agent”: “btc-address-monitor-worker”, }, }); if (!res.ok) { console.log(“查询 BTC 地址失败,状态码:”, res.status); return; } const txs = await res.json(); if (!Array.isArray(txs) || txs.length === 0) { console.log(“这个 BTC 地址目前还没有交易记录”); return; } const latestTx = txs[0]; const latestTxid = latestTx.txid; const oldTxid = await env.ADDRESS_MONITOR_KV.get(“last_btc_txid”); // 第一次运行,只记录最新交易,不推送 // 这样可以避免刚部署时,把历史交易当成新交易提醒 if (!oldTxid) { await env.ADDRESS_MONITOR_KV.put(“last_btc_txid”, latestTxid); await sendWeComMessage( 【BTC 地址监控已启动】\n\n + 你的比特币地址监控已经成功启动。\n\n + 监控地址:${shortAddress(BTC_ADDRESS)}\n\n + 系统已记录当前最新交易,之后如果出现新交易,会自动推送提醒。 ); console.log(“首次运行,已记录最新 BTC 交易:”, latestTxid); return; } if (latestTxid === oldTxid) { console.log(“没有发现新的 BTC 交易”); return; } const confirmed = latestTx.status && latestTx.status.confirmed; const statusText = confirmed ? “已确认” : “未确认”; await sendWeComMessage( 【BTC 地址出现新交易】\n\n + 你的比特币地址出现了新的链上交易。\n\n + 监控地址:${shortAddress(BTC_ADDRESS)}\n\n + 交易状态:${statusText}\n\n + 交易哈希:\n${latestTxid}\n\n + 查看详情:\nhttps://mempool.space/tx/${latestTxid} ); await env.ADDRESS_MONITOR_KV.put(“last_btc_txid”, latestTxid); console.log(“发现新的 BTC 交易,已推送:”, latestTxid);}async function sendWeComMessage(content) { const res = await fetch(WECOM_WEBHOOK, { method: “POST”, headers: { “content-type”: “application/json”, }, body: JSON.stringify({ msgtype: “text”, text: { content, }, }), }); if (!res.ok) { console.log(“企业微信推送失败,状态码:”, res.status); }}function shortAddress(address) { if (!address) return “"; if (address.length <= 24) return address; return ${address.slice(0, 12)}...${address.slice(-12)};}
你只需要修改开头的两个地方就可以
const BTC_ADDRESS = “这里填写你的比特币地址”;const WECOM_WEBHOOK = “这里填写你的企业微信机器人Webhook”;
把你的比特币地址,还有企业微信机器人地址添加进去,不要删除”",这两个符号,就是说,只替换这两个中文内容,其他的任何标点符号都不要动。
修改完后类似下面这样,然后点击部署。
const BTC_ADDRESS = “bc1qxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx”;const WECOM_WEBHOOK = “https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=xxxxxxxx";
这时候已经完成了一大半的功能,我们继续。
同样还是在cloudflare的左侧,找到存储和数据库,再找到【workers KV】,点击右侧【Create namespace】我们来创建数据库。
名字可以填写【ADDRESS_MONITOR_KV】,点击完成。
这时候,再回到我们的【Workers 和 Pages】里面,找到我们刚才创建的代码程序,选择【绑定】-【添加绑定】,找到【KV命名空间】。

紧接着在变量名的地方输入【ADDRESS_MONITOR_KV】,包括下面的KV命名空间里,选择同样的名字,点击【添加绑定】。

这时候,基本工作就完成了,还差一个定时监控功能,我们还是在当前这个窗口,在绑定的旁边有一个【设置】。
找到【触发事件】-【添加】-【Cron触发器】,选择2小时也可以,1小时也可以,甚至30分钟都行,基本上都属于免费额度内可以使用的。

如果想测试一下是否成功,可以回到代码编辑页面,不需要修改代码,只需要在【设定时间】这里面,点击【触发计划的事件】,就能手动触发。

当你点击以后,企业微信会收到这样的提醒。

这时候,你可以试着给你监控的地址发送一点比特币作为测试,当你发送以后,同样也可以手动触发一下,查看是否被计入到打包过程。
如果当前比特币网络打包速度快,你就会看到最新的交易情况和数据。

如果是正常情况下,系统会按照你设置的定时安排,时刻帮你监督地址变化情况。
恭喜你,已经完成了一个真正属于自己的比特币地址监控工具。
当然,我还是要再提醒一遍:
这个工具只需要你的比特币公开地址,不需要你的私钥,不需要你的助记词,不需要你的钱包密码,也不需要你授权任何网站连接钱包。
如果未来有人借着类似教程的名义,让你输入助记词、私钥、交易所密码,或者让你下载陌生软件、授权陌生网站,请你立刻停下来。
今天这个教程,如果你跟着完成了,那么恭喜你,你已经往前走了一步。
这一步不一定让你立刻赚到更多钱,但它会让你更接近一个真正的比特币持有者。

也欢迎不差币的老板,小额赞赏比特币:
3KLy733p6vQDyaKdEY61iGdQPf9pYt9hPv
最后感谢企业微信提供的免费接口,还有互联网第一大善人Cloudflare提供的免费平台和额度。
如果大家对此类教程感兴趣,后续我还会继续完善更多有价值,有意义的私人工具搭建。
主站:www.btchao.com
⬅️购买链接
喜欢一对一私聊,请付费交流
愿你穿越牛熊周期,归来仍是囤币少年。
比特币投资具有高波动性及不可预测的市场风险,请理性评估自身风险承受能力并谨慎决策。本公众号仅作信息分享与个人投资思考,不构成任何投资建议,所有决策需基于个人独立判断。