问题标签 [trezor]

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 投票
1 回答
219 浏览

ethereum - 错误:gas * price + value 资金不足(出现此错误,我正在使用 trezorjs)

我正在使用 trezorjs 库。我正在 ropstan 创建交易,但我一次又一次地收到此错误。谁能帮我解决这个问题。

0 投票
1 回答
92 浏览

ethereum - Trezor - 无需按下确认按钮即可签署交易

使用 HD 钱包开展项目。我们将为每笔收款生成一个新地址,然后将这些账户扫入我们的主钱包。(需要这样做,因为我们必须将每笔收款与某些数据相关联。)

这是设置并且工作正常。但是,在扫账户的时候,我们每次都要坐在那里按trezor的确认键。有很多交易,这可能会变得乏味。(注意:我们现在使用 python 和 trezorctl 工具)

有没有办法配置trezor,或者数据,这样我们就不需要每次都按那个确认按钮了?

0 投票
1 回答
277 浏览

javascript - 关于使用 xpub 和 Zcash 路径自动派生地址的问题

我目前正在为我的公司开发一个 API,它利用 xpub 和路径来生成地址。

问题是,我设法为我们需要的所有加密货币做到了这一点,除了 Zcash。我们使用的是 Trezor 硬件钱包,而 Trezor connect 对我们不起作用,因为我们需要将流与设备本身分离。

通常,我对所有其他硬币使用 bitcoinjs 库,但我无法为 zcash 导出正确的地址格式。花了很多时间搜索 github 问题,但没有运气。有帮助的话真的很棒,谢谢大家!我的代码目前如下所示:

0 投票
0 回答
29 浏览

java - BufferredWriter.write() 在 Intellij 中处理作品,但不在 jar 中

我正在尝试运行程序trezorctl,通过创建一个运行命令的进程,在Trezor设备旁边签署一个用Java构建的Qtum事务。运行后,您通常需要在确认交易之前输入您的 PIN。ProcessBuildertrezorctl sign-tx <name_of_file>.json

BufferedWriter(OutputStreamWriter(proc.getOutputStream()))通过调用write(pin), then newLine(), then将 PIN 输入到进程中flush()。通过 Intellij 运行程序时,这适用于 Linux 和 Mac,但是当我构建 jar 文件并运行它时,它不会。trezorctl没有收到输入,我的程序在下一个挂起stdInput.next()。在 Windows 上,这种行为也会在 Intellij 上发生。

为什么它会在一种情况下工作而不是另一种情况,即使在同一个操作系统中?当我在 Windows 上手动运行命令行应用程序时,它适用于 cmd,但不适用于 Git bash,表现出类似的行为。我不知道这是否重要,但trezorctl屏蔽了输入,因此您看不到 PIN,这会影响吗?我也试过用 运行我的程序sudo,所以我认为这不是权限问题。

0 投票
0 回答
87 浏览

types - 无法使用使用 Electrum 的 Trezor T 派生的多重签名钱包进行签名 | 无效的脚本类型

我使用单个 Trezor T 使用 Electrum 4.0.9 创建了一个 P2WSH 多重签名钱包,我向该钱包发送了大量 BTC。

当我使用两种不同的衍生产品时,Electrum 允许我使用同一设备设置钱包,一种是“m/48'/0'/0'/2'”,另一种是“m/48'/0'/0 '/3'”。

当我尝试使用第一个钱包派生进行签名时,我得到一个无效的多重签名,这是因为我尝试在第二个钱包派生 3 上签名或查看交易时产生invalid script_type错误。

我在解决这个问题方面取得了一些进展,但遇到了障碍。事实证明,script_type派生“m/48'/0'/0'/2'”中的 2 代表一个 Native Segwit (P2WSH) 钱包,问题是目前script_type在 BIP 48 下定义的唯一另一个是一个嵌套隔离见证(P2SH-P2WSH),用“m/48'/0'/0'/1'”表示。

我从 BIP 48 文档中发现了这一点,该文档概述了以下可能的推导:

m / purpose' / coin_type' / account' / script_type' / change / address_index

[来源:https://github.com/bitcoin/bips/blob/master/bip-0048.mediawiki]

所以显然 Electrum 和 Trezor 允许我使用未定义的 script_type 3 派生密钥,但现在我无法签署任何交易来花费资金,因为脚本没有定义。

当然,我不会将我的错误信息归咎于软件,而且我知道它允许向前兼容,但为什么 Electrum 和 Trezor T 的代码允许使用未定义的脚本进行密钥派生呢?

有什么方法可以script_type通过复制 a script_typeof 2 的代码并将其作为新定义插入来自己定义 3,同时仍然能够从 HD 种子中获取密钥并访问我的资金?

我真的很感谢有足够知识的人帮助我回答这个问题,足以确保一些目前无法使用的资金流向任何可以帮助我解决问题的人。

(我应该补充一点,使用 Trezor T 的 HD 种子进行恢复会导致两个派生的 Zpub 和相应地址不同,尽管在两个多重签名钱包恢复中使用相同的种子和原始 Zpub 用于相应的 cosigner)。