以太坊和区块链实战技术分析详解

想知道更多关于区块链技术知识,请百度【链客区块链技术问答社区】
链客,有问必答!!

以太坊和区块链

1、    以太坊和区块链的关系
     从区块链历史上来讲,先诞生了比特币,当时并无区块链这个技术和名词,而后业界从比特币中提取了技术架构和体系,称之为区块链技术。从比特币提取的区块链技术称之为区块链1.0时代,那个时候的应用主要以电子货币和去中心化交易为主,好比各类山寨币。而以太坊将区块链带入了2.0的时代,区块链2.0不是推翻了1.0,而是在1.0的基础上实现了区块知晓、价值知晓、图灵完备,并进行了细节优化,从而造成了以智能合约为特点的区块链2.0。比特币定位于一个应用,而以太坊定位于平台,你能够在这个平台上利用智能合约作各类应用。
    因此,学习区块链,直接学习以太坊就行了
2、    以太坊入门的方法
        对于没有接触过区块链的人,建议先参会以太坊的平常应用。
一、         使用客户端
    这里的教程不少,推荐一个以太坊钱包教程
二、         挖矿
    挖矿的教程不少,通常分布在各个矿池,这里推荐一个国内矿池的教程,而且能够加入各个矿池的群去交流一下。国内的矿池有www.f2pool.com,www.bw.com 等几大矿池。
http://pan.baidu.com/s/1c27DOCo
三、         浏览公有链的区块信息
    在经历以上事情后,能够经过区块链浏览器去查看本身的帐户和交易,更直观感觉。
    经过以上的操做,基本能够算对区块链有了一个初步的了解和感知。
3、    以太坊各个项目说明
    以太坊发布之后,有 多个客户端,同时也支持多个平台,初学者每每被各类各样的客户端弄迷糊,本文进行了详细的总结。
    以太坊客户端以语言进行分类,在github上分红了不一样项目,源代码地址:https://github.com/ethereum/,虽然以太坊客户端众多,可是有两个共同特色:
    一、同一语言的客户端在不一样平台上的使用是彻底相同的
    二、不一样语言的客户端(mist、geth、eth等等)之间在同一个平台(linux、windows或OSX)上共用同样的应用配置,同时其命令行可以使用的参数也是一致。
    下面就以github上的项目为分类说明各个客户端的用途和特色:
(一)go-ethereum项目
    开发语言:go语言
    客户端文件:Geth
    界面:命令行
    适用平台:windows、linux和OSX
    功能和特色:该项目是使用最普遍的以太坊客户端,大部分节点都是运行的该客户端,教程和例子也最多,推荐使用,可用于挖矿,组建私有链,管理帐号,部署智能合约等经常使用功能,不能够编译智能合约。
(二)webthree-umbrella项目
    此项目包含3个客户端
    开发语言:c++
    客户端文件:AlethZero、Mix和Eth
    使用平台:windows、linux和OSX
    界面:图形化界面
    功能和特色:该项目严格来讲是cpp-ethereum 项目的一个shell,是以太坊基金会的前CTO,Gavin Wood主持编写的,因此人气也很高,易用性也很好。AlethZero是图形化的钱包客户端,对应的是Geth的功能,不过是全图形化的。可是随着后续以太坊基金会主推的图形化钱包Mist的推出,渐渐没落。Mix 是智能合约(以太坊称为DAPP)的开发IDE,能够支持智能合约(DAPP)的编写、调试,部署,全图形化界面,可是目前已经中止开发了,开发组转向了Remix。Eth是C++编写的命令行客户端功能和Geth同样。
(三)Mist项目
    开发语言:JavaScript
    客户端文件:Mist(目前使用Ethereum-Wallet的名称)
    使用平台:windows、linux和OSX
    界面:图形化界面
    功能和特色:该项目是以太坊基金会主推的项目,Mist定位不仅是一个钱包,而是未来DAPP(智能合约的应用APP)市场,相似于苹果市场,在这里能够有你的帐号,能够浏览、发布和买卖以太坊的DAPP应用。目前由于开发还不够全面,名称暂时显示为Ethereum-Wallet,做用也很简单,就是一个钱包的功能。强烈推荐,将来的主流客户端。
(四)solidity项目
    开发语言:C++
    客户端文件:solc
    使用平台:windows、linux和OSX
    界面:命令行界面
    功能和特色:该项目是以太坊智能合约(DAPP)的编程语言,使用solc做为编译程序,该项目主要用于编译,严格来讲是一个基本的编译平台,通常开发可用MIX替代。
(五)browser-solidity项目
    开发语言:C++
    客户端文件:浏览器中显示
    使用平台:windows、linux和OSX
    界面:浏览器界面
    功能和特色:该项目是智能合约浏览器版本的开发环境,能够支持在浏览器中直接开发、调试和编译,对于初学者来讲,能够快速上手,不须要安装,很是方便,直接访问地址使用:https://ethereum.github.io/br...
(六)pyethereum项目和ethereumj项目
    pyethereum项目是用python语言编写的以太坊客户端,ethereumj项目是用JAVA语言编写的以太坊客户端,只是语言不一样,和前面GO语言编写的客户端Geth的功能彻底相同。
(七)etheminer项目
    开发语言:C++
    客户端文件:ethminer
    使用平台:windows、linux和OSX
    界面:命令行
    功能和特色:该项目是cpp-ethereum项目的一部分,用于和Geth配合进行GPU挖矿,比CPU挖矿效率高100多倍,也能够用于矿池挖矿python

相关文章
相关标签/搜索