以太坊

Posted IT人生

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了以太坊相关的知识,希望对你有一定的参考价值。

Centos 7 安装 以太坊环境

安装系统依赖库   

yum update -y && yum install git wget bzip2 vim gcc-c++ ntp epel-release nodejs cmake -y  

# 安装编译工具和库
yum -y groupinstall ‘Development Tools‘

# 安装和设置 ntp 时间校准服务
yum -y install ntp
systemctl enable ntpd.service
systemctl start ntpd.service

安装Go

wget https://dl.google.com/go/go1.10.linux-amd64.tar.gz
tar -C /usr/local -xzf go1.10.linux-amd64.tar.gz
echo ‘export GOROOT=/usr/local/go‘ >> /etc/profile
echo ‘export PATH=$PATH:$GOROOT/bin‘ >> /etc/profile
echo ‘export GOPATH=/root/go‘ >> /etc/profile
echo ‘export PATH=$PATH:$GOPATH/bin‘ >> /etc/profile
source /etc/profile

验证

$ go version

go version go1.10 linux/amd64

克隆编译项目go-ethereum

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

cd go-ethereum

make all

在path中加入geth路径

echo ‘export PATH=$PATH:/usr/local/go-ethereum/build/bin‘ >> /etc/profile

source /etc/profile

验证

geth version
Geth
Version: 1.8.2-unstable
Git Commit: bd6879ac518431174a490ba42f7e6e822dcb3ee1
Architecture: amd64
Protocol Versions: [63 62]
Network Id: 1
Go Version: go1.10
Operating System: linux
GOPATH=/root/go
GOROOT=/usr/local/go

配置私有链初始状态,新建文件genesis.json

{ 
    "config": {
            "chainId": 22, 
            "homesteadBlock": 0, 
            "eip155Block": 0, 
            "eip158Block": 0 
    },
    "alloc" : {},
    "coinbase" : "0x0000000000000000000000000000000000000000", 
    "difficulty" : "0x400", 
    "extraData" : "", 
    "gasLimit" : "0x2fefd8", 
    "nonce" : "0x0000000000000038", 
    "mixhash" : "0x0000000000000000000000000000000000000000000000000000000000000000", 
    "parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000", 
    "timestamp" : "0x00" 
}

初始化区块链,生成创世区块和初始状态

geth --datadir /opt/data init /opt/eth/genesis.json

 

以上是关于以太坊的主要内容,如果未能解决你的问题,请参考以下文章

[以太坊源代码分析] V. 从钱包到客户端

以太坊

从零开发区块链应用--以太坊地址生成

区块链 | 智能合约Ethereum源代码- 以太坊RPC通信实例和原理代码分析(上)

第一行代码:以太坊-使用Solidity语言开发和测试智能合约

什么是以太币/以太坊ETH?