BTC
$96,000
5.73%
ETH
$3,521.91
3.97%
HTX
$0.{5}2273
5.23%
SOL
$198.17
3.05%
BNB
$710
3.05%
lang
简体中文
繁體中文
English
Tiếng Việt
한국어
日本語
ภาษาไทย
Türkçe
Trang chủ
AI AI
Tin nhanh
Bài viết
Sự kiện
BlockBeats Pro
Thêm
Thông tin tài chính
Chuyên đề
Hệ sinh thái chuỗi khối
Mục nhập
Podcast
Data
OPRR
Partnered With:

Hướng dẫn "Biên dịch chương trình cơ sở ví nguồn mở từ những điều cơ bản" của Bitpie

Đọc bài viết này mất 16 phút
Người dùng mới có thể tự mình xác minh tính bảo mật của ví của họ!

Tiêu đề gốc: "Hướng dẫn "Biên dịch cơ bản về phần mềm ví mã nguồn mở" của Bitpie"

Nguồn gốc: bitpieteam



Vào ngày 24 tháng 3, được ra mắt bởi Bitpie&BitHD The live Khóa học phát sóng "Biên dịch chương trình cơ sở ví nguồn mở từ cơ bản Zero" đã kết thúc thành công, cho phép người dùng mới làm quen trải nghiệm cá nhân toàn bộ quá trình biên dịch và xác minh chương trình cơ sở ví phần cứng nguồn mở. Hướng dẫn trực tiếp trực tuyến này do giám đốc thương hiệu BitHD Guo Zi phụ trách. Sau đây là hướng dẫn đồ họa của buổi phát sóng trực tiếp này.

1. Nội dung chuẩn bị

*Hướng dẫn này dựa trên hệ thống mac. Người dùng hệ thống Windows có thể tải xuống linux hệ thống để hoàn tất quá trình vận hành.
*Trong quá trình biên dịch, vui lòng không tự ý đóng chương trình đầu cuối.

1. Hiểu "terminal"
Tất cả các lệnh mã trong hướng dẫn này cần phải được thực thi trong terminal. Bạn có thể mở nó trực tiếp trong vùng chương trình hoặc tìm kiếm "terminal" hoặc "terminal".




2. Cài đặt môi trường biên dịch
2.a . Cài đặt môi trường Docker
https://docs.docker.com/install/ 




2.b. Nhập lệnh sau vào terminal và nhấn Enter để cài đặt homebrew
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew /install/master/install)" 




2.c. Nhập lệnh sau vào terminal để cài đặt python3 và pipenv thông qua homebrew
brew cài đặt python3 pipenv




2. Lấy mã nguồn mở firmware BITHD

1. Tạo một thư mục mới trên màn hình và đặt tên là "BITHD"




2. Mở terminal và nhập lệnh sau để vào thư mục thư mục
cd ./Desktop/BITHD/




3. Tiếp tục nhập các lệnh sau trong terminal, trên GitHub Nhận mã nguồn mở
git clone https://github.com/bithd/bithd-mcu.git




4. Sau khi mua lại thành công, thư mục BITHD-mcu sẽ được tạo trong tệp BITHD




Thư mục này là mã chương trình cơ sở BITHD mã nguồn mở trên GitHub và các hoạt động biên dịch tiếp theo sẽ được thực hiện trong thư mục tệp này.

3. Biên dịch

*Bước này yêu cầu hiệu suất máy tính cao và một số bước sẽ mất nhiều thời gian. Vui lòng không đóng thiết bị đầu cuối trước khi thiết bị đầu cuối hoàn thành thao tác và kiên nhẫn chờ thiết bị đầu cuối hoàn tất quá trình biên dịch.

1. Nhập lệnh sau vào thiết bị đầu cuối để nhập thư mục gốc của mã chương trình cơ sở

cd bithd-mcu




2. Nhập lệnh sau vào terminal để biên dịch phiên bản firmware tương ứng
* Bước này mất nhiều thời gian, vui lòng kiên nhẫn chờ đợi quá trình biên dịch hoàn tất
export TAG=v2.7.4; ./build-firmware.sh $TAG




Sau khi quá trình biên dịch hoàn tất, tệp chương trình cơ sở đã biên dịch sẽ được tạo trong thư mục BITHD/BITHD-mcu/build. Lúc này, các bước biên dịch của GitHub đang mở mã nguồn đã được hoàn thành.

4. Ký vào chương trình cơ sở đã biên dịch

1. Nhập lệnh sau vào thiết bị đầu cuối để cài đặt Môi trường python được chỉ định
pipenv --python 3 cài đặt




2. Nhập lệnh sau vào terminal để tạo tệp bin sẵn sàng cho chữ ký
pipenv run ./script/prepare_firmware.py -f ./build/bithd-$TAG-unsigned.bin




