一、概念词汇理解
先把只能合约所有会出现的概念词做一遍理解,每当百度一个新知识的时候,总是会出现一大堆没见过的词汇,不先了解这些词汇,很多博客,文章,教程都没办法看下去。
接下来主要讲的是概念,先不讲如何安装使用它们。
- 区块链、以太坊
这个百度有很多完善的解释,如:
- 智能合约
简单说,就是具体的代码,用代码来实现的合约逻辑。
而编写代码的语言就是: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
二、 连接所有概念名词,整体认识
- 构造使用场景:
- 开发人员下载geth,然后用它创建出自己的区块链;
- 然后使用Ethereum wallet或者Mist 连上自己创建出来的私链;
- 接着使用truffle初始化自己的合约项目目录,在项目里编写solidity代码,最后用truffle编译,测试,部署到以太坊,或者自己的私链中
- 第3步,也可以改成用Remix来代替编写solidity代码,也可以编译
- 将上面出现的概念,跟java做对比
solidity => java
区块链 => JVM
geth => JDK
truffle => maven
智能合约 => 具体的代码
Mist => android系统
Dapp => APP
Ethereum wallet => 钱包APP
Remix => IDE
【欢迎转载,请保留出处:https://www.jianshu.com/p/df266fe3ddeb】