比特派「零基础编译开源的钱包固件」教程

区块链资讯23小时前2020-03-26 18:25:29  阅读 -评论 0

原文标题:《比特派「零基础编译开源的钱包固件」教程》

原文来源:bitpieteam

3 月 24 日,由比特派&BitHD 推出的「零基础编译开源的钱包固件」直播课程圆满结束,让小白用户亲身体验到了编译与验证开源的硬件钱包固件的整个过程。此次在线直播教程由 BitHD 品牌负责人果子主导,以下为本次直播的图文教程。
一、准备内容
*本教程基于 mac 系统运行,windows 系统用户可下载 linux 系统完成操作流程。
*在编译过程中,请不要随意关闭终端程序。
1,了解「终端」
本教程所有代码命令需在终端下执行,可在程序槽中直接打开,或搜索「终端」、「terminal」。

比特派「零基础编译开源的钱包固件」教程

2,编译环境安装
2.a. 安装 Docker 环境
https://docs.docker.com/install/ 

比特派「零基础编译开源的钱包固件」教程

2.b. 在终端中输入以下命令点击回车,安装 homebrew
ruby -e "(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 

比特派「零基础编译开源的钱包固件」教程

2.c. 在终端输入以下命令,通过 homebrew 安装 python3 和 pipenv
brew install python3 pipenv

比特派「零基础编译开源的钱包固件」教程

二、获取 BITHD 固件开源代码
1,在桌面新建文件夹,并命名为「BITHD」

比特派「零基础编译开源的钱包固件」教程

2,打开终端,输入以下命令,进入文件夹目录
cd ./Desktop/BITHD/

比特派「零基础编译开源的钱包固件」教程

3,在终端继续输入以下命令,在 GitHub 上获取开源代码
git clone https://github.com/bithd/bithd-mcu.git

比特派「零基础编译开源的钱包固件」教程

4,获取成功后,BITHD 文件内会生成 BITHD-mcu 文件夹

比特派「零基础编译开源的钱包固件」教程

该文件夹即是 GitHub 上开源的 BITHD 固件代码,之后的编译操作会在该文件目录下执行。
三、编译
*该步骤对电脑性能要求较高,部分步骤会耗时较久,在终端未完成操作前,请不要关闭终端,耐心等待终端完成编译。
1,在终端输入以下命令,进入固件代码根目录
cd bithd-mcu

比特派「零基础编译开源的钱包固件」教程

2,在终端输入以下命令,编译对应版本号固件
*该步骤耗时较久,请耐心等待编译完成
export TAG=v2.7.4; ./build-firmware.sh TAG

比特派「零基础编译开源的钱包固件」教程

编译完成后,在 BITHD/BITHD-mcu/build 文件夹内,会生成编译好的固件文件,此时已经完成了对 GitHub 开源代码的编译步骤。
四、对编译好的固件进行签名
1,在终端输入以下命令,安装指定的 python 环境
pipenv --python 3 install

比特派「零基础编译开源的钱包固件」教程

2,在终端输入以下命令,生成准备签名的 bin 文件
pipenv run ./script/prepare_firmware.py -f ./build/bithd-TAG-unsigned.bin

比特派「零基础编译开源的钱包固件」教程

该步骤会在 BITHD/BITHD-mcu/build 文件夹内,生成注入空签名信息的文件 bithd-v2.7.4-prepared.bin
3,在终端输入以下命令,使用 BITHD 官方提供的签名文件对该文件进行签名
*签名所需的签名文件保存在 BITHD/BITHD-mcu/signatures 文件夹内
export TAG=v2.7.4
pipenv run ./script/build_signed_firmware.py -f ./build/bithd-TAG-prepared.bin -s . signatures/TAG.csv

比特派「零基础编译开源的钱包固件」教程

签名完成后,会在 BITHD/BITHD-mcu/build 文件夹内,生成 bithd-v2.7.4-signed 文件。该文件即是我们在 GitHub 上获取到的源码通过编译生成,并且使用 BITHD 官方提供的签名文件进行签名的固件文件。
至此,我们已经完成了从 GitHub 上获取源码,到编译源码生成固件包,并对固件包进行签名的步骤。接下来我们将进行固件包的验证步骤。
四、验证固件
1,链接 BITHD,在 Bitpie 中导出最新的固件更新包。该导出操作只会导出固件文件,跟资产信息没有任何关系。

