以太坊为开源社区,虽然设计东西都很优秀,但是组件十分的杂乱,因此下面首先简单介绍下以太坊的一些常用组件以及各种工具介绍
Geth
是由以太坊基金会提供的官方客户端软件,用Go编程语言编写的,也可以理解为以太坊的一个私有节点,在我们开发测试当中起到必不可少的作用,类似于这样的节点还有很多
ganache
一个图形化的以太坊私有节点,可以通过该节点看到一些调试的信息,提供了多少个账号,生成的数据块,事物,以及日志log 该软件需要运行在win10 以上版本
solidity
Solidity是用于编写在以太坊区块链上运行的智能合约的最流行的编程语言。 它是一种高级语言,当编译转换为 EVM 字节码。 这与 Java 非常相似,其中有诸如 Scala,Groovy,Clojure,JRuby等JVM语言。所有这些编译都生成在JVM(Java虚拟机)中运行的字节码。
Truffle
Truffle 和 Embark 是用于开发以太坊 DApps的两个最常用的框架。 它们抽象出在区块链上编译和部署合同的许多复杂的东西。
Web3.js
javascript库,可以用来与一个节点进行交互。 由于它是一个 JavaScript 库,您可以使用它来构建基于Web的dapps。 可以直接在node.js 环境上面运行,也可以在浏览器环境上面运行
Remix
一个在线版本的solidity 开发工具,可以用来编写合约,发布合约,debug 合约,但是由于是网页版本 首先与bs 架构的原因,功能比较单一,且受限于网络 但是我们也可以在remix 本地化,本地化实际上就是 在本地在启一个服务器,然后在吧remix挂在在服务器上面 !