主页 > 苹果下载imtoken教程 > 以太坊开发——使用geth搭建私链
以太坊开发——使用geth搭建私链
我在上一篇博客《以太坊开发——Geth入门》中使用了geth开发环境,准确的说是和私有链不同。今天我们将学习构建以太坊私有链。我们知道区块链分为三种类型:公链、联盟链和私有链。三者的区别我会在后面的博客中详细说一下,今天主要实现建立私链的步骤。交易所geth环境及其他区块链环境的配置请参考博客《区块链-以太坊开发环境搭建介绍》。
(1)先在命令行使用“geth account list”查看当前账号,如果没有账号,可以使用“geth account new”新建账号:
.
可以看出我已经有四个账号了,这里就不创建了。
(2)写一个创世块,在根目录~/下创建一个test-genesis.json文件。文件内容如下:
{
"nonce": "0x0000000000000042",
"difficulty": "0x1",
"alloc": {
"3ae88fe370c39384fc16da2c9e768cf5d2495b48": {
"balance": "20000009800000000000000000000"
},
"81063419f13cab5ac090cd8329d8fff9feead4a0": {
"balance": "20000009800000000000000000000"
},
"9da26fc2e1d6ad9fdd46138906b0104ae68a65d8": {
"balance": "20000009800000000000000000000"
}
},
"mixhash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"coinbase": "0x0000000000000000000000000000000000000000",
"timestamp": "0x00",
"parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"extraData": "0x11bbe8db4e347b4e8c937c1c8370e4b5ed33adb3db69cbdb7a38e1e50b1b82fa",
"gasLimit": "0xb2d05e00"
}
其中alloc是你上面创建的账户的公钥以太坊使用的是什么链,你可以分配足够的钱。你也可以只在alloc中写一个帐户。
(3)下一步要初始化创世块,首先检查你的以太坊安装位置,注意我的以太坊安装在/Users/username/Library下。使用以下命令进行初始化:
geth --datadir “~/Library/Ethereum" init ~/test-genesis.json
(4)命令行进入以太坊的安装目录,即上面提到的/Users/username/Library/Ethereum,创建密码文件,在文件中输入alloc中对应账户的密码刚才,每个密码一行。例如:
123456
这条线很好。
(5)在根目录,即~/目录下/Users/用户名下,编写以太坊启动脚本,命名为private_blockchain.sh,配置内容如下(请将文件目录改为你自己的):
geth --rpc --rpcaddr="0.0.0.0" --rpccorsdomain="*" --unlock '0'
--password ~/Library/Ethereum/password --nodiscover --maxpeers '5' --networkid '1234574'
--datadir '~/Library/Ethereum' console
p>
注意--unlock后面的参数。如果上述alloc中只写了一个账号,密码文件中只写了一个密码以太坊使用的是什么链,那么这里只写'0',其他数字以此类推。 '0,1,2...'.
(6)每次启动geth节点,只需要传递如下命令:
bash private_blockchain.sh
出现如上界面,说明geth以太坊私链已经搭建完成。接下来就可以使用geth命令行来完成各种操作了。