比特派「零基础编译开源的钱包固件」教程

2,通过对比文件,验证设备中的固件与 GitHub 开源固件代码是否一致
在终端输入以下命令,输出对比结果
export TAG=v2.7.4
diff <(xxd build/bithd-TAG-prepared.bin) <(xxd build/bithd-TAG-firmware.bin)
*注意:请将导出的固件文件放到 BITHD/BITHD-mcu/build 文件夹内,并修改导出的固件名称与命令中示例名称相同。例如:从安卓设备中导出的固件名称为 bithd-wallet-firmware,我们需要将其重命名为 bithd-v2.7.4-firmware,放入 build 文件夹内,否则命令执行将会出现错误。

比特派「零基础编译开源的钱包固件」教程

从对比结果中我们可以看到,我们自己编译并且注入空签名数据的固件和我们从设备中导出的固件,只有前 256 位签名信息的不同,除了签名信息以外所有的代码都完全相同。也证明了我们在设备中使用的固件代码与 GitHub 上开源的固件代码是完全相同的。
3,通过计算哈希值,验证设备中的固件与 GitHub 开源固件代码是否一致
3.a 在终端输入以下命令,计算我们在设备中导出的固件哈希值
shasum -a 256 ./build/bithd-TAG-firmware.bin

比特派「零基础编译开源的钱包固件」教程

3.b 对比 GitHub 上提供的固件代码哈希

比特派「零基础编译开源的钱包固件」教程

GitHud 地址:
https://github.com/bithd/bithd-mcu/releases
可以发现我们从设备中导出的固件代码哈希与 GitHub 上提供的固件哈希是完全相同的,也就是说,他们的代码也完全一致,没有任何一个包括空格在内的差异。
* Window 虚拟机安装教程:(附下载链接):
https://zhuanlan.zhihu.com/p/38797088

来源链接:https://mp.weixin.qq.com/s/OInaCapmLqH48mA3JKg-YA

区块律动 BlockBeats 提醒,根据银保监会等五部门于 2018 年 8 月发布《关于防范以「虚拟货币」「区块链」名义进行非法集资的风险提示》的文件,请广大公众理性看待区块链,不要盲目相信天花乱坠的承诺,树立正确的货币观念和投资理念,切实提高风险意识;对发现的违法犯罪线索,可积极向有关部门举报反映。    

比特派 钱包 硬核 高级科普文,更专业

