正在寻找比特币节点实现的库,例如bitcoin-ruby和toshi。我想我的问题很基本,但我是这里的新手:是否有必要下载整个区块链(甚至设置一个节点)以便与它交互作为发送/接收交易、获取块数据或创建地址?
问问题
341 次
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。
于 2016-10-18T15:48:22.003 回答