在我研究以太坊技术的过程中,由于相关资料较少,因此走了较多的弯路。所以这里我们不会先介绍Solidity的语法结构,而会在接下来的第一阶段,从实战出发,陆续向大家介绍Geth、Browser-solidity、Mist这三大工具,并在过程中不断讲解以太坊的基本概念。

通过这些工具的实际使用,以及对以太坊的基本概念不断加深理解,对于第二阶段学习solidity语言才能事半功倍(毕竟语言学习是很快的,尤其是一门类js语言来说)

以太坊基本概念

  • 以太坊,最简单的说法就是:区块链技术+智能合约。
  • 以太坊和区块链技术一样,有Transaction,Block,账户与账户之间的关系需要用Transaction来执行,任何Transaction都需要有通过挖矿的block来产生。
  • 以太坊和原来的比特币技术不同的是
    1. 实现了基于Solidity语言的智能合约,并将智能合约看做一种特殊的账户,从而使得在智能合约上也可以实现具体的方法
    2. 实现了智能合约能落地执行的EVM(以太坊虚拟机),通过以太坊虚拟机,从而将solidity这样的类js的代码变成了可以在去区块链上执行的加密代码。
    3. 不同于比特币技术,在以太坊的transaction都需要用到gas,一份合约或者一次交易的gas是固定的(取决于代码大小和复杂度),而gas的价格则由以太坊中的oracle来决定。
    4. 以太坊同时还构建了较完整的、开源的生态系统,不仅有底层的geth、编程的solidity、合约在线浏览器browser-solidity、合约钱包Mist/wallet、以太坊的前端开发框架Truffle、各种各样的开源DApp等等,方便大家快速上手,并开发出适合落地的区块链应用。
  • 对区块链技术感兴趣的,也欢迎联系我,或者访问我们的以太中文网 http://www.ethchinese.com

Geth工具介绍

  • Geth工具是Go Ethereum, 是以太坊的官方客户端(Go语言实现)
  • 通过Geth的一些基本命令,可以很方便的创建出一个以太坊的私有链条。
geth --datadir "./" init genesis.json
geth --datadir "./" --nodiscover console 2>>geth.log
  • Geth的命令行中包含了大多数的以太坊的命令,包括账户新建,账户之间的以太币转移,挖矿,获取余额,部署以太坊合约等。
  • 当然Geth的缺点也很明显,Geth还是偏底层的内容,很多操作需要较多较复杂的输入。因此我们将会介绍Browser-solidity

Browser-solidity

  • 这是以太坊智能合约的浏览器编译器,直接访问网站即可,当然如果觉得速度太慢不稳定,也可以自己搭建。
  • Browser-solidity 因为运行在内存中,因此速度很快,对于一些简单的功能,例如四则运算等,开发调试变得非常容易。
  • Browser-solidity 中我们将会向大家重复了一些基本的概念,如transaction,gas,account等。
  • Browser-solidity的缺点也很明显,那就是因为运行在内存中,所以对于涉及账户的合约开发、调试&测试,相当的无力。因此接下来向大家介绍了Mist这个官方钱包工具

Mist

  • Mist是以太坊的官方钱包,他既可以连接生产网络、测试网络,更加可以通过设置参数的方式,连接我们自己的私有网络
  • Mist在通过geth.ipc文件连接后,就和Geth所建立的网络完全契合在一起了,在Mist上部署的合约,实际上也就是部署在了geth网络上。geth网络上新建账号,也可以在Mist这个工具上看到。
  • 通过Mist,我们向大家更详细的讲解了以太坊的核心概念,包括:区块、Transaction、Gas、账户、合约、合约中的构造函数,变量以及方法。

通过Geth、Browser-solidity、Mist 三个工具的介绍,给我们提供了开发、调试和测试我们智能合约的很好的利器。

在接下来的文章中,我们将正式向大家分别介绍三大工具 Geth/Browser-solidity/Mist

原文地址: http://www.ethchinese.com/?p=651

