以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 

下载完成后点击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"

运行后截图:

 

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

截图如下:

 

 

 

 

 

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

下载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

 

至此环境安装完毕。

自定义创世区块,创世区块写在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)

 

猜你喜欢

转载自blog.csdn.net/charlottehe/article/details/88957354