区块链开发_比特币开发1
很久没上这个博客了。
之前是将博客写在了个人博客,然后最近那个服务器给我用来做别的事情了。。。。。
这两年,区块链的技术还是很火的。我就来做一些东西。后续会包括一些原理,开发,应用等方面。
这里可以给大家推荐这几本书(后续会更新):《区块链技术指南》,《区块链开发指南》,《区块链技术进阶与实战》
这篇文章不说当前的趋势,政策以及原理等东西,那些东西我之后会整理出来,单独做系列。
如果说,你是有开发经验的,那么可以直接看。否则,建议等我的原理系列出来再看。当然,如果你只是看个热闹,那也是可以的。
比特币开发1:入门
一,搭建比特币开发环境:
1.系统:
你需要一个linux系统,这里我采用的是ubuntu14desktop系统。
如果说,你是用windows系统的,你可以在你的电脑上安装virtual box或者VM。我采用的是VM。
这里的安装我不在赘述,因为这类教程网上很多。
其中需要注意的是安装时,网络设置需要选择桥接。因为,在之后的操作中,你的linux需要独立的IP与你的本机进行交互。
当然,如果你有自己的服务器,也可以直接在你的服务器中架设。(所以需要你购买的服务器拥有独立的IP,国外的服务器记得选择private IP)
你也可以在虚拟机安装后,在其设置中修改。
2.远程连接:
首先,在Linux终端中进行一下操作:
apt-get install openssh-server #安装完毕后ssh默认已启动
netstat -nat | grep 22 #查看22号端口是否处于监听状态
其次,关闭系统的防火墙:
sudo ufw disable
最后,在本机上安装xshell或者putty(我选择的时后者)
这个过程,如果有不懂的,可以百度。还是那个原因,该类教程很多。
3.环境搭建:
1.首先安装github:
sudo apt-get install git
2.其次,安装node.js:
sudo apt-get install curl
curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash
sudo apt-get install -y nodejs
(上述方法亲测有效。原书中的仓库已经失效。)
PS:安装后,可以通过一下命令验证:
node -v
npm -v
3.然后,安装kapitalize:
npm install kapitalize
PS:由于只是比特币的开发,所以以太坊需要的solc等环境在这里就没有说安装了。之后的以太坊等,我也会写一个相关的安装教程。
4.最后,安装docker:
sudo apt-get install docker.io
创建软连接:
sudo ln -sf /usr/bin/docker.io /usr/local/bin/docker
验证是否安装成功:
docker --version
二,安装和运行比特币测试网络:
1.下载比特币测试网络的Docker镜像:
sudo docker pull freewil/bitcoin-testnet-box
2.运行Docker镜像:
sudo docker run -t -i -p 19001:19001 -p 19011:19011 freewil/bitcoin-testnet-box
(这里开启了19001与19011两个端口(port),来为比特币测试网络提供RPC服务)
3.启动比特币测试网络:
make start
(启动了比特币测试网络后,会进入比特币测试网路的命令行)
三,简单使用比特币测试网络:
1,获取当前测试网络的信息(即全部节点的信息):
make getinfo
这个命令后,你会获得一下界面:
其中各行语句的意思不做翻译,网上有相关的比特币节点信息的资料。如果你对比特币有一定的了解,那额看字面意思就能懂了的。
2.模拟产生1个区块记录:
make generate
3.模拟产生10区块记录:
make generate BLOCKS=10
将会看到系统生成了10区块:
4.查看最新的钱包状态:
make info
会发现第一个钱包的余额发生了改变,即挖矿所获得的比特币奖励。
5.给测试钱包地址转账100个比特币:
make sendfrom1 ADDRESS=mkiytxYA6kxUC8iTnzLPgMfCphnz91zRfZ AMOUNT=100
(其中mkiytxYA6kxUC8iTnzLPgMfCphnz91zRfZ是比特币测试网络的钱包地址(以字符m开头),了解比特币的人都知道,比特币的钱包地址通常是以数字1或3开头的。
6.产生新的区块,从而记录上述交易:
make generate
7.再次查看钱包,会发现第一个钱包节点的余额发生变化:
make getinfo
PS:余额的数目不必和我一致,因为我进行了多次交易。
至此,比特币开发入门完结。
(参考资料:《比特币技术指南》
Windows下搭建以太坊环境
)