问题标签 [bitcoinj]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
1524 浏览

java - 使用 bitcoinj(纸钱包)生成隔离见证地址和私钥

可以使用以下使用bitcoinj 主分支的代码生成有效的旧比特币密钥对:

这将创建一个可用的传统 base58 编码的公共地址和私钥,例如1ERzRYYdbibaQt2kuNfgH8spuoqQxYkwQbL3AuZ2vNt11ac2xSi6AYwzXyftqSVPcSuHNdTsSuRfknXvoRtWzF相应地。

问题是如何执行相同的操作来获取隔离见证密钥对

我查看了bitcoinj 文档,但找不到任何用于直接作为 segwit 生成地址的 API。

通过查看测试segwit 拉取请求,我发现以下代码(附加到上面的代码)会产生一个 segwit 地址(即以 , 开头的3地址31uLnxKteEYa2u1vgWyVPkTpVfUGduCV82

我的理解是上面的代码应该用于多重签名场景,因此我不确定这是否是从单个私钥派生隔离见证地址的正确方法。这是生成纸质隔离见证钱包的正确/可靠/安全代码吗?

另外,有没有办法使用 bitcoinj 为私钥添加 BIP38 密码保护?该类BIP38PrivateKey仅具有从现有 base58 表示中解密 BIP38 密钥的方法,但没有用于 BIP38 密码加密的方法。

0 投票
1 回答
137 浏览

java - 比特币协议 GetAddr 返回警报消息

我正在 Android/Java 中实现比特币协议。当我发送 getaddr 消息时,对等方会以警报消息响应

消息流如下:

  1. 发送版本消息
  2. 收到版本消息
  3. 发送一个verack消息
  4. 收到一条verack消息

当我尝试发送getaddr 消息时,我的对等方会以警报消息响应。

这是应用程序中逻辑的一小段代码:

并且是一些日志的片段

如果我连续 4 次发送相同的 getaddr 消息 - 最终对方会回复一条 addr 消息(带有 1 个 addr - 他自己的地址)

0 投票
1 回答
1846 浏览

java - 如何使用 Java 为以太坊生成确定性密钥?

我正在尝试为以太坊混合BitcoinJWeb3j. 确定性密钥是使用生成BitcoinJ的,而以太坊凭证使用Web3j. 但是使用凭证生成的地址Web3j并不像预期的那样。

输出0x2c4186d0422d0462a48c92cd559cbc30f528855b

预期0x72445fcFdEB1Fff79496D7Ce66089d663Ff90E26

代码中的误解在哪里?

0 投票
1 回答
603 浏览

bitcoinj - 为 LTC 派生 BIP32/BIP44 地址以匹配 Jaxx

我正在使用https://github.com/bitcoinjs/bitcoinjs-lib从私钥派生 LTC 钱包地址,以便跟踪 Jaxx LTC 钱包的交易。

生成的前几个地址与 Jaxx 的地址匹配(准确地说是前 9 个),但其他地址不匹配。

我将结果与https://iancoleman.io/bip39/进行了比较,结果是一致的。

我使用的派生路径是m/44'/2'/0'/0.

我还测试了 BTC 地址,只有前 5 个地址匹配。

所以问题是:

  1. 为什么地址在一些正确后变得不同?
  2. 如何获得与 Jaxx 地址的一致匹配?
0 投票
1 回答
3929 浏览

java - BitcoinJ 从私钥生成地址

我面临一个关于addressprivate key.

我从那里获得了主私钥electrum并且从bitcoin core 那里开始

在比特币J中:

我怎样才能转换9s21xxxxxxxxxxxxxxxxxbytes[] or BigInteger.

尝试:

它抛出异常,因为它由于数字格式而无法转换。

尝试2:

它从中生成有效地址ECKey,我address通过electrum. 但是钱包没有收到钱。不知道钱去哪了。

我应该怎么做才能将主私钥转换为BigInteger or bytes[]

PS:我是初学者cryptocurrency

0 投票
1 回答
1234 浏览

java - 如何从 1 个公钥生成多个比特币地址?

我面临一个关于生成比特币地址的问题。

我有public key

我想addressesxpub.

我正在使用bitcoinJ图书馆。

它抛出以下异常:

未压缩编码的长度不正确

我读了很多文章,我发现Ripemd160(SHA256(string));.
之后hashing,我encodeBase58,但无法实现多个地址。

0 投票
1 回答
209 浏览

java - Bitcoinj 获得钱包的估计余额

简单的问题,我只是想获得估计的余额。

当我汇款时,我想在该交易未决时获得估计余额。不是余额,而是估计余额。请检查下面的链接。

https://bitcoinj.github.io/javadoc/0.14/org/bitcoinj/wallet/Wallet.BalanceType.html

我读了这个页面,但我很难理解我必须如何输入这个。

这是我目前的方法。

0 投票
0 回答
387 浏览

java - BitcoinJ 钱包显示错误的余额

我越来越熟悉BitcoinJ。所以现在有一个用户第一次注册的功能,应该为他创建地址。但它不起作用。它说已经有一些钱了。

我在输出中有什么:

但是如果我在区块链中查看这个地址,它显示为 0。那么如何正确创建钱包呢?

0 投票
0 回答
144 浏览

public-key-encryption - base58 不能得到 34 个字符的结果(就像比特币地址那样),但是 68 个字符

我正在尝试将公钥十六进制转换为比特币地址。

从这个网站http://gobittest.appspot.com/Address,我可以做一些测试。

例如,我有这个公钥:

根据网站,地址应该是:

这是 的 base58 编码0088C2D2FA846282C870A76CADECBE45C4ACD72BB655DA1216

但是,如果我直接0088C2D2FA846282C870A76CADECBE45C4ACD72BB655DA1216在这个网站https://www.browserling.com/tools/base58-encode上进行 Base58 编码,我会得到:

这与 34 个字符的比特币地址完全不同。

有谁知道为什么?

0 投票
0 回答
73 浏览

bitcoinj - 使用 bitcoinJ 开发比特币钱包时谁收取费用

嘿,我是 android 开发的新开发人员。我有一个问题,我在网上搜索并没有找到答案。我希望有人能对我说清楚。谁在使用 bitcoinJ 库创建新的钱包应用程序时收取费用?我可以将我的开发者钱包地址发送到我的钱包或将这些费用发送到 bitcoinj 吗?我根本不清楚谁收到这些费用。第二个问题:有没有办法在使用 bitcoinj 或任何其他库的每笔交易中收取费用并将其发送到我的钱包。谢谢