主页 > imtoken钱包哪个版本好 > 一步步打造自己的区块链(以太坊私链)

一步步打造自己的区块链(以太坊私链)

imtoken钱包哪个版本好 2023-08-18 05:08:00

一、什么是区块链

区块链的概念最早于2008年在中本聪的论文《比特币:一种点对点电子现金系统》中提出。 区块链可以理解为一种公共记账机制(技术方案),它不是一个具体的产品。 其基本思想是:通过在互联网上建立一套公共账本,网络中的所有用户共同在账本上记录和核对账本,以保证信息的真实性和不可篡改。 之所以叫“区块”链以太坊改pos,顾名思义,是因为区块链存储数据的结构是由网络上的“存储块”组成的链。 所有信息交换数据。 随着时间的推移以太坊改pos,这条链将继续增长。

根据访问权限和管理权限,区块链可以分为:公共区块链、私有区块链和联盟链。

以下是三种区块链的介绍:

1、公共区块链(Public blockchains)公共区块链是指世界上任何人都可以读取的区块链,任何人都可以发送交易,交易可以得到有效确认,任何人都可以参与共识过程——共识过程决定哪些区块可以被添加到区块链并定义当前状态。 作为中心化或准中心化信任的替代,公链的安全由“加密数字经济”维护——“加密数字经济”采用工作量证明机制或权益证明机制来将经济奖励与加密数字验证相结合并遵循一个普遍原则:每个人从中获得的经济奖励与他们对共识过程的贡献成正比。 这些区块链通常被认为是“完全去中心化”的。 2、联盟链:联盟链是指共识过程由预选节点控制的区块链; 例如,想象一个由 15 个金融机构组成的社区,每个金融机构运行一个节点,并且为了使每个区块生效,需要得到其中 10 个金融机构的确认(2/3 确认)。 区块链可能允许所有人阅读,或者仅限于参与者,或者走混合路线,比如区块的根哈希及其API(应用程序编程接口)是公开的,API可以被外部使用world 进行有限数量的查询并获取有关区块链状态的信息。 这些区块链可以被认为是“部分分散的”。 3、私有链:完全私有链是指写入权限只掌握在一个组织手中的区块链。 读取权限要么向公众开放,要么任意限制。 相关应用包括数据库管理、审计,甚至一家公司。 尽管在某些情况下需要公共可审计性,但在许多情况下,公共可读性并不是必需的。

2. 建立自己的私有区块链

本次介绍如何在CentOS 6上搭建私有以太坊链。

1个

操作系统准备

我使用的操作系统是CentOS 6.5。

以太坊改pos_以太坊pow转pos时间_以太坊改算法时间

[root@localhost ~]# cat /etc/redhat-releaseCentOS 6.5 版(最终版)

2个

golang安装

1)安装yum源:

[root@localhost ~]# rpm -ivh

2)安装golang:

[root@localhost ~]# yum install golang

3个

以太坊改pos_以太坊改算法时间_以太坊pow转pos时间

下载以太坊源代码

[root@localhost ~]# mkdir /opt/software

[root@localhost ~]# cd /opt/software

[root@localhost 软件]# wget

4个

安装以太坊

[root@localhost software]# unzip v1.7.3.zip

[root@localhost 软件]# ls

以太坊改算法时间_以太坊改pos_以太坊pow转pos时间

go-ethereum-1.7.3 v1.7.3.zip

[root@localhost 软件]# cd go-ethereum-1.7.3

[root@localhost go-ethereum-1.7.3]# pwd

/opt/software/go-ethereum-1.7.3

输入make编译

[root@localhost go-ethereum-1.7.3]# make

编译成功。

进入 go-ethereum-1.7.3/build/bin 子目录。

以太坊改算法时间_以太坊pow转pos时间_以太坊改pos

在该子目录下可以看到生成的geth可执行文件。

这样我们的以太坊安装就完成了。

5个

创世区块文件准备

在go-ethereum-1.7.3/build/bin目录下,创建一个init.json的文本文件:

[root@localhost bin]# vi init.json

{“Config”:{“chainid”:10,“HomesteadBlock”:0,“EIP155BLOCK”:0,“EIP158Block”:0},“Alloc”:{},“coinbase”:“0x000000000000000000000000000000000000000000”:“”“0x02000000” ,“ rectradata”:“”,“ Gaslimit”:“ 0x2fefd8”,“ NONCE”:“ 0x0000000000000000000000000042”,“ MIXHASH”:“ 0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000来00000000000000000000000000000000000000000000000000000来:

6个

以太坊改算法时间_以太坊改pos_以太坊pow转pos时间

创世块初始化

在go-ethereum-1.7.3/build/bin目录下,执行以下命令完成创世块的创建:

[root@localhost bin]# ./geth --datadir "/opt/chain" init init.json

这样,创世块就被初始化了。

7

启动以太坊

执行以下命令启动以太坊:

[root@localhost bin]# ./geth --rpc --rpccorsdomain "*" --datadir "/opt/chain" --port "30303" --rpcapi "db,eth,net,web3" --networkid 100000安慰

直到出现 Welcome to the Geth JavaScript console! 出现,并自动进入geth的命令行,则表示以太坊私链安装成功。

至此,我们的私有链就搭建成功了。