问题标签 [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.
c - c++ 中函数的奇怪转换 (void (**)())
我正在阅读比特币 trezor MCU 的代码,发现:
通过分解一些东西,我试图分析这条线的含义:
我可以看到这是一个没有参数的函数调用,因为()
最后是
指着。
我知道这FLASH_APP_START + 4
会解决一些问题,所以我只需要弄清楚这是什么:
它正在解决任何void (**)()
指向的问题。但什么是void (**)()
?也许它看起来像是一个函数的转换。但我不确定。你能给我举个例子来说明这个呼召是什么吗?你为什么需要那个?
c - 如何在 Docker 容器中为 gcc 设置规范文件
我正在尝试构建 TREZOR 固件,它使用 docker。Dockerfile 内容:
当 gcc 在 Docker 中编译 libopencm3 时,出现错误:
错误:“for”循环初始声明只允许在 C99 模式下注意:使用选项 -std=c99 或 -std=gnu99 编译代码
我的第一个想法是为 gcc 创建规范文件并在此处添加 -std=c99 。但由于一切都在 Docker 容器中运行,我不知道如何解决这个问题。可能是我错了。有什么建议么?谢谢
python - 使用比特币 trezor 的 ssh 代理
我正在尝试使用硬件钱包trezor.io作为 ssh 协议的登录代理,这是一个很酷的想法。
根据他们的做法
http://doc.satoshilabs.com/trezor-apps/sshagent.html
我正在尝试继续安装:
但它失败了:
我正在使用 ubuntu 14 lts 并且没有使用 python 的经验。我删除了大部分编译日志
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'
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
c# - UWP USB DeviceWatcher 不起作用
首先,我应该指出,我已将我需要与之交谈的设备添加到我的应用程序清单中,并且我能够成功地与该设备交谈。我可以使用以下行获取设备的此设备信息:
但是,由于某种原因,如果我尝试使用产品 ID 和供应商 ID 监视设备,则监视者的事件永远不会触发。我试过这个:
和
当我插入设备或使用设备启动应用程序时,添加的事件永远不会触发。我必须强调我可以在我的应用程序中使用这个设备,并且我已经三次检查了 VendorId 和 ProductId。只是观察者不起作用。我被困住了。
有没有人有提示或示例应用程序?
编辑:我已经尝试过官方的 UWP 示例应用程序。我将 VendorId 和 ProductId 替换为我需要在代码和应用清单中使用的设备值。样本也有同样的问题。
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 中发布的问题与更多信息有关:
- https://github.com/trufflesuite/truffle/issues/973
- https://github.com/ethereum/web3.js/issues/1669
- https://github.com/trezor/connect/issues/130
亲切的问候
getTrezorConnect 函数只是异步获取 window.trezorConnect 因为对象是作为脚本注入的
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
bitcoinj - 如何使用 bitcoinj 和其他一些 c 程序离线签署比特币交易
我们想做一个像trezor或ledger这样的设备,我们尝试在使用像trezor这样的c程序的离线设备上签署交易,首先我们的在线应用程序获取utxos并获取TansactionInput,但我们不知道如何更改输入到预签名哈希,以及用 c 程序签名。有没有人必须这样做,你能给我们一些建议吗?
arm - 链接描述文件中的对齐
我正在查看 trezor 的引导加载程序链接器脚本:
可以在这里找到。
我知道代码需要 32 位( ALIGN(4) )对齐,因为如果 ARM 处理器尝试访问未对齐的地址,它可能会崩溃,但我不明白为什么堆栈对齐是 8 个字节,而且你为什么要这样做需要浪费(?)512字节来对齐闪存部分?!
我想了解在编写链接描述文件时如何确定对齐方式。
预先感谢您的回答!
编辑:
我想我回答了我自己的问题:
1..flash部分:
它是这样对齐的,因为它里面的向量表总是需要“32字对齐”。在Trezor 的板载链接器脚本中也可以看到这种情况。如您所见,向量表是 512 字节(4 x 32 字)对齐的。
2. .stack 部分:
根据ARM 自己的文档,堆栈部分需要始终保持 8 字节对齐。
PS当然,如果不是这样,请纠正我。