比特币程序员:如何追到戴安娜(DianaCoin)? 情人节攻略

题记:女人的衣柜里总差一件衣服,男人的钱包里总差一些美元。那么比特币程序员的荷包里,穷的只剩技术。

当年我的女朋友名字叫戴安娜(Diana)。幸好,她还不是英国的王妃戴安娜,咱可没有查尔斯王子有钱。

情人节(劫)(2015年)马上到了,该送她什么了?送就送她一个亿吧(DianaCoin)。

造币记

声明:我们将使用比特币的0.10源代码(现在是0.16版本),新的数字币命名为“newcoin”,我的mac 上装的是Debian Jessie(Debian 8)系统。

(一)获取源代码

打开命令行shell。在主目录下创建一个名为“src”的新目录。输入:

cdmkdir srccd src

下载源码:。它的名字可能是bebi (1)。将它复制到新目录并解压:

cp ~/Downloads/bi\(1\). .tar xvf bi\(1\).cp -r bi newcoin

(二)建立依赖环境

suecho 'deb-src sid main contrib non-free' >> /etc/a updateapt-get build-dep bitcoinapt-get –install-recommends install libbitcoin-devexit

(三)makefile(自动生成系统)

cd biaclocalautomake --add-missing./configure --with-incompatible-bdbmake

(四)检查测试,确保生成的可执行文件实际存在。

ls src/bitcoindls src/bitcoin-clils src/qt/bitcoin-qt

(五)为你的数字币命名

cd ~/src/newcoinfind . -type f -print0 | xargs -0 sed -i 's/bitcoin/newcoin/g'find . -type f -print0 | xargs -0 sed -i 's/Bitcoin/Newcoin/g'find . -type f -print0 | xargs -0 sed -i 's/BitCoin/Newcoin/g'find . -type f -print0 | xargs -0 sed -i 's/BITCOIN/NEWCOIN/g'find . -type f -print0 | xargs -0 sed -i 's/BTC/NCN/g'find . -type f -print0 | xargs -0 sed -i 's/btc/NCN/g'find . -type f -print0 | xargs -0 sed -i 's/Btc/NCN/g'find . -exec rename 's/bitcoin/newcoin/' {} ";"find . -exec rename 's/btc/NCN/' {} ";"find . -exec rename 's/bitcoin/newcoin/' {} ";"find . -exec rename 's/btc/NCN/' {} ";"find . -exec rename 's/bitcoin/newcoin/' {} ";"find . -exec rename 's/btc/NCN/' {} ";"

将每个包含“bitcoin”或“btc”字符串的文件重命名,包括所有下级目录。

(六)拼写错误纠正,和修正版权声明。

grep -ir bitcsed -i 's/bitcon/newcoin/' src/qt/locale -i 's/bitcion/newcoin/' src/qt/locale -i 's/Bitconi/Newcoin/' src/qt/locale . -type f -print0 | xargs -0 sed -i '/opyright/ s/Newcoin/Bitcoin/' {} ";"sed -i 's/newcoin/bitcoin/g' doc/release-notes/*sed -i 's/Newcoin/Bitcoin/g' doc/release-notes/*find . -type f -print0 | xargs -0 sed -i '/opyright/ s/Newcoin/Bitcoin/' {} ";"sed -i 's/newcoin/bitcoin/g' doc/release-notes/*sed -i 's/Newcoin/Bitcoin/g' doc/release-notes/*

(七)更改端口

比特币在其主要网络上使用端口8332和18332,测试网络上使用8333和18333。newcoin使用不同的端口,可以同时运行客户端。

find . -type f -print0 | xargs -0 sed -i 's/8332/9443/' {} ";"find . -type f -print0 | xargs -0 sed -i 's/8333/9444/' {} ";"

(八)再次输入:

aclocal;automake --add-missing;./configure --with-incompatible-bdb;make

再等几分钟。

(九)批量编辑。

现在开始做一些非常具体的编辑。

(1)修改newcoin / src/目录下的c。

编辑后,应该如下所示:

static Checkpoints::MapCheckpoints mapCheckpoints =boost::assign::map_list_of( 0, uint256("0x001"));

(2)更改协议的“魔法”字节

在dataregtest设置另一个变量名为CMainParams。你有很多事情要改变。前四行代码设定值在数组calledpchmessagestart。这些是网络的“神奇字节”;它们是一系列四字节,将消息标识为属于特定的协议。0xf9,0xbe,0xb4,和0xd9的比特币使用。你想用别的东西,所以没有人能欺骗你的newcoin客户端连接到比特币网络,反之亦然。不要紧,这些都只是他们不匹配使用其他协议的人(尤其是其他cryptocurrency块链)。它们的值必须在0到255之间。我建议回到shell终端使用。

echo $RANDOMopenssl ecparam -genkey -name secp256k1 -out aler ec -in aler -text > aler ecparam -genkey -name secp256k1 -out ec -in -text > ecparam -genkey -name secp256k1 -out gene ec -in -text > gene

(3)创建私钥。

openssl ecparam -genkey -name secp256k1 -out aler ec -in aler -text > aler ecparam -genkey -name secp256k1 -out ec -in -text > ecparam -genkey -name secp256k1 -out gene ec -in -text > gene

将创建私钥和放入文件命名aler,,和gene。

(4)编辑时间戳字符串

const char* pszTimestamp = "The Times 03/Jan/2009 Chancellor on brink of second bailout for banks";

(5)设置创世块的Coinbase key

cat genetxNew.vout[0].scriptPubKey = CScript() << ParseHex("...") << OP_CHECKSIG;

(6)删除对比特币种子节点的引用

vFixedSeeds.clear();vSeeds.clear();

(7)添加代码到创世块

gene = 414098458;

之后和

hashGenesisBlock = gene();assert(hashGenesisBlock == uint256("....."));asser == uint256("....."));

之前粘贴如下代码:

hashGenesisBlock = uint256("0x01")if (true && gene() != hashGenesisBlock) { Logprintf("recalculating params for mainnet.\n"); Logprintf("old mainnet genesis nonce: %s\n", gene.ToString().c_str()); Logprintf("old mainnet genesis hash: %s\n", ().c_str()); // deliberately empty for loop finds nonce value. for(gene == 0; gene() > bnProofOfWorkLimit; gene++){ } Logprintf("new mainnet genesis merkle root: %s\n", gene().c_str()); Logprintf("new mainnet genesis nonce: %s\n", gene.ToString().c_str()); Logprintf("new mainnet genesis hash: %s\n", gene().ToString().c_str()); }

(8)现在再次输入:

make

(9)现在运行newcoin QT,挖掘你的创世纪块。

故事的结局呢?呵呵,还是留下点悬念好了。

我是创客哈雷,一个比特币程序员,祝天下Coder都能抱得美人归!

1.《索尼f8332如何root、索尼f8332参数!》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。

2.《索尼f8332如何root、索尼f8332参数!》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。

3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/keji/3276883.html