标签: bitcoin

使用C#.NET查询LOCAL比特币区块链

我试图通过使用本地存储的区块链(通过比特币核心下载)来检查给定比特币地址的余额.与此类似的东西(通过使用NBitCoin和/或QBitNinja),但无需访问网络:

private static readonly QBitNinjaClient client = new QBitNinjaClient(Network.Main);

public decimal CheckBalance(BitcoinPubKeyAddress address)
{
    var balanceModel = client.GetBalance(address, true).Result;
    decimal balance = 0;

    if (balanceModel.Operations.Count > 0)
    {
        var unspentCoins = new List<Coin>();
        foreach (var operation in balanceModel.Operations)
            unspentCoins.AddRange(operation.ReceivedCoins.Select(coin => coin as Coin));
        balance = unspentCoins.Sum(x => x.Amount.ToDecimal(MoneyUnit.BTC));
    }
    return balance;
}
Run Code Online (Sandbox Code Playgroud)

上面的示例需要访问网络.我需要离线做同样的事情.我想出了类似的东西,但显然它不起作用:

public decimal CheckBalanceLocal(BitcoinPubKeyAddress address)
{
    var node = Node.ConnectToLocal(Network.Main);
    node.VersionHandshake();
    var chain = node.GetChain();

    var store = new BlockStore(@"F:\Program Files\Bitcoin\Cache\blocks", Network.Main);

    var index …
Run Code Online (Sandbox Code Playgroud)

.net c# bitcoin blockchain

174
推荐指数
1
解决办法
8954
查看次数

获取比特币历史数据

我想做自己的比特币图表.

您是否知道检索比特币历史价格数据的可靠方法?有没有办法使用REST检索它?我看到Bitfloor,它支持REST,但它没有返回任何有用的值,它有一个"内部服务器错误".

我也看到了Bitcoincharts,但我认为它仅限于2000个数据值.

你会建议我使用任何框架或系统吗?

bitcoin

121
推荐指数
7
解决办法
12万
查看次数

RegEx匹配比特币地址?

我正在尝试根据这些规范提出一个匹配比特币地址的正则表达式:

比特币地址或简称地址是27-34个字母数字字符的标识符,从数字1或3开始[...]

我认为它看起来像这样

/^[13][a-zA-Z0-9]{27,34}/
Run Code Online (Sandbox Code Playgroud)

事实是,我对正则表达式并不擅长,而且我没有找到一个单一的来源来确认这不会产生假阴性.

我在网上发现了一个^1[1-9A-Za-z][^OIl]{20,40},但我甚至不知道这个[^OIl]部分是什么意思,它似乎与3比特币地址不匹配.

regex bitcoin

33
推荐指数
5
解决办法
2万
查看次数

(比特币)从getwork函数计算哈希 - 怎么做?

当我在bitcoind服务器上调用getwork时,我得到以下内容:

./bitcoind getwork
{
    "midstate" : "695d56ae173bbd0fd5f51d8f7753438b940b7cdd61eb62039036acd1af5e51e3",
    "data" : "000000013d9dcbbc2d120137c5b1cb1da96bd45b249fd1014ae2c2b400001511000000009726fba001940ebb5c04adc4450bdc0c20b50db44951d9ca22fc5e75d51d501f4deec2711a1d932f00000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000080020000",
    "hash1" : "00000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000010000",
    "target" : "00000000000000000000000000000000000000000000002f931d000000000000"
}
Run Code Online (Sandbox Code Playgroud)

该协议似乎没有记录.如何根据此数据计算哈希值.我认为这些数据是小端的.那么第一步是将所有内容转换为大端?完成后,我计算数据的sha256.数据可以分为两个每个64字节的块.第一个卡盘的散列由中间状态给出,因此不必计算.

因此,我必须使用中间状态作为初始哈希值来使用sha256对chunck#2进行散列.一旦完成,我最终得到一个块2的哈希值,它是32字节.我再次计算此块的哈希值以获得最终哈希值.

然后,我将所有内容转换为小端并提交作品吗?

hash1用于什么?

sha256 bitcoin

25
推荐指数
2
解决办法
1万
查看次数

分布式哈希表技术和比特币区块链之间有什么区别?

这个问题可以进入比特币论坛,但我试图从编程的角度来理解.

存在用于分布式存储的技术,例如分布式哈希表(例如kademlia或类似的).比特币区块链与分布式哈希表有何不同?或者是支持比特币区块链的分布式哈希表技术?或者为什么比特币区块链被称为与DHT相比这样的突破?

distributed hashtable dht bitcoin blockchain

22
推荐指数
1
解决办法
8219
查看次数

如何为金额的比特币地址生成QR码?

我最接近的是来自blockchain.info

https://blockchain.info/qr?data=1Agb153xWsbqS9vt8gP4vBFKHkAchLMdSX&size=200

我找不到其他参数的文档,比如'amount'了吗?

我确实找到了一个名为http://www.btcfrog.com/qr/的服务,该服务生成一个金额的QR码.我以前从未听说过他们(相信?).鉴于此代码将显示在网站上,我不确定要为"纠错级别"或"代码平方大小"放置什么.

bitcoin

17
推荐指数
3
解决办法
2万
查看次数

在javascript中将字节数组转换为十六进制字符串转换

我有一个表单的字节数组[4,-101,122,-41,-30,23,-28,3,..],我想以6d69f597b217fa333246c2c8 我在函数下面使用的形式转换

function toHexString(bytes) {
  return bytes.map(function(byte) {
    return (byte & 0xFF).toString(16)
  }).join('')
}
Run Code Online (Sandbox Code Playgroud)

这给了我一个相同形式的字符串,但我怀疑它不是一个有效的转换,因为十六进制字符串比预期短一点.我认为翻译应该得到"0a10a6dc".请告诉我,如果我错了或这是一个正确的转换,但也许我没有使用正确的字节数组

字节数组 4,-127,45,126,58,-104,41,-27,-43,27,-35,100,-50,-77,93,-16,96,105,-101,-63,48,-105,49,-67,110,111,26,84,67,-89,-7,-50,10,-12,56,47,-49,-42,-11,-8,-96,-117,-78,97,-105,9,-62,-44,-97,-73,113,96,23,112,-14,-62,103,-104,90,-14,117,78,31,-116,-7

相应的转换 4812d7e3a9829e5d51bdd64ceb35df060699bc1309731bd6e6f1a5443a7f9ceaf4382fcfd6f5f8a08bb261979c2d49fb771601770f2c267985af2754e1f8cf9

javascript arrays data-conversion bitcoin

17
推荐指数
5
解决办法
3万
查看次数

Chrome扩展程序:比特币钱包

可以制作镀铬扩展程序来维护比特币钱包,同时还可以让网上商店轻松集成一键购买体验.

假设点击了网页上的按钮.是否有可能触发对chrome扩展的函数调用来发送比特币?

显然,让网页无限制地访问Chrome扩展程序永远不会被设计出来.但有没有办法使这项工作安全?

google-chrome google-chrome-extension bitcoin

16
推荐指数
2
解决办法
1209
查看次数

实现比特币和java.util.Currency

我正在尝试添加比特币作为货币在我的网站上显示.我有汇率和一切,但IllegalArgumentException每当我使用时我都会收到java.util.Currency.getInstance("BTC").这是有道理的,因为它没有包含在ISO 4217货币代码列表中,也没有包含在Java 7中.我已经看到了几个选项,但没有什么能真正解决我的问题.

  1. 根据Java 平台文档,您可以通过创建文件来覆盖特定区域设置的货币$JAVA_HOME/lib/currency.properties.这是一个问题,因为比特币不依赖于特定的区域,也不应该用来代替任何国家的货币.

  2. StackOverflow帖子中提供了另一个类似的情况,其中中国有第二个货币代码可供使用,因此解决方案是构建自己的currency.data文件,为中国语言环境添加第二种货币.这样做更好,但仍存在将货币绑定到区域设置的问题.

有没有人遇到这个问题或找到了解决方法?我知道比特币相对较新,但能够以比特币格式显示价格会很酷.

java currency java-7 bitcoin

16
推荐指数
1
解决办法
1656
查看次数

查看外国比特币交易

我正在尝试使用交易信息

bitcoind gettransaction \
  9962d5c704ec27243364cbe9d384808feeac1c15c35ac790dffd1e929829b271
Run Code Online (Sandbox Code Playgroud)

但我收到了

error: {"code":-5,"message":"Invalid or non-wallet transaction id"}
Run Code Online (Sandbox Code Playgroud)

如何使用比特币API查看交易?

bitcoin

15
推荐指数
3
解决办法
2931
查看次数