主页 > imtoken手机下载 > 使用 Docker 容器开发区块链应用程序
使用 Docker 容器开发区块链应用程序
题图摄于温哥华:Burrard Bridge
编者按:掌握容器技术已经成为开发者的必备技能。 以三大开源区块链项目(比特币、以太坊、超级账本)为例,它们都可以使用容器技术进行开发和运行。 本文以比特币为例,谈谈如何使用容器技术开发区块链应用。 作者陈辉,区块链PPk开源项目发起人和主要开发者,巴比特网站专栏作家,区块链技术版版主。 对网络和通信技术有深入的实践和研究,有十余年的软件开发和管理经验。 《区块链技术指南》作者之一。
如何入门和实践区块链应用开发基础技术,如何理解其关键技术实践点,是很多刚接触区块链的开发者面临的问题。 本文介绍如何使用Docker容器技术快速搭建私有节点比特币测试网络(bitcoin-testnet),并结合Node. 区块链的具体应用功能。
安装基础环境
本文使用 Ubuntu 14.04 桌面操作系统作为基础环境。 对于常用的微软Windows7 64位桌面操作系统,可以安装Oracle VM VirtualBox虚拟机软件进一步安装Ubuntu14.04桌面版操作系统。 系统安装成功后默认自带Node.js软件。 如果要查看是否安装了Node.js及对应版本,命令参考如下:
$ apt-cache 策略 nodejs
$节点-v
$ npm -v
如果你还没有安装Node.js,可以参考下面的命令进行安装:
$ sudo add-apt-repository 'deb trusty main'
$ sudo apt-get 更新
$ sudo apt-get 安装 nodejs
确认已经安装了Node.js后,就可以安装对应的RPC支持库了。 Node.js 有几个常用的 RPC 支持库。 这里我们选择开源项目kapitalize。
在Ubuntu终端命令行界面输入如下命令进行安装:
$ npm 安装大写
更多关于kapitalize开源项目的信息,请参考以下网址:
安装 Docker 环境
Docker 是一个开源应用程序容器引擎比特币第一个区块奖励,允许开发人员将他们的应用程序和依赖项打包到一个可移植的容器中,然后将它们分发到任何流行的 Linux 机器上。
在Ubuntu 14.04操作系统上快速安装Docker运行环境的方法如下:
1)在命令行输入以下命令安装Docker容器支持软件。
$ sudo apt-get 安装 docker.io
2)创建软连接。
$ sudo ln -sf /usr/bin/docker.io /usr/local/bin/docker
3) 检查 Docker 版本。
$码头--版本
如果你看到类似“Docker version 1.6.2, build 7c8fca2”的信息,说明你已经成功安装了Docker。
安装并运行比特币测试网络
1)下载比特币测试网(bitcoin-testnet)的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是配置给两个节点提供RPC服务的端口。
3)进入Docker运行环境后,输入以下命令启动比特币测试网:
$ 开始
启动成功后,会在本地模拟运行两个比特币测试钱包节点,形成私有的比特币测试网络。
输入以下命令查看测试网节点的状态信息,从中可以了解比特币测试网的配置和运行状态,如协议版本、区块链长度、挖矿计算难度等。 了解;打听:
$ 获取信息
4) 初始化和测试区块链数据。
在Docker运行窗口依次输入以下命令,初始化创建区块链基础数据,供后续程序示例使用。
make generate //模拟一个新的区块记录
make generate BLOCKS=200//模拟新生成200条区块记录
5) 查看最新的钱包状态,包括余额信息。 这时候你可以注意到第一个钱包节点的账户余额发生了变化。 新余额是模拟区块挖矿产生的测试比特币。
获取信息
6) 转10 BTC到示例测试钱包地址。
使 sendfrom1 地址=mkiytxYA6kxUC8iTnzLPgMfCphnz91zRfZ AMOUNT=10
注:此处示例地址mkiytxYA6kxUC8iTnzLPgMfCphnz91zRfZ为比特币测试网下的钱包地址(以字符m开头),与比特币官方网络下的钱包地址(通常以数字1或3开头)不同。
7) 模拟新生成的10条区块记录,使上述转账交易得到足够有效的确认。
使生成块= 10
8) 查看最新的钱包状态,包括余额信息。 这时候可以注意到第一个钱包节点的balance账户余额发生了变化。 差价是交易转账已经支付的10个BTC加上小额矿工费。
获取信息
开发并运行第一个示例程序
下面以Node.js开发语言为例,演示如何调用RPC接口进行一些基本操作,如导入比特币私钥、发送简单的转账交易等。 开发者可以通过这个例子学习最基本的区块链开发方法。
示例源代码(带注释)可从以下网址下载:
然后在命令行中输入以下命令运行并查看结果:
节点 RpcTestnet.js
注意:测试代码运行一次后,需要在Docker运行环境的命令行中输入“make generate BLOCKS=10”,模拟生成新的区块记录,这样测试代码生成的交易记录就可以有效确认。
在理解这个简单示例程序的基础上,进一步理解比特币协议后比特币第一个区块奖励,我们可以调用RPC接口进一步开发更复杂的功能,比如构建特定的交易数据包(如备注、多重签名输出等)。 ) 以满足特定要求。 业务需求。 想进一步学习研究区块链应用开发的朋友可以到网上搜索相关学习资料,或者参考文末推荐的《区块链技术指南》一书。
关于 PPk 开放组
PPk开放群(The PPk Public Group)是一个开放的网络技术极客群,汇集了一群对比特币等加密货币感兴趣的P2P技术爱好者。 团队成员大部分拥有10年以上通信及互联网行业技术研发经验背景,对互联网行业发展趋势有独立判断和独特理念,关注底层潜在价值以区块链为代表的技术,并尝试融合区块链、IPFS等创新的P2P技术,定义一个中立、开放、开源的基础协议和工具集。
邮箱:ppkpub@gmail.com
网站:ppkpub.or