以Windows系统搭建基于Ethereum(以太坊)的区块链开发环境(具体操作与截图)

以Windows系统搭建基于Ethereum(以太坊)的区块链开发环境(具体操作与截图)

区块链设计开发小组 2019/04/01

借鉴博客:https://blog.csdn.net/cuiran/article/details/79239393

环境搭建

访问https://geth.ethereum.org/downloads/ ,下载geth-windows-amd64-1.7.3-4bb3c89d.exe

以Windows系统搭建基于Ethereum(以太坊)的区块链开发环境(具体操作与截图)

下载完成后点击geth.exe安装。

 

配置go语言环境

可通过choco进行安装,可访问链接 https://chocolatey.org 进行安装choco 。

或以下步骤安装:

1.使用cmd.exe安装

运行一下命令:

@"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"

运行后截图:

以Windows系统搭建基于Ethereum(以太坊)的区块链开发环境(具体操作与截图)

 

2.输入命令:Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))

安装PowerShell

若安装失败,则还可运行命令:choco upgrade chocolatey

chocolatey进行升级。

3.升级完成后重新dos窗口执行如下命令:

C:\Windows\system32> choco install git

C:\Windows\system32> choco install golang

C:\Windows\system32> choco install mingw

截图如下:

以Windows系统搭建基于Ethereum(以太坊)的区块链开发环境(具体操作与截图)

 

以Windows系统搭建基于Ethereum(以太坊)的区块链开发环境(具体操作与截图)

 

以Windows系统搭建基于Ethereum(以太坊)的区块链开发环境(具体操作与截图)

以Windows系统搭建基于Ethereum(以太坊)的区块链开发环境(具体操作与截图)

 

以Windows系统搭建基于Ethereum(以太坊)的区块链开发环境(具体操作与截图)

 

 

安装完成后,设置环境变量。

下载go-ethereum

在F盘创建一个文件夹ethereum ,然后通过进入此目录执行

git clone https://github.com/ethereum/go-ethereum

cd go-ethereum

go get -u -v golang.org/x/net/context

go install -v

 

以Windows系统搭建基于Ethereum(以太坊)的区块链开发环境(具体操作与截图)

至此环境安装完毕。

自定义创世区块,创世区块写在json格式文件中,例如genesis.json

{

"config": {

"chainId": 15,

"homesteadBlock": 0,

"eip155Block": 0,

"eip158Block": 0

},

"coinbase" : "0x0000000000000000000000000000000000000000",

"difficulty" : "0x40000",

"extraData" : "",

"gasLimit" : "0xffffffff",

"nonce" : "0x0000000000000042",

"mixhash" : "0x0000000000000000000000000000000000000000000000000000000000000000",

"parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",

"timestamp" : "0x00",

"alloc": { }

}

进入上述创建的F盘ethereum文件夹中,执行以下指令:

geth –datadir data init genesis.json

 

上面的命令的主体是geth init,表示初始化区块链,命令可以带有选项和参数,其中–datadir选项后面跟一个目录名,这里为data,表示指定数据存放目录为datagenesis.jsoninit命令的参数。运行上面的命令,会读取genesis.json文件,根据其中的内容,将创世区块写入到区块链中。

 

启动私有链节点

geth –datadir “./” –nodiscover console 2>>geth.log

 

然后就能执行如下挖坑、交易等操作

> eth.accounts

[]

> personal.newAccount("123456")

"0xacc9150f4d8c5664bd98a51c3aca63f5b5938fd5"

> eth.accounts

["0xacc9150f4d8c5664bd98a51c3aca63f5b5938fd5"]

> miner.start()

null

> miner.stop()

true

> eth.accounts

["0xacc9150f4d8c5664bd98a51c3aca63f5b5938fd5"]

> eth.blockNumber

0

> personal.newAccount("12345")

"0xa6b519c11b19fd73d08262a8e964ccda3509c015"

> user1=eth.accounts[0]

"0xacc9150f4d8c5664bd98a51c3aca63f5b5938fd5"

> user2=eth.accounts[1]

"0xa6b519c11b19fd73d08262a8e964ccda3509c015"

> eth.getBalance(user1)

0

> eth.getBalance(user2)

0

> miner.start()

null

> miner.stop()

true

> eth.coinbase

"0xacc9150f4d8c5664bd98a51c3aca63f5b5938fd5"

> miner.setEtherbase(user1)

true

> eth.coinbase

"0xacc9150f4d8c5664bd98a51c3aca63f5b5938fd5"

> eth.getBalance(user1)

 

以Windows系统搭建基于Ethereum(以太坊)的区块链开发环境(具体操作与截图)