Ubuntu 中搭建以太坊区块链私有链(一)

1. 序言

在最近的项目开发中,遇到了搭建区块链的问题,这里以以太坊区块链为例,阐述一下区块链私有链的搭建教程。

2. 安装Go

  1. 到Go官网下载Go安包,下载地址https://golang.org/dl/
    在这里插入图片描述
  2. 选取合适的下载版本,这里选go1.16.2.linux-arm64.tar.gz
    将文件上传至Ubuntu,并解压
tar -zxvf go1.16.2.linux-arm64.tar.gz
  1. 将解压后的文件夹,放到自己平常的安装包位置,并设置0777权限
sudo cp -rf go /usr/local
cd /usr/local
sudo chmod -R 0777 go
  1. 配置环境变量
    创建工作目录,我选择创建在/home/hadoop目录下
mkdir GOPATH
sudo chmod -R 0777 GOPATH

使用sudo gedit ~/.bashrc命令修改环境变量,在弹出的记事本中添加以下内容。同时也在GOPATH目录下创建src和bin目录

export GOROOT=/usr/local/go #GOROOT是系统上安装Go软件包的位置。
export GOPATH=/home/hadoop/GOPATH #GOPATH是工作目录的位置。
export PATH=$GOPATH/bin:$GOROOT/bin:$PATH

使环境变量生效并检测有效性

source ~/.bashrc
go version # 检测有效性

若控制台打印出go version go1.16.2 linux/amd64即为安装成功。

3. 安装geth客户端

  1. 打开终端,依次执行以下命令
sudo apt-get update
sudo apt-get install software-properties-common
sudo add-apt-repository -y ppa:ethereum/ethereum
sudo add-apt-repository -y ppa:ethereum/ethereum-dev
sudo apt-get update
sudo apt-get install ethereum

安装完成后,在控制台输入geth -h,若出现以下界面则为安装成功:
在这里插入图片描述
2. 创建创世块
一个区块链应该有个起始链,需要创建一个创世快文件genesis.json,文件内容如下:

{
  "config": {
    "chainId": 666,
    "homesteadBlock": 0,
    "eip150Block": 0,
    "eip150Hash": "0x0000000000000000000000000000000000000000000000000000000000000000",
    "eip155Block": 0,
    "eip158Block": 0,
    "byzantiumBlock": 0,
    "constantinopleBlock": 0,
    "petersburgBlock": 0,
    "istanbulBlock": 0,
    "ethash": {}
  },
  "nonce": "0x0",
  "timestamp": "0x5ddf8f3e",
  "extraData": "0x0000000000000000000000000000000000000000000000000000000000000000",
  "gasLimit": "0x47b760",
  "difficulty": "0x00002",
  "mixHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
  "coinbase": "0x0000000000000000000000000000000000000000",
  "alloc": { },
  "number": "0x0",
  "gasUsed": "0x0",
  "parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000"
}

具体字段含义大家可以去官网查找,这里就不一一赘述了。
3. 启动geth客户端
开启终端,输入命令

sudo geth --datadir data --networkid 20200321 --rpc --rpccorsdomain "*" --nodiscover --port 16333 --rpcport 8546 console --allow-insecure-unlock --rpcapi=eth,web3,admin,personal,net --rpcaddr "0.0.0.0"

其中--rpcport 8546代表rpc端口,系统默认是8545rpcapi=eth,web3,admin,personal,net代表作用域权限;--rpcaddr "0.0.0.0"允许所有ip访问。
如图所示代表创建成功:
在这里插入图片描述
4. 创建账户并挖矿
在控制台的命令行界面输入以下命令,即可创建账户并进行挖矿

> personal.newAccount("123456") # 123456为账户密码
# 输出  0x******************************************  账户名
> eth.coinbase # 查看账户
> miner.start(1) # 开始挖矿
> miner.stop() # 停止挖矿
> web3.fromWei(web3.eth.getBalance(web3.eth.accounts[0]),"ether") # 查询账户余额

上面就是关于以太坊区块链私有链的创建,后续的博客会陆续更新最新教程(本人也在学习)。在这里插入代码片

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值