提醒:本文章可能不完整。
最近币圈一片哀嚎,受到BTC/ETH走势影响,整个虚拟货币市场都似乎陷入一潭死水。
不过有很多空投、糖果币却在不断推销,尽管许多人都知道这些币没什么价值,可是还是不断去成为底层的韭菜。
本教程仅为最初级的以太坊私链创建教程,你需要有至少两台VPS去运行ETH程序。
本教程环境采用Ubuntu16.04 x64系统,请首先保证你的系统处于最新且安装必备程序。
sudo apt-get -y install software-properties-common
sudo add-apt-repository -y ppa:ethereum/ethereum
sudo add-apt-repository -y ppa:ethereum/ethereum-dev
sudo apt-get install -y ethereum
接下来创建创世文件 genesis.json
{
"alloc": {},
"config": {
"chainID": 233335433,
"homesteadBlock": 0,
"eip155Block": 0,
"eip158Block": 0
},
"nonce": "0x395f0923d7cbdf50",
"difficulty": "0x8000",
"mixhash": "0x2a3ee2fb4bfb076d76092bd36af364e89fb492d898d7ca7b7bd5bf4bf1d3a360",
"coinbase": "0x0000000000000000000000000000000000000000",
"timestamp": "0x1517680924",
"parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"extraData": "0x292be9676f8772ac1ce15460abb554421c215f2e2658aeebd26c851843dcc7b5",
"gasLimit": "0xffffffff"
}
下面解释具体参数的作用
- nonce:16位随机数
- difficulty: 区块计算难度
- mixhash:64位随机数
- coinbase: 矿工账号,随便填写。
- timestamp: 设置创世块的时间戳。
- parentHash: 上一个区块的hash值,因为是创世块,所以这个值是0。
- extraData: 附加信息,随便填,可以填你的个性信息,必须为十六进制的字符串。
- gasLimit: 该值设置对GAS的消耗总量限制,用来限制区块能包含的交易信息总和,因为是私有链,所以填最大。
geth --datadir path/to/custom/data/folder init genesis.json
geth --datadir path/to/custom/data/folder --nodiscover console 2>>geth.log
链创建成功,开始运行
geth --identity "MJJ" --rpc --rpccorsdomain "*" --port 30303 --rpcapi "db,eth,net,web3" --networkid 23333456 --rpcport 8080 console
各参数作用如下
参数名称 | 参数含义 |
---|---|
identity | 区块链的标示,随便填写,用于标示目前网络的名字 |
init | 指定创世块文件的位置,并创建初始块 |
datadir | 设置当前区块链网络数据存放的位置 |
port | 网络监听端口 |
rpc | 启动rpc通信,可以进行智能合约的部署和调试 |
rpcapi | 设置允许连接的rpc的客户端,一般为db,eth,net,web3 |
networkid | 设置当前区块链的网络ID,用于区分不同的网络,是一个数字 |
console | 启动命令行模式,可以在Geth中执行命令 |
启动第二台VPS,使用同一创世文件完成以上操作
在第一台VPS中的ETH命令行中创建账户
personal.newAccount('123456')
其中123456为用户密码
eth.accounts
即可获得当前用户的地址
这两天开始搞着玩玩,开始先从你这教程入手~ 谢谢loc大佬分享~OωO