Qtum区块链开发指南--HelloWorld.pdfVIP

  • 2
  • 0
  • 约2.37万字
  • 约 19页
  • 2019-01-04 发布于浙江
  • 举报
Qtum区块链开发指南 -- Hello World ! 作者:cryptominder 简介 在作者之前的⼀篇⽂章(/qtum/@cryptominder/qtum-blockchain-development- environment-setup)中,描述了如何利⽤Docker部署⼀个3节点的Qtum区块链环境。这篇指南将会以此为基 础,希望读者在阅读本⽂之前先配置好相关环境。 作为Qtum智能合约开发系列教程的第⼀篇⽂章,我们将从⼤家熟悉的以太坊智能合约实例“Ethereum Greeter tutorial” (参考/greeter)开始。本⽂会该实例中相同的Solidity智能合约,并⽤ Qtum命令⾏⼯具(即 qtum-cli )进⾏创建和运⾏。 希望在阅读完本教程后,读者能对Qtum区块链有⼀个更加深⼊的认识,进⽽开发出更多有趣的去中⼼化应⽤ (DApp)。 为何选择Qtum⽽不是以太坊? Qtum结合了⼏个⽐较成熟的区块链⽣态系统的优势,并进⾏了多种创新,这些区块链包括: Bitcoin :Qtum采⽤了和⽐特币相同的UTXO模型(当然也包含由此带来的安全性),同样⽀持简单⽀付协议 (SPV); Ethereum :Qtum ⽬前采⽤了以太坊运⾏智能合约的虚拟机(也即EVM); Blackcoin :Qtum借鉴了⿊币的权益证明共识机制(PoS),并对其进⾏多项改进; Qtum实现了账户抽象层(AAL),使得UTXO模型能够和以太坊的账户模型进⾏⽆缝交互。并且除了EVM 外,Qtum近期还宣布会⽀持更多不同虚拟机。 由于⽀持SPV,Qtum客户端可以在带宽/ 内存受限的设备上运⾏,在这些设备上下载和保存所有区块信息是 不太现实的。Qtum的SPV客户端可以在iOS (如iPhone,iPad)及Android设备上运⾏,甚⾄在卫星上也可 以运⾏Qtum。需要说明的是,虽然Qtum⽀持移动设备,但移动端市场只是他们蓝图中的⼀部分,Qtum关注 的领域⾮常⼴泛。 由于Qtum采⽤PoS共识机制,这使得在低功耗设备上挖矿成为可能 -- ⽐如树莓派。这⽐⽬前⽐特币和以太坊 采⽤的PoW机制要环保得多。 同时,为了防⽌分叉,Qtum推出分布式⾃治协议(DGP)以实现区块链参数的动态调整。 基于以上的⼀些原因(当然还有其他原因,⽐如他们出⾊的团队组成等),作者认为Qtum区块链提供了许多 超越以太坊的特性。 准备开始 除了作者之前提到的本教程的准备外,这⾥补充⼏点: 确保你已经安装了Docker,并已经设置并运⾏好Qtum regtest环境 你运⾏以下所有命令时所在的开始路径包含对应config⽂件(如node1qtumd.conf),以及对应datadir数 据路径(如node1data) 在需要的时候,你可以为以下命令创建batch/shell脚本 另外,在⽂中提到的 $PWD 环境变量代表Linux和MacOs/OSX的当前途径。在Windows中,应采 ⽤ %cd% 。 在docker使⽤-v选项时,命令⾏注意要使⽤全路径。 第⼀步 - 你准备好了么? 在开始之前,请务必检查以下环境是否都已设置妥当。⾸先我们要确认3个qtumd节点正确运⾏: $ docker ps -f name=qtumd 以上命令会运⾏3个Docker容器(即qtumdnode1, qtumdnode2, qtumd_node3)。 接下来,请确保⽬前区块⾼度⼤于或等于600,并且有⾄少⼀个钱包的余额⼤于0 : $ docker run -i --network container:qtumd_node1 -v ${PWD}/node1_qtumd.conf:/home/q tum/qtum.conf:ro -v ${PWD}/node1_data:/data cryptominder/qtum:latest qtum-cli geti nfo 以上命令正常情况下应该返回类似如下信息: { version: 140301, protocolversion: 70016, walletversion: 130000, balance: 2000000 stake: 0 blocks: 600, timeoffset: 0, connections: 2, proxy: , difficulty: { proof-of-work: 4.65654237390692

文档评论(0)

1亿VIP精品文档

相关文档