geth全称是go-ethereum是一个以太坊客户端,用go语言写的,是目前最常用的客户端,当然还有其它的语言写的,比如python,c++,java等。下面是下载链接,下载后直接安装就可以了。
https://gethstore.blob.core.windows.net/builds/geth-windows-amd64-1.7.0-6c6c7b2a.exe
系统环境是在win10,geth版本是Windows版Geth 1.7.0
安装好后,输入一下命令,如图所示则安装成功。
geth version
区块链是有许多相连的区块而成的,每个区块记录了一段时间交易的信息。就像账簿页一样,而最开始的一页就叫做创始块。创始区块配置文件为创始区块配置了一些参数,所以先创建一个配置文件。
在E盘中建立一个文件夹用来放自己私有链数据。(盘可以自己选)我去名为。EthDBSpace。然后新建一个文件夹。取名PrivChain。新建一个文件,取名为,genesis.json,打开将一下代码复制在里面。
{ "coinbase": "0x0000000000000000000000000000000000000000", "config": {
"homesteadBlock": 5
}, "difficulty": "0x20000", "extraData": "0x", "gasLimit": "0x2FEFD8", "mixhash": "0x00000000000000000000000000000000000000647572616c65787365646c6578", "nonce": "0x0", "parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000", "timestamp": "0x00", "alloc": {
"dbdbdb2cbd23b783741e8d7fcf51e459b497e4a6":
{
"balance":"100000000000000000000000000000"
}
}
}
输入一下命令:
geth --datadir "E:\EthDBSpace\PrivChain" init "E:\EthDBSpace\genesis.json"
输入一下命令:(开启geth命令行)
geth --datadir "E:\EthDBSpace\PrivChain" console
输入命令创建用户:(123 是密码,创建成功后返回一个账户公钥)
personal.newAccount('123')
第一行命令是将创建的一个账户的地址复给my,这样方便以后的书写命令。因为只有一个账户,就直接用accounts【0】。
第二行命令是用来查看用户的余额的。参数是账户的地址。
my=eth.accounts[0]
eth.getBalance(my)
我们看见账户的余额为0。我们可以挖矿赚钱。
输入挖矿命令:
miner.start()
因为整个链只有一个账户,没有竞争,所以,不用很久,几秒过后就可以停止挖矿。再来查看余额就会发现有很多钱。
miner.stop()
先创建第二个账户。第二个账户的地址赋给other。
personal.newAccount('123')
other=eth.accounts[1]
在转账前要对账户解锁。对my的账户解锁,把钱转给other账户。在查看余额。
personal.unlockAccount(my)
eth.sendTransaction({from:my, to:other, value:10000})
eth.getBalance(my)
eth.getBalance(other)
我们看账户里面都没变。这是因为,现在还只是发起交易,我们还需要挖矿把交易记录到区块中去。
输入挖矿命令,停止后在继续查看余额。
到此,实验全部完成。实验参考网上很多博客文章,有很多相同之处。