2

正在寻找比特币节点实现的库,例如bitcoin-rubytoshi。我想我的问题很基本,但我是这里的新手:是否有必要下载整个区块链(甚至设置一个节点)以便与它交互作为发送/接收交易、获取块数据或创建地址?

4

2 回答 2

2

您可以离线执行的操作,无需与区块链完全同步

  • 创建新的比特币地址
  • 如果您的某些地址中已有资金,请创建要发送的交易

无需与区块链完全同步即可通过连接完成的事情 -

  • 发送交易(广播)

查看 SPV 钱包(例如面包钱包)的实现以了解更多信息。

于 2016-09-29T05:10:49.143 回答
1

无需下载整个区块链即可与比特币网络进行交互。

您应该在比特币开发者指南 p2p 部分中查看如何与对等点进行交互。

还有很多库可以让你与比特币网络进行交互,例如,使用bitcore p2p,你可以与一个对等点池进行交互:

var Pool = require('bitcore-p2p').Pool;
var Networks = require('bitcore-lib').Networks;

var pool = new Pool({network: Networks.livenet});

// connect to the network
pool.connect();

// attach peer events
pool.on('peerinv', function(peer, message) {
  // a new peer message has arrived
});

// Send a message, as soon as the response arrives, the pool will emit the related event.
// If your request is a getheaders message https://en.bitcoin.it/wiki/Protocol_documentation#getheaders
// you should listen for 'peerheaders'
pool.sendMessage(message)

// will disconnect all peers
pool.disconnect()

检查地址余额,如果你不下载整个区块链,你应该下载头链。当你想检查一个地址是否在一个块中时,你可以请求一个merkleblock

在这里这里您可以找到更多关于 spv 客户端的信息。

于 2016-10-18T15:48:22.003 回答