接触区块链有一段时间了,然而仅仅停留在炒概念、蹭热点是没有意义的,于是决定沉下心来,踏踏实实的学习写代码,从最基础的Geth,Mist,Solidity,Truffle等学起,按照网上各位达人写的教程,一步步去实验,出现问题百度,反反复复,直到问题一个一个解决,慢慢有了一些心得。今天就来讲讲怎样从0开始,搭建起可以在自己电脑上进行测试的以太坊私有链,我用的是windows系统,虽然很多达人都写了不少Mac和Linux上搭建的教程,因为想尽快上手,就懒得再去装Centos或Ubuntu,更不想花银子买台Mac。
1. 重要工具Geth和Mist(或Ethereum Wallet)
工欲善其事,必先利其器。要学会玩儿以太坊,首先得学习怎样使用Geth跟Mist两样工具。先来解释一下这两样工具分别是干嘛用的。
Geth:纯命令行工具,用来新建账户、管理节点、部署执行合约、转移以太币、还有挖矿。
Windows版的Geth可以在官网上下载exe文件,然后直接安装。官网:https://geth.ethereum.org/
Geth的运行需要在cmd或Powershell(“运行”里输入打开)里面敲命令实现。
Mist(或Ethereum Wallet):以太坊钱包工具,Mist跟Ethereum Wallet的区别在于Ethereum Wallet仅仅是一个“钱包”,而Mist不仅是“钱包”,还是一个去中心化的浏览器。
Mist是一个图形化的操作界面,可以更加直观的在上面进行账户管理、发送以太币、以及部署智能合约。
2. Geth安装和配置
(1)https://geth.ethereum.org/ 官网上下载geth-windows-amd64-1.8.2-b8b9f7f4.exe(根据不同的系统选择),双击安装,再在“我的电脑”-“属性”-“高级设置”里配置一下环境变量
(2)“运行”里输入cmd或powershell打开命令行界面,输入geth version回车,如果显示版本信息,则表示geth安装成功。
(3)准备创世区块文件genesis.json
复制以下代码,然后打开notepad++,粘贴进去,再保存为genesis.json文件名,放在Geth安装目录下新建的tmpPrivate(名字可以随便取)的文件夹下里面{
"config": {
"chainId": 15,
"homesteadBlock": 0,
"eip155Block": 0,
"eip158Block": 0
},
"coinbase" : "0x0000000000000000000000000000000000000000",
"difficulty" : "0x40000",
"extraData" : "",
"gasLimit" : "0xffffffff",
"nonce" : "0x0000000000000042",
"mixhash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
"parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
"timestamp" : "0x00",
"alloc": { }
}
(4)回到cmd命令行,用cd命令进入geth安装目录,输入geth --datadir "./" init genesis.json
(5)打开geth控制台
按回车,输入geth --rpc --rpccorsdomain "*" --datadir "C:\Users\用户名\tmpPrivate" --port "30303" --rpcapi "db,eth,net,web3" --networkid 10000 console
10000是网络id,可以随便写,其他的不用改
回车后,进入geth,如图
“>”后面就可以输入geth命令,建立账户、发送以太币、以及挖矿了!
(6)创建账号:
输入命令personal.newAccount(“XXXXXX”)
XXXXXX是创建账户的密码,也是发送以太币的支付密码,一定要保密!!如图
123456是我随便自己设的密码
创建好以后,系统默认的账户是eth.accounts[0],可以输入eth.accounts[0]查看该账户的公钥