ubuntu系统搭建以太坊私有链

1、安装curl、git

apt-get update

apt-get install git

apt-get install curl

2、安装go

curl -O https://storage.googleapis.com/golang/go1.5.1.linux-amd64.tar.gz

Unpack it to the /usr/local (might require sudo)

tar -C /usr/local -xzf go1.5.1.linux-amd64.tar.gz

3、配置go的环境变量

mkdir -p ~/go; echo "export GOPATH=$HOME/go" >> ~/.bashrc

echo "export PATH=$PATH:$HOME/go/bin:/usr/local/go/bin" >> ~/.bashrc

source ~/.bashrc

验证go :

go version

4、nodejs、npm

curl -sL https://deb.nodesource.com/setup_4.x | sudo -E bash -

apt-get install nodejs

验证是否安装成功

node -v

npm -v

5、安装以太坊环境

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

6、安装solc(solidity编译环境)

sudo add-apt-repository ppa:ethereum/ethereum

sudo apt-get update

sudo apt-get install solc

7、创建三个账户

连续输入三次命令:geth account new

得到三个公钥地址

8、编辑创世块文件

将三个地址放入"alloc"中,

{
    "nonce": "0x0000000000000042",
    "difficulty": "0x1",
    "alloc": {
        "0d2e08a2615d5c46734058f34b307db0eda5ba6e": {
            "balance": "20000009800000000000000000000"
        },
        "1f9035c1ed2802fe7f96e8a28890d8816af14c9c": {
            "balance": "20000009800000000000000000000"
        },
        "59b0a1db6b4de1d303d440da1d02fafd3f4f41af": {
            "balance": "20000009800000000000000000000"
        }
    },
"config": {
"chainId": 15,
"homesteadBlock": 0,
"eip155Block": 0,
"eip158Block": 0
},
"mixhash": "0x0000000000000000000000000000000000000000000000000000000000000000", "coinbase": "0x0000000000000000000000000000000000000000",

"timestamp": "0x00",

"parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000",

"extraData": "0x11bbe8db4e347b4e8c937c1c8370e4b5ed33adb3db69cbdb7a38e1e50b1b82fa",

"gasLimit": "0xb2d05e00"
}

注意:划线部分如果不添加,会出现以下错误:

9、配置自动解锁账号的脚本

在./ethereum下创建password文件,在里面输入密码,每个账号一行密码如:

123456
123456
123456

10、配置以太坊启动脚本private_blockchain.sh(名字自取)

geth --rpc --rpcaddr="0.0.0.0" --rpccorsdomain="*" --unlock ‘0,1,2‘ --password ~/.ethereum/password   --nodiscover --maxpeers ‘5‘ --networkid ‘1234574‘ --datadir ‘~/.ethereum‘  console

每次启动geth节点时,只需要输入一下命令

bash private_blockchain.sh

11、启动后,输入eth.getCompilers(),可能会出现一下情况

这是因为,安装以太坊环境时自动下载了geth客户端是1.6以上版本的,但是1.6版本客户端中没有getCompilers()函数,后续可能会开发别的方法来实现这个功能。

我的解决办法是下载geth1.5.9版本,覆盖掉原来的geth。

之后,输入eth.getCompilers(),会出现,

这是因为没有指定编译器,另开一个终端,输入which solc

之后,在geth终端中输入:

会出现这个是因为我用的ubuntu虚拟机,提示我虚拟机的内存不足,当我把虚拟机内存增加到2G后,这个问题就解决了。

再次输入:

大功告成!

时间: 2024-10-12 02:14:38

ubuntu系统搭建以太坊私有链的相关文章

使用 Go-Ethereum 1.7.2搭建以太坊私有链

1.什么是Ethereum(以太坊) 以太坊(Ethereum)并不是一个机构,而是一款能够在区块链上实现智能合约.开源的底层系统,以太坊从诞生到2017年5月,短短3年半时间,全球已有200多个以太坊应用诞生.以太坊是一个平台和一种编程语言,使开发人员能够建立和发布下一代分布式应用. 以太坊可以用来编程,分散,担保和交易任何事物:投票,域名,金融交易所,众筹,公司管理, 合同和大部分的协议,知识产权,还有得益于硬件集成的智能资产. 以太坊的白皮书:https://github.com/ethe

区块链,使用 Go-Ethereum 搭建以太坊私有链