声明:链世界登载此文仅出于分享区块链知识,并不意味着赞同其观点或证实其描述。文章内容仅供参考,不构成投资建议。投资者据此操作,风险自担。此文如侵犯到您的合法权益,请联系我们kefu@lianshijie.com

    参与讨论 (0 人参与讨论)

    相关推荐

    中信银行打造“区块链”信用证结算!

    中信银行打造“区块链”信用证结算!

    科技不会改变金融的实质,但却能让金融服务更高效,能让资金供、需方信息不对称的问题更好地解决。近期,中信银行首个区块链项目——基于区块链的国内信用证信息传输系统(简称BCLC)(一期)成功上线,这是国内银行业第一次将区块链技术应用于信用证结算领域。 据中信银行国际业务部总经理助理张栩青介绍,将现在流行的区块链技术应用在国内信用证中,改变了银行传统信用证业务模式,信用证的开立、通知、交单、承兑报文

    中国信息技术部门成立区块链研究实验室

    中国信息技术部门成立区块链研究实验室

    暴走时评:本月初,中国政府对国内的ICO和数字货币交易所的打击在世界范围内引起了强大反响,但政府已经多次声明不会将区块链与数字货币划等号,依然非常重视区块链技术在中国的发展。鉴于中国工业和信息化部成立了一个专门研究区块链的实验室,这一论调也得到了进一步的证实。 虽然中国政府最近在大力打击比特币交易所和ICO,但仍然致力于开发区块链在其他领域的潜力。 据财新网报道,中国工业和信息化部已经成立了一

     分布式账本中的生命科学

    分布式账本中的生命科学

    生物科学是医学领域涉及遗传研究,疾病预防和生活方式治疗(lifestyle treatments)的学科。它已经存在了很长时间,但区块链技术的基础设施应用给该学科提供了重大进步的可能性。 根据Pistoia Alliance进行的2016年6月份高级制药和生命科学领袖调查,83%的受访者表示,他们预计在五年内将全面采用区块链技术。 Pistoia Alliance是一个全球性的非营利组织,致

    区块链vs.核能:日本最大电力公司东京电力(TEPCO)寻求使用区块链减轻对核电的依赖

    区块链vs.核能:日本最大电力公司东京电力(TEPCO)寻求使用区块链减轻对核电的依赖

    东京电力公司 (TEPCO) 对于能源过度中心化的风险可以说绝不陌生。 也许最著名的就是2011年发生的福岛核电站事故,这个日本最大的能源公司如今正在寻求区块链技术来防止这种灾难再次发生。 然而,从使用微型风车的分布式风力发电到用于存储在电力成本低时购买的电力的智能电池,可替代能源项目一直以来都属于个人慈善事业。 然而,TEPCO风险投资部门主管Jeffrey Char认为区块链能够帮助为这

    继证监会发表代币发行声明之后,香港交易所Gatecoin将下线部分ICO币

    继证监会发表代币发行声明之后,香港交易所Gatecoin将下线部分ICO币

    经过一系列监管以及合规审查后,香港交易所Gatecoin将会下线那些被金融监管部门定性为"证券"的代币。 香港加密货币交易所Gatecoin透露,如果在该平台交易的ICO代币在法律上符合"证券"定义,他们就会下线这些代币。据巴比特上月报道,香港主要的金融监管部门证券及期货事务监察委员会(SFC)表达了对ICO这种日渐普及的募资模式的担忧。 尽管ICO中售卖的数字代币通常都被定义为虚拟商品,但

    IBM与超级账本共同加入去中心化身份基金会(DIF),推动创建区块链ID行业标准

    IBM与超级账本共同加入去中心化身份基金会(DIF),推动创建区块链ID行业标准

    IBM与超级账本已经签署协议加入去中心化身份基金会(DIF),这个于今年初成立的联盟旨在帮助推动基于区块链的ID系统的互操作性和标准。 这两个企业区块链大佬加入了这个有各种企业组成的团体,其中包括像微软和埃森哲这样的大企业,还有像Civic和Gem这样的创业公司,以及像uPort和Sovrin这样的开源项目。 DIF执行主管告诉Coindesk说: "这应该是一个信号,表明在这一领域有广泛的

    为打击人口贩卖,牙买加警方盯上了犯罪分子的比特币钱包

    为打击人口贩卖,牙买加警方盯上了犯罪分子的比特币钱包

    作为打击人口贩卖计划的一部分,牙买加警方已经开始行动,锁定了那些试图用比特币和数字支付来掩人耳目的犯罪分子。 越来越多的人口贩卖者都开始转向数字货币来帮助他们进行地下活动并接收非法活动所得,但牙买加警方已经盯上他们了。 牙买加的'大生意' 不幸的是,人口贩卖以及性奴市场规模十分庞大,预计涉资1500亿美元。在牙买加,大约有7000个妇女、儿童以及成年男性被奴役,他们的操控者出售奴役服务的价格

    深圳市将发布《深圳市扶持金融业发展若干措施》,奖励区块链、数字货币等金融创新

    10月9日,深圳市人民政府向各区人民政府,市政府直属各单位印发《深圳市扶持金融业发展若干措施》(以下简称"《若干措施》")。深圳市政府表示,此举是为进一步完善金融支持政策体系,吸引集聚优质金融资源,推动全市金融业可持续均衡发展,加快建设国际化金融创新中心。 《若干措施》共分五大项,33条。内容包括:坚持服务导向,优化金融政策环境;发展金融总部经济,鼓励金融总部企业做大做强;支持金融企业分支机构

    麦妖榜
    更新日期 2019-09-03
    排名用户贡献值
    1牛市来了30910
    2BitettFan24187
    3等待的宿命23810
    4区块大康20369
    5六叶树20310
    6linjm122719429
    7天下无双16192
    8lizhen00215280
    9让时间淡忘14586
    10yelanyi050511349
    返回顶部 ↑