Mina Docs|Ledger 硬體錢包

admin
admin
管理员
135
文章
0
粉丝
硬體錢包百科评论阅读模式

您可以使用您的 Ledger Nano S 硬體錢包安全存儲您的 Mina 私鑰。


我们正在研究對 Ledger Nano X 的支持,但还没有完成。


支持的操作包括:

  • 密鑰對生成

  • 簽署付款交易

  • 簽署委托交易

该应用程式还不能透過實时用户界面进行安装,但如果您有一个 Nano S,您可以按照下面的說明把它侧载到您的 Ledger 設備上。


目前,我们还在进行一个独立且尚未發现漏洞的安全审核評估,否则開發工作已接近完成。

使用时请自负風险。并确保您備份了您的分类 Ledger 的 BIP39 私密助記词,或者使用一个单独的 Ledger 設備来测試这个应用程式。

永遠不要在主网的测試网中重复使用相同的密鑰對!



内容


  • 在 Ubuntu 上安装

  • 在 Mac 上安装

  • 在 Windows 上安装

  • 生成一个密鑰對

  • 验證您的私鑰

  • 离线模式

  • Mina Ledger 的审计



在 Ubuntu 上安装


在安装之前,请确保您的 Ledger 設備已更新到最新的固件并已完全配置。特别是,确保 Ledger 的 udev 規则已經安装。


如果安装了 udev 規则,则会存在 /etc/udev/rules.d/20-hw1.rules 。如果这个文件不存在,那么您需要訪問 Ledger 的网站,并按照 Linux 說明修复連接問题,或者,對于高級用户来說,您可以在 LedgerHQ Github 上找到 udev 規则。


1) 安装 Python 3

$ sudo apt-get install python3


2) 安装 pip3

$ sudo apt-get install python3-pip


3) 安装必備库

sudo apt-get install libudev-dev libusb-1.0-0-dev python-dev virtualenv


4) 為 Ledger Blue,Nano S 和 Nano X 安装 Python 工具

$ sudo pip3 install ledgerblue


5) 下载 ledger-app-mina

从 Github 下载最新的 ledger 应用程式 Mina 版本。我们目前已經测試了 1.0.0-beta.4 版本。


6) 验證 checksum

sha256sum ledger-app-mina-1.0.2-0-g843e809c.tar.gz

將上述命令的输出与發布在下载页面上的 SHA256 哈希值进行比較。如果它们匹配,则繼续下一步。


7) 提取存档

$ tar xvzf ledger-app-mina-1.0.2-0-g843e809c.tar.gzledger-app-mina-1.0.2-0-g843e809c/READMEledger-app-mina-1.0.2-0-g843e809c/install.shledger-app-mina-1.0.2-0-g843e809c/uninstall.shledger-app-mina-1.0.2-0-g843e809c/mina_ledger_walletledger-app-mina-1.0.2-0-g843e809c/bin/app.hex


8) 启动安装脚本

注意:如果您已經安装了以前的版本,您可以透過 uninstall.sh 卸载。

$ cd ledger-app-mina-1.0.2-0-g843e809c$ ./install.shPlease unlock your Ledger device and exit any apps (press any key to continue)Generated random root public key : b'04e95715d4813ab98c92833da9b169d3ff6ee11a4f94a465503cc91e77aaea688d45a0449f41bfaa2a1a789730e72d0ace759ca7c2b8a12e82c94cda61530cc363'Using test master key b'04e95715d4813ab98c92833da9b169d3ff6ee11a4f94a465503cc91e77aaea688d45a0449f41bfaa2a1a789730e72d0ace759ca7c2b8a12e82c94cda61530cc363'

这將開始应用程式的安装(在接下来的步驟中繼续进行操作)。


重要提示:如果您已經在步驟 6) 中验證了 checksum,那么您可以在后续步驟中忽略上面的公鑰以及“应用程式标識符”和“应用程式完整哈希值”。这些警告是因為 ledger -app-mina 还不是一个公认的的 Ledger 应用。


9) 允許“不安全管理器”

您的 Ledger 設備会警告您安装脚本是一个不安全的管理器。

< X Deny unsafe manager >

点擊左键直到您看見脚本。

< ✓ Allow unsafe manager >

選择这个選项。


10) 安装 Mina 应用

您的 Ledger 設備会詢問您是否想安装 Mina 应用程式。

< M Install app Mina >

点擊左键直到您看見脚本。

< ✓ Perform installation >

選择此選项并输入您的帐户 PIN 碼。


如果安装成功,安装脚本將成功終止,您將在已安装的应用程式列表中看到 Mina 徽标。


11) 安装命令行錢包

$ sudo cp ./mina_ledger_wallet /usr/local/bin/



在 Mac 上安装


