问题标签 [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 投票
2 回答
106 浏览

c - c++ 中函数的奇怪转换 (void (**)())

我正在阅读比特币 trezor MCU 的代码,发现:

通过分解一些东西,我试图分析这条线的含义:

我可以看到这是一个没有参数的函数调用,因为()最后是

指着。

我知道这FLASH_APP_START + 4会解决一些问题,所以我只需要弄清楚这是什么:

它正在解决任何void (**)()指向的问题。但什么是void (**)()?也许它看起来像是一个函数的转换。但我不确定。你能给我举个例子来说明这个呼召是什么吗?你为什么需要那个?

0 投票
0 回答
112 浏览

c - 如何在 Docker 容器中为 gcc 设置规范文件

我正在尝试构建 TREZOR 固件,它使用 docker。Dockerfile 内容:

当 gcc 在 Docker 中编译 libopencm3 时,出现错误:

错误:“for”循环初始声明只允许在 C99 模式下注意:使用选项 -std=c99 或 -std=gnu99 编译代码

我的第一个想法是为 gcc 创建规范文件并在此处添加 -std=c99 。但由于一切都在 Docker 容器中运行,我不知道如何解决这个问题。可能是我错了。有什么建议么?谢谢

0 投票
1 回答
142 浏览

python - 使用比特币 trezor 的 ssh 代理

我正在尝试使用硬件钱包trezor.io作为 ssh 协议的登录代理,这是一个很酷的想法。

根据他们的做法

http://doc.satoshilabs.com/trezor-apps/sshagent.html

我正在尝试继续安装:

但它失败了:

我正在使用 ubuntu 14 lts 并且没有使用 python 的经验。我删除了大部分编译日志

0 投票
0 回答
249 浏览

swift - 由 SwiftProtobuf 转换的 Protobuf 文件不能在 Xcode 9 / Swift 4 中编译

我是 protobuf 的新手,正在尝试使用Swift-protobuf将Trezor protobuf文件转换为 Swift 。

Trezor protobuf 文件在代码中没有syntax = "proto3";orsyntax = "proto2";行。添加syntax = "proto3";导致错误消息:Explicit 'optional' labels are disallowed in the Proto3 syntax。将文件转换为 Swift as-in(没有任何语法行)有效(Swift-protobuf 默认为 Proto2)。

但是,将文件添加到 Xcode 9 / Swift 4.0 会导致以下错误。SwiftProtobuf 框架已使用 Cocoapods 添加到项目中。我该如何解决?

Use of undeclared type 'Google_Protobuf_EnumValueOptions'

Use of undeclared type 'Google_Protobuf_FileDescriptorSet'

Use of unresolved identifier 'clearExtensionValue'

0 投票
1 回答
267 浏览

c# - 从 GetAddress 获取地址时出错 - Trezor 开发

我正在为 Trezor 构建一个 C# HID 库。它运作良好。我能够越过 pin 条目并检索我的 xpub,并且可以获得地址。但是,返回的地址与我在 Trezor 钱包网站上的任何地址都不匹配。

您可以在此处查看 HID 文档: https ://doc.satoshilabs.com/trezor-tech/api-workflows.html#passphrase-meta-workflow

这不是一个真正的 C# 问题。相反,对于任何 Trezor HID 开发人员来说,这是一个普遍的问题。最大的问题是,如果我将 HDNodePathType 消息作为 GetAddress 方法的 Multisig 属性传递,我会收到错误“无法编码地址”。我需要通过 GetAddress 消息传递什么来获取有效地址?

这是一个 Android 存储库: https ://github.com/trezor/trezor-android

0 投票
1 回答
733 浏览

c# - UWP USB DeviceWatcher 不起作用

首先,我应该指出,我已将我需要与之交谈的设备添加到我的应用程序清单中,并且我能够成功地与该设备交谈。我可以使用以下行获取设备的此设备信息:

但是,由于某种原因,如果我尝试使用产品 ID 和供应商 ID 监视设备,则监视者的事件永远不会触发。我试过这个:

当我插入设备或使用设备启动应用程序时,添加的事件永远不会触发。我必须强调我可以在我的应用程序中使用这个设备,并且我已经三次检查了 VendorId 和 ProductId。只是观察者不起作用。我被困住了。

有没有人有提示或示例应用程序?

编辑:我已经尝试过官方的 UWP 示例应用程序。我将 VendorId 和 ProductId 替换为我需要在代码和应用清单中使用的设备值。样本也有同样的问题。

0 投票
2 回答
2868 浏览

ethereum - 使用 Trezor(硬件钱包)将签名交易发送到 Ropsten 或 Truffle 开发网络

我试图将web3js与Trezor 集成到truffle开发网络或使用ropsten测试网络

想法是使用硬件钱包签署交易,然后使用 web3js 发送原始交易

我知道我们没有余额来进行交易,可能是因为 web3js 没有使用 10 个松露帐户之一,而是使用不在我本地网络中的 trezor 地址..

在 ropsten 我有一些以太币,我得到“无效地址”

有没有办法使用 web3js 将签名交易(使用 trezor)发送到松露开发网络?我的意思是,有没有办法将 trezor 地址包含到松露网络中?

这里更详细地解释了松露的情况,但问题可以概括为“有没有办法将硬件钱包包含在松露开发网络中? ”:https ://github.com/trufflesuite/truffle/issues/973

使用 ropsten 我已经设法在回调中发送交易并接收交易哈希,但是如果我们查询该交易,我们会得到交易不存在..所以..这怎么可能?

我也尝试将合约部署到 Ropsten 中,现在在调用智能合约功能时我得到“无效地址”。也许签名功能是错误的?任何人都可以将 Trezor 交易签名与 web3js 集成在一起吗?

你们在我们遵循的签名和发送过程中发现任何问题吗?也许R,V和S参数处理有问题..

另一个重要的事情是我正在使用https://github.com/ethereumjs/ethereumjs-tx来创建原始交易

在 web3js、truffle 和 trezzor 中发布的问题与更多信息有关:

亲切的问候

getTrezorConnect 函数只是异步获取 window.trezorConnect 因为对象是作为脚本注入的

0 投票
2 回答
1944 浏览

ethereum - Geth + web3js 发送签名交易时发送者无效

我使用https://trezor.io/发送签名交易

我已成功将交易发送至:

  • 松露开发网络
  • 罗普斯滕

现在我使用一个私有的本地 go-ethereum 节点,签名交易的调用与 truffle 和 ropsten 的代码完全相同,我Invalid sender在发送交易时得到

在对此进行一些研究时,我发现此错误是由于没有相同的chainId和networkId而产生的,我检查了我的配置以及我如何运行geth节点并且chainId与networkId相同

我在我的 geth 节点的 genesis.json 中指定了链 id 10

我用networkId 10运行节点:

关于为什么会发生这种情况的任何想法?

我正在使用 geth 1.8 和 web3 1.0-beta33

我认为这与 geth 的配置有关,因为正如我所说,我已经使用相同的代码向 Truffle dev 和 Ropsten 发送了事务

这是我发送交易的方式(源代码)https://github.com/ethereum/web3.js/issues/1669

0 投票
1 回答
254 浏览

bitcoinj - 如何使用 bitcoinj 和其他一些 c 程序离线签署比特币交易

我们想做一个像trezor或ledger这样的设备,我们尝试在使用像trezor这样的c程序的离线设备上签署交易,首先我们的在线应用程序获取utxos并获取TansactionInput,但我们不知道如何更改输入到预签名哈希,以及用 c 程序签名。有没有人必须这样做,你能给我们一些建议吗?

0 投票
1 回答
1629 浏览

arm - 链接描述文件中的对齐

我正在查看 trezor 的引导加载程序链接器脚本:

可以在这里找到。

我知道代码需要 32 位( ALIGN(4) )对齐,因为如果 ARM 处理器尝试访问未对齐的地址,它可能会崩溃,但我不明白为什么堆栈对齐是 8 个字节,而且你为什么要这样做需要浪费(?)512字节来对齐闪存部分?!

我想了解在编写链接描述文件时如何确定对齐方式。

预先感谢您的回答!

编辑:

我想我回答了我自己的问题:

1..flash部分:

它是这样对齐的,因为它里面的向量表总是需要“32字对齐”在Trezor 的板载链接器脚本中也可以看到这种情况。如您所见,向量表是 512 字节(4 x 32 字)对齐的。

2. .stack 部分:

根据ARM 自己的文档,堆栈部分需要始终保持 8 字节对齐。

PS当然,如果不是这样,请纠正我。