接受比特币支付:简洁高效的方式

在数字世界中,接受比特币支付从未如此简单。accept-bitcoin 是一款专为开发者设计的工具,它基于强大的bitcore库,让您无需安装本地比特币节点RPC客户端即可轻松实现在线支付处理。
项目简介
accept-bitcoin 的核心功能包括:
- 轻量且快速:利用高效的bitcore库构建。
- 避免复杂配置:无需运行本地比特币节点,而是采用Blockr API进行操作。
- 安全无忧:创建一次性地址以接收比特币,并安全地将收入转移到您的离线账户。
- 简单配置:易于上手,让任何水平的开发者都能迅速集成。
开始使用
通过npm一键安装:
npm install accept-bitcoin
然后加载AC,您就可以开始了!
var acceptBitcoin = require('accept-bitcoin');
var ac = new acceptBitcoin('YOUR_BITCOIN_ADDRESS');
动机
传统的比特币支付处理方式需要编写复杂的代码,并安装比特币RPC客户端,这会消耗大量的CPU、网络和存储资源。此外,大部分用户会使用钱包来储存比特币,为了安全起见,建议将钱包保存在“冷存储”中。了解更多关于这个项目背后的动机,您可以访问我的博客文章。
示例
您可以覆盖默认设置:
示例代码可以在 GitHub examples 中找到。
var settings = {network: 'live'};
var acceptBitcoin = require('accept-bitcoin');
var ac = new acceptBitcoin('YOUR_BITCOIN_ADDRESS', settings);
key = ac.generateAddress({alertWhenHasBalance: true});
console.log("Hello buyer! please pay to: " + key.address());
key.on('hasBalance', function(amount){
console.log("thanks for paying me " + amount); //do stuff
key.transferBalanceToMyAccount(function(err, d){
if (d.status === 'success') console.log("Cool, the bitcoins are in my private account!");
});
});
设置选项
您可以根据需求调整以下设置:
| 参数名 | 类型 | 默认值 | 备注 | |--------------------------|------------|----------------------------|----------------------------------------------------------------------------------------------------| | payToAddress | 字符串 | - | 您希望转移收入的比特币地址。 | | network | 字符串 | test | 选择您的比特币RPC环境。可选值:test 和 live。更多信息见此处。 | | password | 字符串 | - | 设置随机密码加密生成的密钥。 | | storePath | 字符串 | ./keys.txt | 存储所有临时生成的密钥文件路径。 | | encryptPrivateKey | 布尔值 | false | 是否加密存储的密钥(使用password)。 | | payReminderToAddress | 字符串 | payToAddress | 如果转账金额小于收入和费用时。 | | includeUnconfirmed | 布尔值 | false | 包含未确认的交易,检查余额时。 | | checkTransactionEvery | 整数 | 1000 * 60 * 2 (2分钟) | 查询交易的频率(毫秒)。 | | checkBalanceTimeout | 整数 | 1000 * 60 * 60 * 2 (2小时) | 检查地址余额的超时时间(毫秒)。 | | checkUnspentTimeout | 整数 | 1000 * 60 * 60 * 2 (2小时) | 检查地址未花费交易的超时时间(毫秒)。 | | minimumConfirmations | 整数 | 6 | 触发hasBalance事件所需的最小确认次数。 | | txFee | 浮点数 | 0.0001 | 转账到另一个地址的手续费。 |
关键类
这个类负责创建新的比特币地址,存储它们以及在它们之间转移资金。一些关键函数包括:
storeKey(wk):将密钥存储到本地文件,可以进行加密。checkBalance():当一个地址有最低余额时,通知您。payTo(payToAddress, options, callback):从当前地址转移所有余额到另一个地址。
加密类
包含帮助器,用于加密和解密字符串,用于本地存储密钥数据。
贡献
欢迎贡献!您可以 fork 项目,加星标,分享并添加自己的代码到项目中。帮助他人,让社区更强大。
源码是用CoffeeScript编写的,位于 src 目录下。每次修改文件后,都会有一个工具自动将其转换为 JavaScript 文件并放置在 lib 目录下。只需运行 cake build 即可。
许可证
本项目遵循 MIT 许可协议。
让我们一起开启便捷的比特币支付体验,让数字货币走进日常生活!
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