在安装之前,请确保您的 Ledger 設備已更新到最新的固件并已完全配置。


1) 安装 Homebrew

$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

欲了解更多信息,请訪問Homebrew 网站


2) 安装 python3

brew install python3


3) 為 Ledger BlueNano S 和 Nano X 安装 Python 工具

$ pip3 install ledgerblue


4) 下载 ledger-app-mina

从 Github 下载最新 Mina 版本的 Ledger 应用程式。


5) 验證 checksum

shasum -a 256 ledger-app-mina-1.0.2-0-g843e809c.tar.gz

將上述命令的输出与發布在下载页面上的 SHA256 哈希值进行比較。如果它们匹配,则繼续下一步。


6) 提取存档

$ tar xvzf ledger-app-mina-1.0.2-0-g843e809c.tar.gzledger-app-mina-1.0.2-0-g843e809c/READMEledger-app-mina-1.0.2-0-g843e809c/install.shledger-app-mina-1.0.2-0-g843e809c/uninstall.shledger-app-mina-1.0.2-0-g843e809c/mina_ledger_walletledger-app-mina-1.0.2-0-g843e809c/bin/app.hex


7) 启动安装脚本

注意:如果您已經安装了以前的版本,您可以透過 uninstall.sh 卸载。

$ cd ledger-app-mina-1.0.2-0-g843e809c$ ./install.shPlease unlock your Ledger device and exit any apps (press any key to continue)Generated random root public key : b'04e95715d4813ab98c92833da9b169d3ff6ee11a4f94a465503cc91e77aaea688d45a0449f41bfaa2a1a789730e72d0ace759ca7c2b8a12e82c94cda61530cc363'Using test master key b'04e95715d4813ab98c92833da9b169d3ff6ee11a4f94a465503cc91e77aaea688d45a0449f41bfaa2a1a789730e72d0ace759ca7c2b8a12e82c94cda61530cc363'

这將開始应用程式的安装(在接下来的步驟中繼续)


重要提示:如果您已經在步驟 5) 中验證了 checksum,那么您可以在后续步驟中忽略關于上面的公鑰以及“应用程式标識符”和“应用程式完整哈希值”的訊息。这些警告是因為 Ledger -app-mina 还不是一个被批准的 Ledger 应用。


8) 允許“不安全管理者”

您的 Ledger 設備会警告您安装脚本是一个不安全的管理器。

< X Deny unsafe manager >

点擊左键直到您看見脚本。

< ✓ Allow unsafe manager >

選择这个選项。


9) 安装 app Mina

您的 Ledger 設備会詢問您是否想安装 Mina 应用程式。

< M Install app Mina >

点擊左键直到您看見脚本。

< ✓ Perform installation >

選择此選项并输入您的帐户 PIN 碼。


如果安装成功,安装脚本將成功終止,您將在已安装的应用程式列表中看到 Mina 徽标。


10) 安装命令行錢包

您的 Ledger 設備会詢問您是否想安装 Mina 应用程式。

$ sudo cp ./mina_ledger_wallet /usr/local/bin/



在 Windows 上安装


在安装之前,请确保您的 Ledger 設備已更新到最新的固件并已完全配置。


1) 安装 Python 3.9.1

下载并運行 python 安装程式。


2) 打開 Powershell

按 Windows + R 打開運行菜单,键入“Powershell .exe”,按 Enter 启动 Powershell


3) 為 Ledger Blue,Nano S 和 Nano X 安装 Python 工具

在 powershell 終端中,执行如下命令:

$ pip3 install ledgerblue


4) 下载 ledger-app-mina

从 Github 下载最新 Mina 版本的 Ledger 应用程式。


5) 验證 checksum

在 powershell 終端中,执行如下命令:

Get-FileHash -Path ledger-app-mina-1.0.2-0-g843e809c.zip

將上述命令的输出与發布下载页面上的 SHA256 哈希值进行比較。如果它们匹配,则繼续下一步。


6) 提取存档

右键单擊 Downloads 資料夾中的 .zip 文件,并選择 Extract All... 在生成的窗口中,只需按下“Extract”就可以解压缩存档。


7) 更改目錄到新提取的存档

PS > cd ledger-app-mina-1.0.2-0-g843e809c


8) (可選)卸载以前版本的 mina 应用程式

注意:如果您已經安装了以前的版本,您可以透過 uninstall.sh 卸载。

PS ...ledger-app-mina-1.0.2-0-g843e809c> python3 -m ledgerblue.deleteApp "--targetId" "0x31100004" "--appName" "Mina"

确保批准 Ledger 設備本身上的任何提示。


9) 開始安装新版本

