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.源码学习与修改
待定