区块链学堂(4):以太坊基本概念及工具Geth、Browser-solidity、Mist相关推荐

  1. 【区块链2.0 以太坊学习笔记1】第一个solidity程序与整型/bool型基本运算

    Hint:此系列学习笔记为准备毕设期间学习记录所书,有任何疑问,欢迎一起讨论 学习资料及工具推荐 Solidity IDE Remix(在线浏览器编辑器) 关于此在线ide的使用介绍,可以参考这里 B ...

  2. 区块链技术之以太坊ETH白皮书

    链客,专为开发者而生,有问必答! 此文章来自区块链技术社区,未经允许拒绝转载. 基于中本聪区块链比特币1.0之后,天才少年Vitalik Buterin(V神)在2013年年末发布了以太坊白皮书,其实 ...

  3. V神又在操心区块链技术落地,以太坊大涨!

    V神又在操心区块链技术落地,以太坊大涨! 12月1日,以太坊联合创始人 Joseph Lubin 连发20条推特,详细阐述了区块链技术和去中心化现状.在他认为,如今的以太坊社区比以往任何时候都更加健康 ...

  4. 头歌-信息安全技术-用Python实现自己的区块链、支持以太坊的云笔记服务器端开发、编写并测试用于保存云笔记的智能合约、支持以太坊的云笔记小程序开发基础

    头歌-信息安全技术-用Python实现自己的区块链.支持以太坊的云笔记服务器端开发.编写并测试用于保存云笔记的智能合约.支持以太坊的云笔记小程序开发基础 一.用Python实现自己的区块链 1.任务描 ...

  5. 【区块链 | ENS】以太坊(Ethereum)中的ENS已支持DNS,怎么使用DNS解析地址?

    上篇文章:[区块链 | Ens]以太坊(Ethereum)中的ENS是什么?如何购买ENS? 我们可以了解到什么是ENS,ENS该怎么购买,但它只支持.eth对应后缀域名,并不支持.com .cn . ...

  6. 基于比特币现金BCH二层网络能实现区块链2.0以太坊的智能化吗

    第0章 引言 现在市场上有不计其数的区块链项目,多如牛毛,各个项目都认为自己是最牛逼的,都声称自己能改变世界.区块链1点零,2点零,3点零,现在已经有项目喊自己是区块链5点零了.在这样下去,区块链25 ...

  7. 区块链2.0以太坊漫谈(3)

    进一步的应用: (1)储蓄钱包. 假设Alice想确保她的资金安全,但她担心丢失或者被黑客盗走私钥.她把以太币放到和Bob签订的一个合约里,如下所示,这合同是一个银行: (1)Alice单独每天最多可 ...

  8. 区块链2.0以太坊漫谈(4)

    智能合约 什么是智能合约 以太坊上的程序称之为智能合约, 它是代码和数据(状态)的集合. 智能合约可以理解为在区块链上可以自动执行的(由消息驱动的).以代码形式编写的合同(特殊的交易). 智能合约英文 ...

  9. 区块链膨胀:以太坊客户如何解决存储问题

    链客,专为开发者而生,有问必答! 此文章来自区块链技术社区,未经允许拒绝转载. ​​​4,270个代币.27,358笔交易.数字小猫463,713. 以太坊最近举办了很多活动,虽然很多加密爱好者认为这 ...

最新文章

  1. AI金融若不解决这些问题,等于在制造新的不可解问题
  2. HPU第三次积分赛-D:Longest Increasing Subsequence(DP)
  3. ArcGis For Flex 之 QueryTask地理坐标展现【原创】
  4. 【Android 应用开发】View 与 SurfaceView 区别
  5. windows下 Qt 静态编译
  6. 20321关系数据库理论基础
  7. hdu 4407 Sum
  8. 17、mysql中的存储过程的应用
  9. Java写文件导致io过高_161108、Java IO流读写文件的几个注意点
  10. php ci sql性能时间,Codeigniter操作数据库表的优化写法总结
  11. 处理方块之间的连接线
  12. linux命令 bind,Linux bind命令
  13. 【Unity Shader】(十) ------ UV动画原理及简易实现
  14. 创建pdf java 字体_如何使用自定义字体从servlet使用iText XMLWorker创建PDF?
  15. 已知圆柱体的底面半径c语言,C语言编程题带答案
  16. HashMap中的Hash码怎么计算,为什么要这样做?
  17. 平台系统能力建设——互联网平台建设
  18. 树莓派中基于Qt的图像显示image.[微雪电子树莓派Qt系列教程]
  19. 计算机网络的总体认知——互联网
  20. linux篇-Linux逻辑卷详解总结

热门文章

  1. java 获取当前时间月加1 ,年加1
  2. C# 将\u1234类型的字符转化成汉字
  3. Python学习笔记:常用内建模块1
  4. Git bash:初步入门(1)
  5. 现代谱估计:多窗口谱
  6. matlab图像处理——平滑滤波
  7. 云炬随笔20180421
  8. 从零开始 Mask RCNN 实战:基于 Win10 + Anaconda 的 Mask RCNN 环境搭建
  9. Coursera吴恩达《卷积神经网络》课程笔记(4)-- 人脸识别与神经风格迁移
  10. PYQT5 多选下拉列表框