PS ...ledger-app-mina-1.0.2-0-g843e809c> python3 -m ledgerblue.loadApp "--path" "44'/12586'" "--appFlags" "0x240" "--tlv" "--targetId" "0x31100004" "--targetVersion=1.6.0" "--delete" "--fileName" "bin/app.hex" "--appName" "Mina" "--appVersion" "1.0.0" "--dataSize" "64" "--icon" "010000000000ffffffffffffffffffeff7c7e393c9b3cdb3cdb3cdb3cdb3cd33cc799effffffffffff"
Please unlock your Ledger device and exit any apps (press any key to continue)Generated random root public key : b'04e95715d4813ab98c92833da9b169d3ff6ee11a4f94a465503cc91e77aaea688d45a0449f41bfaa2a1a789730e72d0ace759ca7c2b8a12e82c94cda61530cc363'Using test master key b'04e95715d4813ab98c92833da9b169d3ff6ee11a4f94a465503cc91e77aaea688d45a0449f41bfaa2a1a789730e72d0ace759ca7c2b8a12e82c94cda61530cc363'

这將開始应用程式的安装(在接下来的步驟中繼续)


重要提示:如果您已經在步驟 5)中验證了 checksum,那么您可以在后续步驟中忽略關于上面的公鑰以及“应用程式标識符”和“应用程式的完整哈希值”的訊息。这些警告是因為 Ledger -app-mina 还不是一个被批准的 Ledger 应用。


10) 允許“不安全的管理者”

您的 Ledger 設備会警告您安装脚本是一个不安全的管理器。

< X Deny unsafe manager >

点擊左键直到您看見脚本。

< ✓ Allow unsafe manager >

選择这个選项。


11) 安装 app Mina

您的 Ledger 設備会詢問您是否想安装 Mina 应用程式。

< M Install app Mina >

点擊左键直到您看到脚本。

< ✓ Perform installation >

選择此選项并输入您的帐户 PIN 碼。


如果安装成功,安装脚本將成功終止,您將在已安装的应用程式列表中看到 Mina 徽标。


12) 使用命令行錢包

稍后当命令在这些文档中引用 mina_ledger_wallet 时,从同一个 powershell 提示符中执行如下命令 ./mina_ledger_wallet ...



生成一个密鑰對


注意,在 Ledger 設備上,生成的密鑰對實際上并不存儲任何東西!Ledger 每次運行时都会重新獲得密鑰。这意味着在卸载/重新安装此应用程式时,您不需要担心丢失密鑰。


要獲得一个密鑰對并獲得關联的 Mina 地址,请在您的 Ledger 設備上打開 Mina 应用程式,然后在您的終端上使用 mina_ledger_wallet 命令。


