BTC钱包对接流程:

  • 部署钱包节点
  • 分析钱包的API
  • 通过JSON-RPC访问钱包API
  • 部署测试

1.部署钱包节点

虚拟币交易平台对接所有的虚拟币之前,都要在自己的服务器上部署一个钱包节点,首先要找到虚拟币钱包的下载地址和Github地址,本文以BTC为例:

钱包下载地址:https://bitcoin.org/en/wallets/desktop/windows/bitcoincore/

根据不同的服务器系统,选择不同钱包下载文件,进行安装,钱包同步的区块文件比较大,建议安装钱包的目录要有足够的硬盘空间,BTC大概120G左右。

加密钱包

在钱包主页面菜单选择SettingsàEncrypt Wallet,输入2次密码进行加密,切记不要丢失该密码。

备份钱包

在钱包主页面菜单选择FileàBackup Wallet 选择要保存的目录地址,会生成一个BAT文件,该文件就是钱包文件,已防止钱包服务出现问题,一定要保存好。

2.分析钱包的API

BTC钱包API说明地址:https://bitcoin.org/en/developer-reference#rpc-quick-reference

对接钱包主要涉及的方法如下:

WalletLock:锁定钱包

WalletPassphrase:解锁钱包

GetBalance:获取钱包余额

GetNewAddress:生成账户钱包地址

ListTransactions:获取最近的交易列表

GetTransaction:根据txid获取交易详细信息

SendToAddress:向指定的比特币地址发送比特币

3.通过JSON-RPC访问钱包API

虚拟币交易平台想要通过JSON-RPC访问到虚拟币钱包API,首先要在钱包节点开启RPC访问,BTC钱包开启的方式是,在钱包文件夹中增加bitcoin.conf配置文件来配置:

参数说明地址: https://bitcoin.org/en/developer-reference#remote-procedure-calls-rpcs

server:设置为1开启RPC访问

rpcuser:RPC访问用户

rpcpassword:RPC访问密码

rpcport:RPC访问端口

rpcallowip:允许RPC访问的IP

设置好后关闭钱包,重新开启钱包,RPC服务就开启了,RPC开启的端口一定要通过服务器防火墙。

4.部署测试

针对不同开发语言都会有不同的RPC通信方法,大家可以自己搜索,然后去调用钱包的方法传递相应的参数进行测试。

总结

虚拟币交易平台对接不同的钱包,对应的接口都可能有所不同,但主要的实现核心都是:

  1. 开启RPC访问接口

  2. 分配用户唯一钱包地址,标识不同用户

  3. 获取交易列表,确认用户充值信息

  4. 发送金额至不同的钱包地址

最新文章

  1. 扩展方法 1 简单的string扩展方法
  2. opencv png和jpg的叠加
  3. backbone模型层浅析
  4. flash透明效果代码分享~~~
  5. 27. Best Time to Buy and Sell Stock && Best Time to Buy and Sell Stock II && Best Time to Buy and Sell Stock III
  6. nim3取石子游戏 (威佐夫博弈)
  7. java中的自增问题
  8. is not in the sudoers file.This incident will be reported
  9. java实现字符串反转(原作有点错误,需要看下评论)
  10. 详解Java反射各种应用
  11. 将samba加入到windows域《转载》
  12. Memcached源代码分析 - Memcached源代码分析之消息回应(3)
  13. oracle 集合变量以及自定义异常的用法
  14. JQ怎么跳出 each循环
  15. 3. 编写Java应用程序,定义Animal类,此类中有动物的属性:名称 name,腿的数量legs,统计动物的数量 count;方法:设置动物腿数量的方法 void setLegs(),获得腿数量的方法 getLegs(),设置动物名称的方法 setKind(),获得动物名称的方法 getKind(),获得动物数量的方法 getCount()。定义Fish类,是Animal类的子类,统计鱼的数量
  16. 【T-SQL】系列文章全文目录(2017-06-02更新)
  17. 使用node的fs读取文件
  18. 从 <sofa:XXX> 标签开始看 SOFA-Boot 如何融入 Spring
  19. vue深度监控数据改变,缓存数据到本地
  20. ThreadLocal的意义和实现

热门文章

  1. cobbler部署以及使用
  2. Django之自带认证
  3. 三维空间中xoy平面上特定抛物线的正等测投影解析解的一种求法
  4. java 框架 面试 2
  5. 第一次Sprint计划
  6. Teamwork(The fifth day of the team)
  7. IHttpModule理解-知识补充
  8. Internet History, Technology and Security (Week⑨)
  9. Gradle入门(2):构建简介
  10. Java实现小学四则运算练习