修改比特币的创世区块制作自己的山寨币

修改比特币的创世区块制作属于自己的山寨币

基于比特币 0.16.1 最新版本

第一步,下载比特币源码

git clone https://github.com/bitcoin/bitcoin

第二步,安装编译需要的系统依赖

sudo apt-get install build-essential libtool autotools-dev autoconf pkg-config libssl-dev
sudo apt-get install libboost-all-dev
sudo apt-get install libqt5gui5 libqt5core5a libqt5dbus5 qttools5-dev qttools5-dev-tools libprotobuf-dev protobuf-compiler
sudo apt-get install libqrencode-dev
sudo apt-get install libminiupnpc-dev

第三步,安装 Berkeley db 4.8 数据库

 
 
mkdir bitcoin/db4/
wget 'http://download.oracle.com/berkeley-db/db-4.8.30.NC.tar.gz'tar -xzvf db-4.8.30.NC.tar.gzcd db-4.8.30.NC/build_unix/../dist/configure --enable-cxx --disable-shared --with-pic --prefix=/home/theusername/bitcoin/db4/make install

第四步,编译 bitcoin 源码

cd ~/bitcoin/
./autogen.sh
./configure LDFLAGS="-L/home/theusername/bitcoin/db4/lib/" CPPFLAGS="-I/home/theusername/bitcoin/db4/include/"
make

第五步,修改创世区块

找到 src/chainparams.cpp 文件的 


修改创世区块中的 pszTimestamp 修改成任意你想输入的话,

然后继续修改公钥也就是  ParseHex("[中间的值]")

公钥的获取方法:

openssl ecparam -genkey -name secp256k1 -out alertkey.pem
openssl ec -in alertkey.pem -text > alertkey.hex
然后使用文本编辑器打开 alertkey.hex 然后把 ‘pub’和‘ASN1 OID: secp256k1′中间的5行数值去掉冒号和空格
并且弄成一行,这就是公钥

接下来继续找


修改前二个参数,第一个为创世区块的时间戳,第二个为随机数(先记住这个随机数,后面还需要修改)


找到这一行,修改为如图所示,第一个红框中为创世区块 hash (先记住后面会修改)

第二个红框中为创世区块的时间戳,得后上一步中的时间戳相同。

接下来找到


注释掉所有的种子节点修改后代码如下


同理修改 CTestNetParams 和 CRegTestParams 中代码

接下来是很重要的一步,挖创世区块的 hash 因为bitcoin 中本身没有挖的代码,所以我们需要借助另外一个挖创世区块的工具,

这里推荐一个工具:

https://github.com/lhartikk/GenesisH0

按要求生产创世区块的 hash 和 随机数 替换项目中对应的值

到这里基本就修改完了,重新编译就能得到你自己的山寨币了 

加我微信相互学习:


QQ交流群:



猜你喜欢

转载自blog.csdn.net/wab719591157/article/details/80747043