- 1、本文档共19页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
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
您可能关注的文档
最近下载
- 2025年基层全科医生能力提升题库答案-华医网项目学习.docx VIP
- 《“1+X”无人机摄影测量》课件——项目三 像控点采集.pptx VIP
- 中医英语入门-学堂在线网课答案修改版.doc VIP
- 健康照护师练习试题及答案.docx
- 总公司与分公司的协议书.docx
- 一例脑梗死合并消化道出血的个案护理(1) PPT课件.pptx VIP
- 股东无息借款协议通用7篇.docx VIP
- 基于BIM技术降低机电管线综合布置碰撞率.docx VIP
- 《“1+X”无人机摄影测量》课件——项目六 数字正射影像图.pptx VIP
- 2023年江苏省健康照护行业职业技能竞赛考试复习题库-下(判断题部分).pdf VIP
文档评论(0)