為樹莓派zero編譯SDAG的命令列錢包

2021-09-21 18:20:11 字數 1775 閱讀 5121

sdag是使用rust開發的區塊鏈基礎設施。因此想要編譯sdag,必須安裝rust。

首先安裝rust:

curl  | sh
然後設定環境變數:

source $home/.cargo/env

export rustup_dist_server=

export rustup_update_root=/rustup

source /etc/profile

這時可以轉殖sda專案:

git clone
進入sdag目錄,檢視目錄結構:

cd sdag

tree -d

這個時候可以看到目錄結構如下:

├── benches

├── hub

│   └── src

├── object_base

│   └── src

├── sdg

│   └── src

├── src

│   ├── business

│   ├── cache

│   ├── kv_store

│   ├── network

│   └── utils

├── test_case

│   └── src

├── wallet_base

│   ├── src

│   └── tests

└── witness

└── src

整個目錄是乙個lib,這個目錄無需編譯。目錄下面,分別有hub、sdg和witness。

witness是sdag的公證人,在sdag區塊鏈中,起到發公證單元的作用。

hub是sdag的全節點,輕錢包需要連線hub節點,才能使用。

sdg是sdag的命令列輕錢包。

我們需要對hub、sdg和witness分別編譯。

今天只講如何編譯sdg。sdg是sdag的命令列錢包,我們要把sdg編譯成armv6版本的,能用於raspberrypi zero這塊單板計算機上。

在ubuntu上,先安裝armv6的gcc:

sudo apt install gcc-arm-linux-gnueabihf
增加 rustup 對rustup target add arm-unknown-linux-gnueabihf的支援:

rustup target add arm-unknown-linux-gnueabihf
使用最新的工具鏈

rustup toolchain install nightly
nano ~/.cargo/config
增加如下內容:

[target.arm-unknown-linux-gnueabihf]

linker = "arm-linux-gnueabihf-gcc"

進入sdg目錄,進行交叉編譯:

cd sdg

cargo build --target arm-unknown-linux-gnueabihf --release

這個時候你只要去買一杯咖啡就好,一會兒功夫,sdg就編譯好了。你可以把它放到樹莓派裡執行了。

樹莓派zero mysql 樹莓派zero初步除錯

回家之前就從網上購買了一堆裝置,回去也不能閒著,可以利用家裡相對齊全的準備安裝除錯。結果人還沒回來,東西先到了。購買的核心裝備是樹莓派zero w,雖然已經知道它比家族大哥樹莓派小不少,但拿到手裡還是驚奇它的小巧。在效能相對低下的情況下,zero感覺反而應該有更大的應用。其他的配件都是圍繞zero購...

樹莓派zero 使用 IIC OLED 螢幕

raspberry zero w raspbian buster lite 系統 oled 屏 ssd1306 晶元驅動 如何分辨可以去購買處檢視給出資料 python3.7 螢幕 gnd 接樹莓派 gnd 螢幕 vcc 接樹莓派 3v3 螢幕 sda 接樹莓派 sda1 螢幕 scl 接樹莓派 s...

荔枝派 Zero 編譯記錄改

主線kernel 根檔案系統buildroot 2.配置根檔案系統 3.編譯 本次實驗採用主線uboot 主線linux進行。系統配置為dts裝置樹配置。主線uboot 主線linux 實驗硬體平台為lichee zero 480 272解析度顯示屏,8g sd卡。編譯平台為ubuntu 16.04...