IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 区块链 -> 以太坊搭建 -> 正文阅读

[区块链]以太坊搭建

在/root路径下执行
1 安装以太坊

add-apt-repository -y ppa:ethereum/ethereum
apt update
apt install ethereum

查看以太坊版本

geth  version

在这里插入图片描述
2 安装指定版本的solc编译器

npm install -g solc@0.4.22

3搭建以太坊私有链
生成账户

geth account new

生成3个账户 密码 yhj123
在这里插入图片描述
所有的账户都可以在安装目录下的keystore下查看

cd /root/.ethereum/keystore

在这里插入图片描述

UTC--2021-08-25T08-32-27.014948531Z--07344c340fcd14fbd7acc8c71da19d38e1d7615c  
UTC--2021-08-27T02-58-37.835299692Z--093fb83eb32587c0b0cb789e6111c8878f4834d0
UTC--2021-08-27T02-58-13.827504651Z--68cd986f20bc1fe5ce4103568cd60df1e6845833

解锁账户
在这里插入图片描述
4 在/root路径下编写创世块文件

{
  "config": {
    "chainId": 1,
    "homesteadBlock": 0,
    "eip150Block": 0,
    "eip155Block": 0,
    "eip158Block": 0,
    "byzantiumBlock": 0,
    "constantinopleBlock": 0,
    "petersburgBlock": 0,
    "istanbulBlock": 0,
    "berlinBlock": 0
  },
  "alloc": {
    "07344c340fcd14fbd7acc8c71da19d38e1d7615c": {
      "balance": "0x31d450f18af132720000000"
    },
    "093fb83eb32587c0b0cb789e6111c8878f4834d0": {
      "balance": "0xd3c21bcecceda1000000"
    },
    "68cd986f20bc1fe5ce4103568cd60df1e6845833": {
      "balance": "0xd3c21bcecceda1000000"
    }
  },
  "coinbase": "0x0000000000000000000000000000000000000000",
  "difficulty": "0x20000",
  "extraData": "",
  "gasLimit": "0x2fefd8",
  "nonce": "0x0000000000000042",
  "mixhash": "0x0000000000000000000000000000000000000000000000000000000000000000",
  "parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
  "timestamp": "0x00"
}
chainId指定了独立的区块链网络id,网络id在连接到其它节点的时候会用到,以太坊公网id是1,不同的id网络的节点无法相互连接
homesteadBlockHomesteadBlock是以太坊的第二个主要版本,第一个是Frontier,这个值设置为“0”表示目前正在使用Homestead版本
eip150Blockeip是ethereum improvement proposal的缩写,我们的链不会提议分叉,所以设置为“0”即可
eip155Blockeip是ethereum improvement proposal的缩写,我们的链不会提议分叉,所以设置为“0”即可
eip158Blockeip是ethereum improvement proposal的缩写,我们的链不会提议分叉,所以设置为“0”即可
byzantiumBlock
constantinopleBlock
petersburgBlock
istanbulBlock
berlinBlock
alloc用来预置账号以及账号的以太币数量,因为私有链挖矿比较容易,所以不需要预置有币的账号,需要的时候再创建即可
coinbase矿工的账号
difficulty设置当前区块的难度,如果数值过大,挖矿时间较长,在测试环境为节省算力和等带时间可设置较小值
extraData可以写入32byte大小的任意数据,每个block都会有,由挖出block的miner来决定要不要写点什么。该参数可以填你的个性信息,但必须为十六进制的字符串
gasLimit该值设置对GAS的消耗总量限制,用来限制区块能包含的交易信息总和,因为是私有链,所以填最大
nonce一个用于挖矿的64位随机数
mixhash与nonce配合用于挖矿,由上一个区块的一部分生成的hash
parentHash上一个区块的哈希值,因为是创世区块,所以这个值是0
timestamp设置创世区块的时间戳

5 初始化创世区块

geth --datadir "/root/Ethereumdata" init /root/genesis.json

在这里插入图片描述
6 查看目录
在初始化的以太坊存储路径下多了geth和keystore两个文件夹:
1) geth保存的该链上的区块数据
2)keystore保存该链上的用户信息
7 配置自动解锁账户的脚本
在以太坊文目录/root/Ethereumdata下创建文件 password
写入创世区块预置账户的密码 每行一个
在这里插入图片描述
8 编写以太坊启动脚本
参数描述

identity
rpc启动rpc通信
rpcaddr连接rpc的地址,默认为localhost,为了方便访问建议使用本机IP地址
rpccorsdomain指定什么url能连接到你的节点执行rpc定制端任务,如果输入是“*”,则任何url都可以连接到你的rpc实例。
rpcapi设置允许rpc的客户端,一般为db,eth,net,web3
unlock解锁账户
password账户密码文件
nodiscover节点私有 不被别人添加
maxpeers网络可以被接入的最大节点数据 0表示不被其它节点接入
networkid设置当前区块链的网络ID,用于区分不同的网络,是一个数字,公链为1;这个和创世块文件的chainid没有直接关联
datadir当前区块链数据存放的位置
console启动命令行模式,可以再geth中执行命令
port网络监听端口,默认30303
rpcport连接rpc的端口,默认为8545
identity区块链的标识,用于标识目前网络的名字

编写启动文件的脚本sh文件

geth --identity "myethereum" --rpc --rpcaddr "0.0.0.0" --rpccorsdomain "*" --rpcapi "eth,net,web3,personal,admin,shh,txpool,debug,miner" --port 30304 --rpcport "7545" --nodiscover --maxpeers '5' --networkid '123456' --datadir '/root/Ethereumdata' console --allow-insecure-unlock

在这里插入图片描述
在这里插入图片描述

  区块链 最新文章
盘点具备盈利潜力的几大加密板块,以及潜在
阅读笔记|让区块空间成为商品,打造Web3云
区块链1.0-比特币的数据结构
Team Finance被黑分析|黑客自建Token“瞒天
区块链≠绿色?波卡或成 Web3“生态环保”标
期货从入门到高深之手动交易系列D1课
以太坊基础---区块验证
进入以太坊合并的五个数字
经典同态加密算法Paillier解读 - 原理、实现
IPFS/Filecoin学习知识科普(四)
上一篇文章           查看所有文章
加:2021-08-28 09:23:38  更:2021-08-28 09:24:39 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/27 11:32:12-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计