位元幣原始碼研讀(二)之搭環境遇到的那些坑

2021-08-28 14:50:51 字數 2293 閱讀 3021

上面兩處被圈起來的地方都提到了乙個數字2256,特別是第一句話更是讓人費解,如果私鑰只能在1到2256間產生那豈不是太容易重複了。關於這點,我認為是在翻譯或者排版是出現了錯誤,2256應該是想表達2的256次方的意思。後續翻看其它資料是也證實了我的想法。

我是在docker下進行的原始碼安裝,使用官方的ubuntu16.04映象,許多標準系統裡的工具映象中是沒有的。對於源我還是比較習慣使用阿里雲,這裡把設定貼出來:

1、備份sources.list

cp /etc/apt/sources.list /etc/apt/sources.list_backup
2、更改源,vim /etc/apt/sources.list,內容如下:

deb-src  xenial main restricted #added by software-properties

deb xenial main restricted

deb-src xenial main restricted multiverse universe #added by software-properties

deb xenial-updates main restricted

deb-src xenial-updates main restricted multiverse universe #added by software-properties

deb xenial universe

deb xenial-updates universe

deb xenial multiverse

deb xenial-updates multiverse

deb xenial-backports main restricted universe multiverse

deb-src xenial-backports main restricted universe multiverse #added by software-properties

deb xenial partner

deb-src xenial partner

deb xenial-security main restricted

deb-src xenial-security main restricted multiverse universe #added by software-properties

deb xenial-security universe

deb xenial-security multiverse

3、記得更新源,不更新資料來源是不能用的

apt-get update
編譯原始碼需依賴於libdb4.8-dev,文件要求使用「add-apt-repository ppa:bitcoin/bitcoin」來新增repository,之後在能夠安裝libdb4.8-dev,系統中沒有add-apt-repository,安裝方法如下:

apt-get install python-software-properties

apt-get install software-properties-common

這個工具應該是系統自帶的,但不知到為什麼我用的官方映象中沒有,安裝方法如下:

apt-get install bsdmainutils
apt-get install pkg-config
安裝完上面這些後使用./configure --without-gui就可以生辰makefile檔案了。--without-gui是使用使用者介面,因為我用的是docker 所以就把這個選項加上了。

解決方法如下:

找報錯檔案rpcrawtransaction.cpp的299行:

將const cscriptid& hash = boost::get(address);

修改為:

const cscriptid& hash = boost::get(address);

即可。

區塊鏈研習社原始碼研讀班 櫟楓

位元幣原始碼研讀二(交易指令碼)

今天接著寫五個全域性靜態常量,用於定義交易執行序列的規則.1 static const uint32 t sequence final oxffffffff 如果交易中的所有輸入都將nsequence賦值為該全域性變數值,nlocktime將無效 無需考慮交易的鎖定時間,最近的交易達到區塊後,交易立...

位元幣原始碼研讀之一

菜菜子 forest 關注 圖中紅色矩形框選中的src資料夾為位元幣原始碼所在目錄,因此我的位元幣原始碼之旅將從這個資料夾開始。二 找到入口函式 眾所周知,任何事物都有其起始位置,就像我們走進一棟房子應該先找到大門一樣。軟體程式也不例外,每個軟體程式都有其入口函式,那麼要研讀位元幣原始碼,首先需要從...

位元幣原始碼學習筆記(二)

2 14198 本章繼上一章交易建立之後介紹位元幣客戶端序列化資料的過程。位元幣客戶端所有的序列化函式均在seriliaze.h中實現。其中,cdatastream類是資料序列化的核心結構。cdatastream擁有乙個字元類容器用來存放序列化之後的資料。它結合乙個容器型別和乙個流 stream 介...