Bitcoinj学习笔记之初识

BitcoinJ

研究区块链,看了很多论文,我会将我理解的点滴记录在这里。当然论文与coding是完全分不开的,今天开始分享一下我看bitcoinj的笔记以及一些翻译。
Bitcoin官网在这里,里面有很完整的文档已经很活跃的社区,现有很多Bitcoin App就是基于bitcoinj的。

1.什么是bitcoinj


这是一个支持比特币协议的java库。它支持钱包功能,可以不需要本地拥有比特币核心代码就可以发送或接受交易,还有很多其他新的特性。bitcoinj是由java实现但其他JVM兼容的语言也可以使用,例如python、JavaScript。

2.特性


高度优化的SPV(lightweight simplified payment verification)模式。在这个模式中只需要下载区块链很小的一部分,这样有利于在性能有限的设备上使用bitcoinj,例如智能手机、便宜的虚拟服务器。

钱包类具有加密,费用计算,多重签名,确定性密钥推导,可插拔硬币选择/硬币控制,扩展支持和事件监听器等功能,让您随时了解您的余额变化。

网络IO提供异步和多线程链接,允许在可伸缩和类似SOCK/Tor代理的Blocking-only特性中选择。

一个简单地图形界面的钱包app,可以在此基础上创建自己的应用。

实验性的全验证模式和进行和比特币源码一样的验证工作。在这个模式中,计算为花费的交易输出集存储在PostgreSQL中。

支持微支付通道,可以在客户端与服务器端建立多签名协议,然后在通道上进行协商允许快速微支付以避免矿工的费用。

3.开始使用


1.下载JAR包或者使用Maven和Gradle,也可以直接从github上下载代码
2.阅读中本聪写的白皮书,了解比特币的基本工作原理、交易结构以及区块链。

坚持原创技术分享,记录点滴成长历程!