新手第一次发文,希望大佬轻喷,谢谢。
当前我使用的系统是Centos7,geth是v1.7.3版本
以太坊搭建私有链:
1. 安装golang:yum install golang
2. 下载Geth:wget https://github.com/ethereum/go-ethereum/archive/v1.7.3.tar.gz
3. 解压压缩包:tar -zxvf v1.7.3.tar.gz
4. 进入解压路径下:cd go-ethereum-1.7.3,编译:make
5. 当编译成功时,build文件夹应存在bin,进入:cd build/bin
6. 新建创世区块文件:touch init.json
文件内容: {
"config": {
"chainId": 10,
"homesteadBlock": 0,
"eip155Block": 0,
"eip158Block": 0
},
"alloc" : {},
"coinbase" : "0x0000000000000000000000000000000000000000",
"difficulty" : "0x02000000",
"extraData" : "",
"gasLimit" : "0x2fefd8",
"nonce" : "0x0000000000000042",
"mixhash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
"parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
"timestamp" : "0x00"
}
7. 初始化创世区块:./geth --datadir "chain" init init.json
8. 进入Geth的javaScript操作界面:./geth --datadir "chain" --networkid 100000 --port 61910 --rpcport 8200 console 2>> geth.log
当显示 Welcome to the Geth JavaScript console!,表示我们的私有链建立成功了。
以下我们就可以进行一系列的操作了:
查看账户:eth.accounts
新建账户:personal.newAccount("123456") 123456这个密码一定要记住
默认账户:eth.coinbase
查看以太币:web3.fromWei(eth.getBalance(eth.accounts[0]),"ether")
启动挖矿:miner.start(1);数字代表启动几个线程
在日志文件中我们可以看到挖矿的记录,当成功挖到矿,会有记录,第一次挖需要多等待一会。
当挖到矿时,我们就可以进行交易了
再次新建一个账户 personal.newAccount("123456")
转账操作:eth.sendTransaction({from: eth.accounts[0], to: eth.accounts[1], value: web3.toWei(1, "ether")})
这样就向第二次建立的账户转进了1个以太坊,转账操作是需要消耗gas的
当执行这个命令时,交易未被写入区块,当矿工挖到新的区块时,交易才真正成功。
以上仅仅是建立了一个节点,而且没有使用 Ethereum Wallet,下次介绍集群的搭建和以太坊钱包的使用。