例如,要獲得硬體錢包帐户 42 (BIP44 account  44'/12586'/42'/0/0 ) 對应的 Mina 地址,可以發出以下命令。

$ mina_ledger_wallet get-address 42

系統將提示您确认。

Get address for account 42 (path 44'/12586'/42'/0/0)Continue? (y/N) y

一旦确认,您会看到:

Generating address (please confirm on Ledger device)...

当 Ledger 設備將顯示在您的終端上时,这告诉您所请求的操作类型。

👁  Get Address    >

跟随箭頭指示,按下并松開您 Ledger 上的右键。


Ledger 现在將顯示您所请求的地址的 BIP44 路徑。

    Path (1/2)  44'/12586'/42'/0 >

注意,上面路徑中的 42' 對应于帐号。检查路徑的帐号与您提供给 get-address 命令的帐号参數是否匹配。


選择此選项并输入您的帐户 PIN 碼。

        ✓<    Generate     >

现在同时按下左和右按鈕来選择这个選项并生成地址。


Ledger 將顯示:

Processing...

同时生成密鑰對。


由于 Mina 使用了硬體还不支持的新椭圆曲线,所以这个过程可能需要 47 秒。


一旦完成,Ledger 將顯示地址,供您仔細核對和确认。

  Address (1/4)B62qnh5DZeX6eYFv >

透過审批后, mina_ledger_wallet 命令將输出結果,您可以使用它。

Received address: B62qnh5DZeX6eYFvtBn4nBTniXbN7R6cgKo6gYqQ7E2bKwLD3PTYZ4b

您的地址 42 將不同于以上結果。

请注意

在生成地址时,如果可能的话,应该从帐户 0 開始,并在每次需要新地址时按顺序增加帐户号。



验證您的私鑰


為了验證您的私鑰,请确保您已經更新到 mina 后台程式的最新版本。安装說明可以在連接页面上找到。


现在您已經創建了密鑰 —— 您需要验證它是否有效。對于这个密鑰對,它足以验證来自 Ledger 的簽名交易是否被正确解析,以及簽名是否在 Mina 上验證。


执行如下命令:

mina_ledger_wallet test-transaction --network mainnet 42 B62qnzbXmRNo9q32n4SNu2mpB8e7FYYLH8NmaX6oFCBYjjQ8SbD7uzV | mina advanced validate-transaction

用您的公鑰代替 “B62q…”,用您的 BIP44 账号代替 42。警告:请确认您的 account_address 与 account_number 相對应!


您需要查看您的 Ledger,检查交易細節,選择“接受”或“拒絕”。


如果您拒絕,將不会生成任何测試交易,并且此命令將退出并顯示错誤。


如果您接受,將生成一个测試交易,您应该看到以下输出:

Transaction was validAll transactions were valid



离线模式


發送交易的另一种方法便是使用 ledger 工具的离线模式。此模式允許您在不將 ledger 設備連接到现行守護进程的情况下簽署交易。您可以使用 mina_ledger_wallet 工具將 --offline 标志附加到任何命令中,但是我们將提供一个示例,說明如何使用离线模式發送交易。


簽署离线交易


第一步是使用 ledger 的离线模式簽署交易:


1. 使用以下命令生成一个已簽名的交易:

mina_ledger_wallet send-payment --offline

在离线模式下,必须指定 --nonce --fee 参數。為了對测試网交易进行簽名,您必须指定 —— --network testnet 参數(默认為 mainnet )。

注意

如果您不在主网上,请确保包含了 --network testnet 参數,以便 ledger 知道為 testnet 簽署交易。為主网簽署的交易可以在主网上重播。


2. 复制该命令的输出。


输出將是下一節需要的 JSON 助記词。它应该是这样的:

{  "signature": "389ac7d4077f3d485c1494782870979faa222cd906b25b2687333a92f41e40b925adb08705eddf2a7098e5ac9938498e8a0ce7c70b25ea392f4846b854086d43",  "payment": {    "to": "B62qnzbXmRNo9q32n4SNu2mpB8e7FYYLH8NmaX6oFCBYjjQ8SbD7uzV",    "from": "B62qnzbXmRNo9q32n4SNu2mpB8e7FYYLH8NmaX6oFCBYjjQ8SbD7uzV",    "fee": "10000000",    "token": "1",    "nonce": "0",    "memo": null,    "amount": "1000000000",    "valid_until": "4294967295"  },  "stake_delegation": null,  "create_token": null,  "create_token_account": null,  "mint_tokens": null}


提交交易


目前这个步驟需要一个連接到網路的并且運行的守護进程,但是您也可以將这个交易提交到任何第三方网關。


1.Devnet 上運行一个守護进程。


2. 执行以下 send-rosetta-transactions 命令。

mina advanced send-rosetta-transactions


3. 粘贴上一節中 mina_ledger_wallet 的输出,然后按 Ctrl-D 提交交易。


这將在網路上發送簽名的交易。如果成功發送了交易,应看到以下输出

Dispatched command with TRANSACTION_ID 4Rs6xMHVyo1J1TTQDCzynYvWPdBr9QRY23fuqvnHFvQiM2B4YD14dtWY2sDccbgx7eh5FYAsPSNrZ2M3AqEPfXoXjNxuWTgiwkL3nwaTaGhSoPA7LcfqiWT6uN9oookDeR6ZSMfd2bs9QSPRit8gPt3FSrDo8i3qM383AEG6g5pEm2i1m1cTTwrUe7y4Z2eB6DdWKhFhoYnx5ndQRtZt3D3o7gojdwwdpRzrWZgT9KcJfbXdZNTfXxr3G1VCVqgqmNJ6iGzn4uTGqpqCmJf6zRn196SWUyZ4DYrphvGF8GhJZYyPTwA2BMTBkF9xWC9zzJP8ZrAeyV1qV8k94dZaiyVt7Fac3r6BcDaMonMcpvnGy8fHF9Q25L2tjzHzwKMePkJztB5r



审计


Least Authority 對 Mina Ledger 应用程式及其与 Nano S/X 硬體錢包的集成进行了安全审计。

阅讀報告,请点擊这里



全球最轻量区块链 人人皆可参与

公眾号|Mina Protocol Official

微 博|Mina_Protocol



Website

Twitter

Medium


Weibo

Discord

Telegram

GitHub




文章末尾固定信息

我的微信
这是我的微信掃一掃
weinxin
我的微信
微訊號已复制
我的微信公眾号
我的微信公眾号掃一掃
weinxin
我的公眾号
公眾号已复制
 
admin
  • 本文由 admin 发表于2024 年 12 月 31 日 00:16:15
  • 轉载请務必保留本文链接:https://zuizhiyou.com/mina-docs%ef%bd%9cledger-%e7%a1%ac%e9%ab%94%e9%8c%a2%e5%8c%85.html
匿名

发表评论

匿名网友
:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:
确定

拖动滑块以完成验证