本来去年就应该写这个教程记录一下的,然而以为自己以后不会用到,所以偷懒没写……被打脸之后重新记录一波,如何在win10以及linux上面搭建一个以太坊的私链
首先保证你的电脑系统是win10,然后第一步,去官网下载Geth,我这里选的版本是1.9.12
下载地址:https://geth.ethereum.org/downloads/
下载好了之后,双击安装,然后打开安装目录,你会发现Geth.exe安静的在里面躺着:
但是先不要着急双击启动,geth客户端不是这样玩的,既然是要搭建私链,那么就先要有创世区块,我们在同级目录创建一个genesis.json文件:
{ "config": { "chainId": 7878, "homesteadBlock": 0, "eip150Block": 0, "eip150Hash": "0x0000000000000000000000000000000000000000000000000000000000000000", "eip155Block": 0, "eip158Block": 0, "byzantiumBlock": 0, "constantinopleBlock": 0, "petersburgBlock": 0, "istanbulBlock": 0, "ethash": {} }, "nonce": "0x0", "timestamp": "0x5ddf8f3e", "extraData": "0x0000000000000000000000000000000000000000000000000000000000000000", "gasLimit": "0x47b760", "difficulty": "0x99999", "mixHash": "0x0000000000000000000000000000000000000000000000000000000000000000", "coinbase": "0x0000000000000000000000000000000000000000", "alloc": { }, "number": "0x0", "gasUsed": "0x0", "parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000" }
这时候我们再创建一个data目录,用于存放数据文件,最终目录结构如下:
此时我们打开命令行,切换到当前目录后,输入如下代码初始化创世区块,输出如下内容代表初始化完成:
./geth -datadir .\data\ init genesis.json
如果你失误了想要删除,执行该命令即可:
./geth removedb --datadir .\data\
接下来我们再输入如下内容启动客户端:
./geth --rpc --rpcaddr 127.0.0.1 --port 10071 --rpcport 10070 --rpcapi "personal,db,eth,net,web3,miner" --datadir .\data\ --networkid 7878 console --allow-insecure-unlock
这里解释一下各个参数的意义:
启动客户端之后,我们就可以输入一些命令来玩了:
至于怎么交易,大家可以自己去百度,我这里就不贴了,额外说一个问题,有些人miner.start()之后会发现,客户端返回了一个null,然后区块并没有增加,如果你的客户端和我版本是一致的,那么应该是以下情况:
这里我的系统是Centos7.4,其它的也大同小异,Linux的搭建和win10上面差不多:
wget https://gethstore.blob.core.windows.net/builds/geth-linux-amd64-1.9.25-e7872729.tar.gz tar -zxvf geth-linux-amd64-1.9.25-e7872729.tar.gz
解压之后,cd到解压目录里,然后你会看到geth同样静静躺在里面,后续流程和上面创建genesis.json文件开始的一模一样
后续有时间还会记录一下怎么用Java操作Geth客户端以及智能合约的部署使用……