1.目前的資料:
【比特幣】自己動手制作山寨幣:http://lib.csdn.net/article/blockchain/45844
http://blog.csdn.net/wolfoxkao
https://www.jianshu.com/p/6827e958e47f
完整的bitcoin安裝blog:https://www.cnblogs.com/wintersun/p/3813424.html
動手編譯比特幣源碼:http://book.51cto.com/art/201711/558953.htm
2.當前計划
(1)fastcoin,用的是autotool風格的開發方式,夾雜eclipse的開發工具。因此,我們要學習下emacs的使用,這個一直沒有搞定的事情。
(2)按照教程,修改參數,跑起來程序,並gitee存檔。
(3)落地到本地集群,並修改開源描述,刪除多余項。
3.正式操作
1.emacs
學會第一個操作是撤銷,ctrl-/。
上下翻屏幕是ctrl-v,alt-v,和正常的很不一樣。
打開文件用ctrl-x ctrl-f,按兩次,會定位到home下執行查找。ctrl-x ctrl-s執行保存。
貌似沒有關閉的按鍵,通過不斷打開新的來切換窗口。ctrl-x +左右,切換前后。
4.編譯源碼(重新更改此節,分為2部分,fastcoin項目,與bitcoin已更新的最新代碼)
首先,ubuntu的版本是非常需要關注的,我在ubuntu14下成功了(一開始是ubuntu16,后來出現了非常多的依賴錯誤,aptitude也搞不定),下載源碼
git clone https://github.com/imharrywu/fastcoin.git
git clone https://github.com/chenhe2018/fastcoin.git
從fastcoin開始,執行./autogen.sh之后,出現報錯:libdb_cxx headers missing,百度后找到解釋,是berkeleyDB未安裝。打開官網oracle下載,提示需要注冊。
參考https://www.jianshu.com/p/6827e958e47f中的方法,使用wget下載數據庫。參考了這兩篇文章:
http://blog.csdn.net/wolfoxkao/article/details/78709410
https://www.jianshu.com/p/8b4ebd0e4b3d
先定位到fastcoin目錄下,把db下載到這里。
wget 'http://download.oracle.com/berkeley-db/db-4.8.30.NC.tar.gz'
tar zxvf db-4.8.30.NC.tar.gz
cd db-4.8.30.NC/build_unix/
../dist/configure --enable-cxx --disable-shared --with-pic --prefix=/home/ubuntu/fastcoin/db4/
make
sudo make install
此時,在進行真正源碼編譯之前,需要先解決依賴問題。(我在ubuntu16下,利用altitude來解決boost和gui的依賴問題,但是仍然問題重重。更換了ubuntu14之后,一次依賴問題都沒遇到,十分順暢。。)
執行下面命令,分別是db、boost、qt、openssl、還有其它各種的依賴包,尤其在ubuntu16這樣的高版本上較難搞,14.10版本直接成功。
| sudo apt-get install libdb5.1++-dev sudo apt-get install libdb-dev libdb++-dev sudo apt-get install libboost-all-dev sudo apt-get install libqt4-core libqt4-gui libqt4-dev sudo apt-get install libssl-dev sudo apt-get install build-essential libtool autotools-dev autoconf pkg-config libssl-dev libevent-dev libboost-all-dev libminiupnpc-dev libqt4-dev libprotobuf-de protobuf-compiler libqrencode-dev |
編譯之前,需要修改configure.ac的163行,引入c++11選項,CXXFLAGS="$CXXFLAGS -Wall -Wextra -Wformat -Wformat-security -Wno-unused-parameter -std=c++11"
sudo ./autogen.sh
sudo ./configure LDFLAGS="-L/home/ubuntu/fastcoin/db4/lib/" CPPFLAGS="-I/home/ubuntu/fastcoin/db4/include/"
有時會報錯,4.8版本BDB的問題(一定注意引號中的地址),但在ubuntu14上一遍成功。
http://book.51cto.com/art/201711/558953.htm
>./configure LDFLAGS="-L/home/ubuntu/fastcoin/db4/lib/" CPPFLAGS="-I/home/ubuntu/fastcoin/db4/include/" --with-incompatible-bdb
sudo make install
到此,fastcoin編譯完成,可通過下列指令執行
前端
bitcoin-qt
服務端
第一次運行會出現報錯,提示需要預設rpc的user和password,並給出隨機的初始值。
>vi /home/ubuntu/.fastcoin/fastcoin.conf
rpcuser=bitcoinrpc
rpcpassword=75pTsit9gK4JxavX8pnhhavR3hdWuYAPaDNMeVgFAyVC
bitcoind -server -printtoconcole
5.源碼學習與修改
待定