Bước này sẽ tạo tệp bithd-v2.7.4-prepared.bin

3 với thông tin chữ ký trống được đưa vào thư mục BITHD/BITHD-mcu/build . Nhập lệnh sau trong terminal để ký vào tệp bằng tệp chữ ký được cung cấp chính thức bởi BITHD
*Tệp chữ ký cần thiết cho chữ ký được lưu trong thư mục BITHD/BITHD-mcu/signatures
export TAG=v2. 7.4
pipenv chạy ./script/build_signed_firmware.py -f ./build/bithd-$TAG-prepared.bin -s . signatures/$TAG.csv




Sau khi quá trình ký kết hoàn tất, tệp có chữ ký bithd-v2.7.4 sẽ được tạo trong BITHD/BITHD-mcu /thư mục xây dựng. Tệp này là tệp chương trình cơ sở được tạo bằng cách biên dịch mã nguồn chúng tôi lấy được trên GitHub và được ký bằng tệp chữ ký do BITHD cung cấp chính thức.

Cho đến nay, chúng tôi đã hoàn thành các bước lấy mã nguồn từ GitHub, biên dịch mã nguồn để tạo gói chương trình cơ sở và ký gói chương trình cơ sở. Tiếp theo chúng ta sẽ tiến hành các bước xác minh của gói phần sụn.

4. Xác minh chương trình cơ sở

1. Liên kết BITHD và xuất gói cập nhật chương trình cơ sở mới nhất trong Bitpie. Thao tác xuất này sẽ chỉ xuất các tệp chương trình cơ sở và không liên quan gì đến thông tin tài sản.




2. Xác minh xem chương trình cơ sở trong thiết bị có phù hợp với mã chương trình cơ sở nguồn mở GitHub hay không bằng cách so sánh các tệp

Nhập lệnh sau vào thiết bị đầu cuối để xuất kết quả so sánh
export TAG=v2.7.4
diff <(xxd build/bithd-$TAG-prepared.bin) < (xxd build/bithd- $TAG-firmware.bin)

*Lưu ý: Vui lòng đặt tệp chương trình cơ sở đã xuất vào thư mục BITHD/BITHD-mcu/build và sửa đổi tên chương trình cơ sở đã xuất thành giống như tên ví dụ trong lệnh. Ví dụ: tên firmware xuất từ thiết bị Android là bithd-wallet-firmware, chúng ta cần đổi tên thành bithd-v2.7.4-firmware và cho vào thư mục build nếu không sẽ xảy ra lỗi trong quá trình thực thi lệnh.




Từ kết quả so sánh, chúng ta có thể thấy rằng Phần sụn được biên dịch và chèn dữ liệu chữ ký trống và phần sụn chúng tôi xuất từ thiết bị chỉ khác nhau ở 256 bit đầu tiên của thông tin chữ ký. Tất cả các mã ngoại trừ thông tin chữ ký đều hoàn toàn giống nhau. Nó cũng chứng minh rằng mã firmware chúng tôi sử dụng trong thiết bị hoàn toàn giống với mã firmware nguồn mở trên GitHub.

3. Xác minh rằng chương trình cơ sở trong thiết bị phù hợp với mã chương trình cơ sở nguồn mở GitHub bằng cách tính giá trị băm
3.a Nhập lệnh sau vào thiết bị đầu cuối để tính giá trị băm của chương trình cơ sở chúng tôi đã xuất trong thiết bị
br>shasum -a 256 ./build/bithd-$TAG-firmware.bin




3.b So sánh các hàm băm mã chương trình cơ sở có sẵn trên GitHub




Địa chỉ GitHud:
https://github.com/bithd/bithd-mcu/releases

Bạn có thể tìm thấy mã băm chương trình cơ sở mà chúng tôi đã xuất từ thiết bị trên GitHub Chương trình cơ sở được cung cấp các giá trị băm giống hệt nhau, nghĩa là mã của chúng hoàn toàn giống nhau, không có sự khác biệt kể cả khoảng trắng.

* Hướng dẫn cài đặt máy ảo Window: (có link tải):
https:/ /zhuanlan.zhihu.com/p/38797088


Link nguồn: https://mp.weixin.qq.com/s/OInaCapmLqH48mA3JKg-YA




Chào mừng bạn tham gia cộng đồng chính thức của BlockBeats:

Nhóm Telegram đăng ký: https://t.me/theblockbeats

Nhóm Telegram thảo luận: https://t.me/BlockBeats_App

Tài khoản Twitter chính thức: https://twitter.com/BlockBeatsAsia

举报 Báo lỗi/Báo cáo
Chọn thư viện
Thêm mới thư viện
Hủy
Hoàn thành
Thêm mới thư viện
Chỉ mình tôi có thể nhìn thấy
Công khai
Lưu
Báo lỗi/Báo cáo
Gửi