![ethereum-logo-1.png][1] 提醒:本文章可能不完整。 最近币圈一片哀嚎,受到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 即可获得当前用户的地址 [1]: https://www.54yt.net/usr/uploads/2018/02/4036797831.png 最后修改:2018 年 04 月 17 日 06 : 31 PM © 著作权归作者所有
这两天开始搞着玩玩,开始先从你这教程入手~ 谢谢loc大佬分享~OωO