干货 | 区块链之智能合约 - 概念入门

一、概念词汇理解

先把只能合约所有会出现的概念词做一遍理解,每当百度一个新知识的时候,总是会出现一大堆没见过的词汇,不先了解这些词汇,很多博客,文章,教程都没办法看下去。
接下来主要讲的是概念,先不讲如何安装使用它们。

\color{red}{注意:以下解释不会很全面,但是能快速理解概念和作用,可作为参考入门!}

  • 区块链、以太坊

这个百度有很多完善的解释,如:

  • 智能合约

简单说,就是具体的代码,用代码来实现的合约逻辑。
而编写代码的语言就是:solidity

  • solidity

一门开发语言,用于智能合约代码的编写
更新的很快,不过正式版还没发布,距这篇博客,已更新到0.5.6

  • Remix

一个可以用来编写智能合约(即,写solidity代码)的IDE,集成了solidity 运行时环境
只不过它很特殊,运行在浏览器,在浏览器上敲代码
https://remix.ethereum.org/

  • geth

工具
非常重要的一个Go语言开发的以太坊客户端
可以创建自己的区块链(私链),用来测试你的合约
能连接其他区块链,能发布智能合约、挖矿、转账等

  • ganache

工具
它的功能类似于geth,它的前身是TestRPC,经常用来跟truffle配合开发
可以用它创建私链,并可以初始化带有以太币的10个账户,可以方便调试
开发可以用它,提高开发效率

  • truffle

开发环境
可以帮助我们进行代码的编写,代码的测试,并且部署智能合约
通过相关命令就能进行项目的初始化,编译,部署,测试

  • dapp

可以理解为连接区块链的应用程序
类似于APP运行与android系统上,dapp运行于区块链上
Ethereum wallet(以太坊钱包)就是一款Dapp,需要连接区块链才能使用

  • Mist

一款软件,以太坊官方软件(可以看做一个浏览器,带有chrom的调试控制台)
它作为一款Wallet(钱包),他可以连接Main区块链(以太坊官方的区块链),可以连接测试链(也由官方提供,只是以太币可以申请用来测试),可以连接自己的私链
在开发过程中,可以用它来连接geth创建出来的私链,体验下用桌面版来部署合约,转账,添加账户等操作
可以运行各种DAPP

  • Ethereum wallet

一款软件
可以看做一个钱包Dapp,它也是需要运行在Mist浏览器上
所以它减Mist打包进来,专门用来运行钱包Dapp而已
换句话说,Mist是平台,Ethereum wallet是运行在这个平台是的一款Dapp

二、 连接所有概念名词,整体认识

  • 构造使用场景
  1. 开发人员下载geth,然后用它创建出自己的区块链
  2. 然后使用Ethereum wallet或者Mist 连上自己创建出来的私链;
  3. 接着使用truffle初始化自己的合约项目目录,在项目里编写solidity代码,最后用truffle编译,测试,部署到以太坊,或者自己的私链
  4. 第3步,也可以改成用Remix来代替编写solidity代码,也可以编译
  • 将上面出现的概念,跟java做对比
solidity => java
区块链 => JVM
geth => JDK
truffle => maven
智能合约 => 具体的代码
Mist => android系统
Dapp => APP
Ethereum wallet => 钱包APP
Remix => IDE



\color{red}{如有不对、不严谨之处,欢迎指正。>-<}



【欢迎转载,请保留出处:https://www.jianshu.com/p/df266fe3ddeb

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。