一步一步学区块链(4)创建自己的私链
2016-12-01 17:00
316 查看
本篇文章主要结合之前文章提到的geth客户端,讲解如何构建自己的私链,以及在上面进行账户管理和转账交易。
1.创世块文件
区块链上第一个区块叫做创世块,创建我们私链的时候可通过创世块配置文件来声明和定义。把以下文件内容存储为genesis.json文件
2.创建私链
打开命令行,定位到保存私链的文件地址路径,初始化私链,打开私链
如需通过初始化文件配置账户的默认以太币数量,可先在控制台新增用户,并将账户地址替换到genesis.json的alloc中
dbdbdb2cbd23b783741e8d7fcf51e459b497e4a6,然后重新执行 geth --datadir "privateChain" init genesis.json ,
另外一种方式就是新增账户后,执行挖矿 miner.start() 开始挖矿,miner.stop() 停止挖矿,期间挖的以太币会自动存储到
第一个账户中。
操作命令如图
私链创建成功
进入控制台
新建一个用户并查看他的余额
将新建用户的地址修改到genesis.json文件中,并重新geth --datadir "privateChain" init genesis.json ,进入控制台查看用户余额
3.账户管理
在命令行中我们可以再创建一个账户,用于后面的交易。
4.交易
通过命令行将一个账户的余额转到第二个账户,并查看是否到账。首先解锁各个用户的状态,然后定义一个变量接受账户地址
(不定义也可以,定义看起来更简洁)
注意交易会花费gas,所以看到账户一加上账户二的余额是没有之前的总额够的。另外由于交易必须启动挖矿才能同步到到区块中,
顾交易完成后需要启动挖矿。由于私有链环境,挖矿难度很低,启动挖矿后会增加账号一的以太币。
然后执行
过一会之后停止挖矿,查看交易是否完成
最后查看账户二的余额
通过以上操作我们能基本了解以太坊区块链技术的工作原理,下会我们将基于此做智能合约的编写。
1.创世块文件
区块链上第一个区块叫做创世块,创建我们私链的时候可通过创世块配置文件来声明和定义。把以下文件内容存储为genesis.json文件
{ "coinbase": "0x0000000000000000000000000000000000000000", "config": { "homesteadBlock": 5 }, "difficulty": "0x20000", "extraData": "0x", "gasLimit": "0x2FEFD8", "mixhash": "0x00000000000000000000000000000000000000647572616c65787365646c6578", "nonce": "0x0", "parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000", "timestamp": "0x00", "alloc": { "dbdbdb2cbd23b783741e8d7fcf51e459b497e4a6":{ "balance":"100000000000000000000000000000" } } }
2.创建私链
打开命令行,定位到保存私链的文件地址路径,初始化私链,打开私链
如需通过初始化文件配置账户的默认以太币数量,可先在控制台新增用户,并将账户地址替换到genesis.json的alloc中
dbdbdb2cbd23b783741e8d7fcf51e459b497e4a6,然后重新执行 geth --datadir "privateChain" init genesis.json ,
另外一种方式就是新增账户后,执行挖矿 miner.start() 开始挖矿,miner.stop() 停止挖矿,期间挖的以太币会自动存储到
第一个账户中。
操作命令如图
私链创建成功
进入控制台
新建一个用户并查看他的余额
将新建用户的地址修改到genesis.json文件中,并重新geth --datadir "privateChain" init genesis.json ,进入控制台查看用户余额
3.账户管理
在命令行中我们可以再创建一个账户,用于后面的交易。
4.交易
通过命令行将一个账户的余额转到第二个账户,并查看是否到账。首先解锁各个用户的状态,然后定义一个变量接受账户地址
(不定义也可以,定义看起来更简洁)
注意交易会花费gas,所以看到账户一加上账户二的余额是没有之前的总额够的。另外由于交易必须启动挖矿才能同步到到区块中,
顾交易完成后需要启动挖矿。由于私有链环境,挖矿难度很低,启动挖矿后会增加账号一的以太币。
然后执行
miner.start()
过一会之后停止挖矿,查看交易是否完成
miner.stop()
最后查看账户二的余额
通过以上操作我们能基本了解以太坊区块链技术的工作原理,下会我们将基于此做智能合约的编写。
相关文章推荐
- 一步一步教你在 Android 里创建自己的账号系统(二)--同步数据以及设计账号页面
- 一步一步教你在 Android 里创建自己的账号系统(一)
- 一步一步掌握sharpdevelop4,创建自己的pad,和自己的view
- 教你一步一步动手创建并使用自己的web services
- 一步一步学区块链(6)truffle开发框架
- 公司该如何创建适合自己的区块链产品、联盟链、私链
- 一步一步学区块链(2)工具和技术的介绍
- 一步一步学区块链(5)智能合约
- 一步一步教你在 Android 里创建自己的账号系统(一)
- ECMAScript一步一步创建自己的js类库(一):理解函数
- Linux中一步一步教你创建自己的C库
- 创建自己的3D虚拟身体!
- 创建自己的3D虚拟身体!
- 创建自己的网上个性印章
- GEF,EMF,RCP,Eclipse's plugin的几个问题(7) 创建自己的选择文件PropertyDescrptor自定义的FileNamePropertyDescriptor
- 如何创建自己的wiki-Dokuwiki
- 创建您自己的集合类(CollectinBase的使用)
- 使用WINDOWS的VBS脚本,创建自己的文件类型!
- 创建自己的网上个性印章
- 终于下定决心创建自己的blog了