以太坊geth搭建自己得私链(window)

1、下载官方geth 并安装 (可以到https://ethfans.org/wikis/Ethereum-Geth-Mirror 下载镜像)

2、 在Geth的安装目录下放置初始化创世块文件genesis.json,文件内容如下:

{   
    //64位随机数,用于挖矿,注意他和mixhash 的设置需要满足以太坊黄皮书的要求
    //直接用这个也可以
    "nonce":"0x0000000000000042",
     //与nonce 共同用于挖矿,注意他和mixhash 的设置需要满足以太坊黄皮书的要求
    "mixhash":"0x0000000000000000000000000000000000000000000000000000000000000000",
    //挖矿难度,你可以随意控制,这里设置的难度比较小
    "difficulty": "0x4000",
    //用来提前设置帐号的以太币数量,例:
    //"alloc": {
    //“0x0000000000000000000000000000000000000001”:{"balance":"10000000"},
    //"0x0000000000000000000000000000000000000002":{"balance":"20000000"}
    //},
    "alloc": {},
    //挖矿的账户,默认钱包地址,这里因为没有地址,所有全是0
    //后面运行geth 后创建新账户时,如果geth 发现没有地址,会默认将第一个账户地址设置为矿工帐号
    "coinbase":"0x0000000000000000000000000000000000000000",
    //创世块的时间戳
    "timestamp": "0x00",
    //上一个区块的Hash值,因为是创世块,前面没有,所以是0
    "parentHash":"0x0000000000000000000000000000000000000000000000000000000000000000",
    //附加信息,随便填文本或不填也行
    "extraData": "0x00000000",
    //gas 最高限制,以太坊运行交易,合约等消耗的gas最高限制,这里设置为最高
    "gasLimit":"0xffffffff",
    "config": {
		//区块链的ID,公有链为1 
		"chainId": 666,
		"homesteadBlock": 0,
		"eip155Block": 0,
		"eip158Block": 0
	}
}

 

3、初始化创世块

 

geth --datadir "%cd%\chain" init genesis.json 
// %cd%:代表Geth安装目录

4、打开geth 控制台

geth -datadir "%cd%\chain" console

5、创建帐号,返回账户地址

personal.newAccount()
输入密码:

6、查询是否存在帐号

eth.accounts

  如果没有会显示  [],如果已经成功创建帐号则显示

["0x68255e04ebe9ba003ac8093f4733d547d9f59843"]

 可以通过下方命令,查询对应的帐号地址

eth.accounts[0]

7、查询当前账户余额

eth.getBalance(帐号地址)
//也可以为
eth.getBalance(eth.accounts[0])

8、交易(提前设置帐号的以太币数量,需要进行挖矿

    交易之前需要先解锁账户

personal.unlockAccount(账户) //——解锁自己的账号
//格式化币数量
amount = web3.toWei(5,'ether')
//发起交易  返回交易hash值
eth.sendTransaction({from:发起交易账户地址,to:接收账户地址,value:货币数量}) 

9、查看当前链上的为完成交易状态

txpool.status

pending表示已提交但还未被处理的交易。

10、挖矿

//也可以传入参数开控制挖矿的线程数
miner.start() 

 11、停止挖矿

miner.stop()

12、查看当前区块链数量

eth.blockNumber

13、  通过交易hash值可以查看交易信息

eth.getTransaction(交易hash值)

以太坊geth搭建自己得私链(window)_第1张图片

 

14、通过区块号查看区块

 

//这里查询创世块信息
eth.getBlock(0)

 

说明:以太坊的最小单位是Wei1个以太币= 1018次方Wei,但因为这个单位太小,好像Byte字节与KBMBGB的电脑存储单位一样,以太坊还有其他的单位:

KweiBabbage=103次方Wei

MweiLovelace=106次方Wei

GweiShannon=109次方Wei

MicroEtherSzabo=1012次方Wei

MilliEtherFinney=1015次方Wei

Ether = 1018次方Wei

你可能感兴趣的:(区块链)