一、以太坊概念
Geth
第一步就是安装geth。那么geth是什么呢?geth(或称为go-ethereum)是以太坊节点的一个实现。也就是说,geth是一个客户端,用于连接以太坊网络。从geth的名 字可以看出,geth是用go语言实现的一个以太坊节点。
Smart Contract: 智能合约 其可以接受来自外部的交易请求和事件来触发合约代码逻辑,进一步生成新的交易和事件,甚至进一步调用其他的智能合约;
EVM:Ethereum Virtual Machine,以太坊虚拟机,这是一个隔离的轻量级的VM,运行在其中的智能合约代码无法访问本地网络、文件系统和其他进程;
Transaction: 以太坊中的交易是指从 EOA 发送给另一个账户的消息的签过名的数据包,一笔交易主要包括:接收方、发送方、gasLimit、gasPrice、Value(交易金额)等等;
Gas:燃料,没执行一条合约指令就会消耗一定的燃料(Gas),当某个交易还未执行结束,而 Gas 已经消耗完时,则合约执行终止并回滚状态;Gas 可以和 ether 进行兑换,但是有个注意点就是,ether 的价格是波动的,但运行某段智能合约的费用可以是固定的,可以通过设定 Gas Price 等来进行调节;
ERC20: 可以理解成 Ethereum 的一个 Token 协议规范,所有基于 Ethereum 开发的 Token 合约都遵守这个规范。遵守 ERC20 协议规范的 Token 可以被各种 Ethereum 钱包支持。ERC20 Token Standard;
EOA: External Owned Accounts,以太坊外部账号,通过与其关联的私钥(private key)来发送 ether 和 消息;
二、下载安装
可以直接到下面的官网下载不同平台的geth安装程序。
https://ethereum.github.io/go-ethereum/downloads
Geth支持Linux、Mac OS X和Windows平台,读者可以根据实际情况下载相应平台的geth安装程序,也可以直接下载源代码(最后一个按钮),然后编译和安装Geth。
我开发主要在Win10系统上的,直接双击安装,安装的时候把Development Tools 勾选上就好。
安装完geth后,最好将geth.exe文件所在的目录加到PATH环境变量中,这样在任何目录下就都可以使用geth.exe文件。
然后在Windows下CMD命令窗口执行geth version命令,检查安装效果。
安装成功后,可以使用下面的命令启动JavaScript控制台,其中2表示日志管道,也就是将日志信息直接输出到geth.log文件。
geth console 2>>geth.log
三、Geth常用命令
可以通过geth --help 查看所有命令的帮助
简书上的介绍挺好,推荐一下:
以太坊客户端Geth常用命令详解 - 简书 (jianshu.com)
创建账户
$ geth account new
> personal.newAccount("password")
查看账户
$ geth account list
快速同步模式
$ geth --fast console 2>network_sync.log
浏览日志
> tail -f network_sync.log
查看账户余额
> eth.getBalance(eth.accounts[ ])
解锁账户
> personal.unlockAccount(eth.accounts[], <password>)
挖矿
$ geth --mine --minerthreads=4
> miner.start(8)
结束挖矿
> miner.stop()
查看挖矿速率
> miner.getHashrate()
查看区块高度
> eth.blockNumber
查看挖矿账户
> eth.coinbase
设置挖矿账户
> miner.setEtherbase(eth.accounts[0])