欧意交易所-欧意app官方下载平台_数字货币交易所

欧意交易所-欧意app官方下载平台_数字

欧易交易所一步一步搭建自己的区块链(以太坊私有链)

时间:2024-09-11 16:35来源: 作者:admin 点击: 37 次
区块链(Blockchain)的概念于 2008 年在中本聪的论文《比特币:一种点对点的电子现金系统(Bitcoin: A Peer-to-Peer Electronic Cash System)》中首次提出。区块链可以理解为一种公共记账的机制(技术方案),它并不是一款具体的产品。其基

一、什么是区块链

区块链(Blockchain)的概念于 2008 年在中本聪的论文《比特币:一种点对点的电子现金系统(Bitcoin: A Peer-to-Peer Electronic Cash System)》中首次提出。区块链可以理解为一种公共记账的机制(技术方案),欧易交易所它并不是一款具体的产品。其基本思想是:通过建立一组互联网上的公共账本,由网络中所有的用户共同在账本上记账与核账,来保证信息的真实性和不可篡改性。而之所以名字叫做‚区块‛链,顾名思义,是因为区块链存储数据的结构是由网络上一个个“存储区块”组成一根链条,欧意交易所app官方下载每个区块中包含了一定时间内网络中全部的信息交流数据。随着时间推移,这条链会不断增长。

区块链按照访问和管理权限可以分为:公有链(Public Blockchain)、私有链(Private Blockchain)、联盟链(Consortium blockchain)。

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

1、公有链(Public blockchains) 公共区块链是指全世界任何人都可读取的、任何人都能发送交易且交易能获得有效确认的、任何人都能参与其中共识过程的区块链——共识过程决定哪个区块可被添加到区块链中和明确当前状态。作为中心化或者准中心化信任的替代物,公共区块链的安全由“加密数字经济”维护——“加密数字经济”采取工作量证明机制或权益证明机制等方式,将经济奖励和加密数字验证结合了起来,并遵循着一般原则:每个人从中可获得的经济奖励,数字货币交易平台与对共识过程作出的贡献成正比。这些区块链通常被认为是“完全去中心化”的。 2、联盟链(Consortium blockchains) 联盟区块链是指其共识过程受到预选节点控制的区块链;例如,不妨想象一个有15个金融机构组成的共同体,每个机构都运行着一个节点,而且为了使每个区块生效需要获得其中10个机构的确认(2/3确认)。区块链或许允许每个人都可读取,或者只受限于参与者,或走混合型路线,例如区块的根哈希及其API(应用程序接口)对外公开,API可允许外界用来作有限次数的查询和获取区块链状态的信息。这些区块链可视为“部分去中心化”。 3、私有链(Private blockchains) 完全私有的区块链是指其写入权限仅在一个组织手里的区块链。读取权限或者对外开放,或者被任意程度地进行了限制。相关的应用囊括数据库管理、审计、甚至一个公司,尽管在有些情况下希望它能有公共的可审计性,但在很多的情形下,公共的可读性并非是必须的。

二、动手搭建自己的私有区块链

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

1

操作系统准备

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

[root@localhost ~]# cat /etc/redhat-release CentOS release 6.5 (Final)

2

golang安装

1)安装yum源:

[root@localhost ~]# rpm -ivh

2)安装golang:

[root@localhost ~]# yum install golang

3

下载以太坊源代码

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

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

[root@localhost software]# wget https://github.com/Jackge1979/go-ethereum/archive/v1.7.3.zip

4

安装以太坊

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

[root@localhost software]# ls

go-ethereum-1.7.3 v1.7.3.zip

[root@localhost software]# 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子目录。

可以看到在该子目录下生成的 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": "0x0000000000000000000000000000000000000000", "difficulty": "0x02000000", "extraData": "", "gasLimit": "0x2fefd8", "nonce": "0x0000000000000042", "mixhash": "0x0000000000000000000000000000000000000000000000000000000000000000", "parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000", "timestamp" : "0x00" }

6

创世区块初始化

在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 console

一直到出现Welcome to the Geth JavaScript console! 句话,并自动进入geth的命令行则说明以太坊私有链安装成功了。

到目前为止,我们的私有链就搭建成功了。

(责任编辑:)
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:
发布者资料
查看详细资料 发送留言 加为好友 用户等级: 注册时间:2024-11-24 20:11 最后登录:2024-11-24 20:11
栏目列表
推荐内容