1.什么是Ethereum(以太坊) 以太坊(Ethereum)并不是一个机构,而是一款能够在区块链上实现智能合约.开源的底层系统,以太坊从诞生到2017年5月,短短3年半时间,全球已有200多个以太坊应用诞生.以太坊是一个平台和一种编程语言,使开发人员能够建立和发布下一代分布式应用. 以太坊可以用来编程,分散,担保和交易任何事物:投票,域名,金融交易所,众筹,公司管理, 合同和大部分的协议,知识产权,还有得益于硬件集成的智能资产. 以太坊的白皮书:https://github.com/ethe

如何搭建以太坊私有链

在开发以太坊时,很多时候需要搭建一条以太坊私有链,通过本文一起看看如何在Mac上进行搭建. 写在前面 阅读本文前,你应该对以太坊语言有所了解,如果你还不了解,建议你先看以太坊是什么 go-ethereum客户端安装 Go-ethereum客户端通常被称为Geth,它是个命令行界面,执行在Go上实现的完整以太坊节点.Geth得益于Go语言的多平台特性,支持在多个平台上使用(比如Windows.Linux.Mac).Geth是以太坊协议的具体落地实现,通过Geth,你可以实现以太坊的各种功能,如账户

Windows 10下搭建以太坊私有链环境

通过网上的资料,结合自己的搭建的eth环境,希望能对大家搭建区块链环境有所帮助了解.下面开始进入准备. 本次是windows环境下的私有链环境搭建,所以需要做以下准备: 1.win10系统(家庭版),64位 2.以太坊钱包Ethereum-Wallet-win64-0-10-0(我用的版本0.10.0) 3.以太坊geth客户端(我用的是1.4.11版) 1.1 安装geth Windows要求必须是64位系统,从官方网站下载编译好的win64客户端,下载解压后只有一个Geth.exe,运行安装

区块链入门(2):搭建以太坊私有链(private network of ethereum),以及挖矿的操作..

在做一些测试工作的时候, 为了方便控制以及更快的进入真正的测试工作,可能需要搭建一个私有的以太坊网络. 而以太坊节点之间能够互相链接需要满足1)相同的协议版本2)相同的networkid,所以搭建私有网络最方便的方法就是通过geth命令中的--networkid选项,设置一个与主网不同的networkid(主网的networkid为1),这也是官方推荐的方法. 下面开始建立私有以太坊网络: mkdir private-geth cd private-geth 建立创世纪区块文件,是一个json格

CentOS7搭建以太坊私有链

1. 环境准备:Win10 64位安装 VM VirtualBox,操作系统版本: CentOS-7-x86_64-Everything-1611.iso(7.71G). 切换root账号,方便安装程序 2. 安装Golang 1.9以上版本,yum安装的可以是1.8.3,所以要手动下载安装 国内镜像:https://studygolang.com/dl #cd /usr #wget https://studygolang.com/dl/golang/go1.10.1.linux-amd64.t

基于Ubuntu系统搭建以太坊go-ethereum源码的开发环境

第一.先安装geth的CLI环境sudo apt-get install geth,这个很重要 第二.下载源代码 git clone https://github.com/ethereum/go-ethereum 我下载到啦 /home/siegel/ethereum/ 更改文件夹权限为可写  chmod -R 777 /home/siegel/ethereum/go-ethereum 第三步 sudo apt-get install software-properties-common sud

以太坊私有链挖矿操作指南

先总体说一下步骤: 1.操作系统准备 linux(centos6.7) 2. golang安装 3.下载以太坊 4. 安装以太坊 5. 创世区块文件的准备 6. 创世区块初始化 7. 以太坊启动 ===================================== 1.最好是centos6.5以上的操作系统 2. 使用yum命令安装golang语言 [[email protected] src]# yum install golang 3. 下载以太坊源码,演示用的链接是 https://

搭建以太坊私链完整版

可以直接下载程序进行安装,也可以下载源码自己进行编译安装,本文介绍源码编译方式. 源码编译 环境需求 正确安装Go语言环境 正确安装GCC:安装GCC方法 从github下载源码 go get github.com/ethereum/go-ethereum 编译 Ubuntu和Mac下编译 cd go-ethereum make geth 或者 make all Windows下编译 按以下目录结构才能正确编译,需要下载的包请自行下载 $GOPATH$/src ├── github.com │