Centos7安装EOSIO

EOSIO概述
EOSIO是用于创建和部署智能合约和分布式应用程序的下一代区块链平台。EOSIO附带了许多程序。EOSIO中包含的主要内容如下:
● Nodeos(node+eos=Nodeos)-核心服务守护进程,运行用于块生产、API端点或本地开发的节点。
● Cleos(cli+eos=Cleos)-与区块链交互(通过nodeos)和管理钱包(通过keosd)的命令行界面。
● Keosd(key+eos=Keosd)-管理钱包中EOSIO密钥的组件,并为数字签名提供安全的包围区。

这些组件之间的基本关系如下图所示。
在这里插入图片描述

EOSIO软件安装

安装和使用EOSIO软件有多种方法:
● 安装EOSIO预制二进制文件
● 从源代码生成EOSIO

如果您是EOSIO新手,建议您安装EOSIO预建二进制文件,然后转到EOSIO开发者门户的入门部分。如果您是高级开发人员、块生产者,或者没有适用于您的平台的二进制文件,您可能需要从源代码构建EOSIO。

支持的操作系统

EOSIO软件支持以下开发和/或部署环境:
Linux发行版

  • Amazon Linux 2
  • CentOS Linux 8.x
  • CentOS Linux 7.x
  • Ubuntu 20.04
  • Ubuntu 18.04

macOS

  • macOS 10.14 (Mojave) or later

可以在其他基于Unix的操作系统上安装EOSIO。不过,这并没有得到官方的支持。

安装预构建二进制文件

如果以前使用shell脚本从源代码安装过EOSIO,则必须先运行卸载脚本,然后才能在同一操作系统上安装任何预构建的二进制文件。

预构建二进制文件

预构建的EOSIO软件包可用于以下操作系统。查找并遵循操作系统的说明:
Mac OS X:
Mac OS X Brew 安装

brew tap eosio/eosio
brew install eosio

Mac OS X Brew 卸载

brew remove eosio

Ubuntu Linux:
Ubuntu 20.04 软件包安装

wget https://github.com/eosio/eos/releases/download/v2.1.0/eosio_2.1.0-1-ubuntu-20.04_amd64.deb
sudo apt install ./eosio_2.1.0-1-ubuntu-20.04_amd64.deb

Ubuntu 18.04 软件包安装

wget https://github.com/eosio/eos/releases/download/v2.1.0/eosio_2.1.0-1-ubuntu-18.04_amd64.deb
sudo apt install ./eosio_2.1.0-1-ubuntu-18.04_amd64.deb

Ubuntu 软件包卸载

sudo apt remove eosio

基于RPM(CentOS、Amazon Linux等):
RPM软件包安装CentOS 7

wget https://github.com/eosio/eos/releases/download/v2.1.0/eosio-2.1.0-1.el7.x86_64.rpm
sudo yum install ./eosio-2.1.0-1.el7.x86_64.rpm

RPM软件包安装CentOS 8

wget https://github.com/eosio/eos/releases/download/v2.1.0/eosio-2.1.0-1.el8.x86_64.rpm
sudo yum install ./eosio-2.1.0-1.el8.x86_64.rpm

RPM软件包卸载

sudo yum remove eosio

EOSIO二进制文件的位置
安装预构建包后,实际EOSIO二进制文件将位于以下位置:

  • /usr/opt/eosio//bin (Linux-based); or
  • /usr/local/Cellar/eosio//bin (MacOS)

其中版本字符串是安装的EOSIO版本。
此外,每个EOSIO程序(nodeos、cleos、keosd等)的软链接将在usr/bin或usr/local/bin下创建,以允许从任何目录执行它们。

以前的版本

要安装EOSIO预构建二进制文件的早期版本,请执行以下操作:

  • 浏览到https://github.com/EOSIO/eos/tags并选择需要安装的EOSIO软件的实际版本。
  • 向下滚动到发行说明,下载操作系统所需的软件包或存档。
  • 按照上面第一段的说明在给定的操作系统上安装所选的预构建二进制文件。

从源代码生成EOSIO

为高级开发人员构建EOSIO
如果您是EOSIO新手,建议您安装EOSIO预构建二进制文件,而不是从源代码构建二进制文件。

EOSIO可以使用不同的构建方法在多个平台上构建。高级用户可以选择使用我们的shell脚本构建EOSIO。希望部署公共节点的节点运营商或块生产商可能更喜欢我们的手动构建说明。

  • Shell脚本-适合大多数开发人员,这些脚本构建在Mac OS和多种风格的Linux上。
  • 手动构建-适用于那些可能对shell脚本有敌意的平台或需要对其构建进行更多控制的操作员。

建议EOSIO安装
成功构建EOSIO后,强烈建议从默认构建目录安装EOSIO二进制文件。这会将EOSIO二进制文件复制到一个中心位置,例如/usr/local/bin或~/eoso/x.y/bin,其中x.y是EOSIO发布版本。

Shell脚本

Shell脚本自动化了EOSIO软件和依赖项的构建、安装、测试和卸载过程。

要使用shell脚本从源代码构建EOSIO,请访问以下部分:

  1. 下载EOSIO源
  2. 构建EOSIO二进制文件
  3. 安装EOSIO二进制文件
  4. 测试EOSIO二进制文件
  5. 卸载EOSIO

如果您是EOSIO新手,建议您安装EOSIO预构建二进制文件,而不是从源代码构建二进制文件。

下载EOSIO源

要下载EOSIO源代码,请克隆eos repo及其子模块。建议先创建一个eosio目录文件夹,然后在那里下载所有与eosio相关的软件:

mkdir -p ~/eosio && cd ~/eosio
git clone --recursive https://github.com/EOSIO/eos

更新子模块

如果克隆存储库时没有–recursive标志,则必须在开始构建过程之前更新子模块:

cd ~/eosio/eos
git submodule update --init --recursive

拉取更改

在进行更改时,尤其是在切换分支后,还必须更新子模块。这可以通过上面的git子模块命令实现,也可以直接使用git pull:

[git checkout -b <branch>]  (optional)
git pull --recurse-submodules //或者:git submodule update --init --recursive

构建EOSIO二进制文件

构建脚本是EOSIO存储库中提供的各种自动化shell脚本之一,用于构建、安装和卸载EOSIO软件及其依赖项。它们位于eos/scripts文件夹中。

构建脚本首先安装所有依赖项,然后构建EOSIO。脚本支持这些操作系统。要运行它,请首先切换到~/eoso/eos文件夹,然后启动脚本:

cd ~/eosio/eos
./scripts/eosio_build.sh

构建过程将临时内容写入eos/build文件夹。构建后,程序二进制文件可以在eos/build/programs中找到。

安装EOSIO二进制文件

EOSIO安装脚本

为了便于合同开发,可以使用eos/scripts文件夹中的eosio_install.sh脚本将内容安装在/usr/local文件夹中。需要足够的权限才能在系统文件夹上安装:

cd ~/eosio/eos
./scripts/eosio_install.sh

在这里插入图片描述

EOSIO手动安装

代替eosio_install.sh脚本,您可以通过调用eos/build文件夹中的make install来直接安装eosio二进制文件。同样,需要足够的权限才能在系统文件夹上安装:

cd ~/eosio/eos/build
make install

测试EOSIO二进制文件

可选地,可以针对您的构建运行一组测试,以执行EOSIO软件安装的一些基本验证。

要在生成后运行测试套件,请运行:

cd ~/eosio/eos/build
make test

卸载EOSIO

如果您以前从源代码构建EOSIO,现在希望安装预构建的二进制文件,或者再次从源代码进行构建,建议在eos/scripts文件夹中运行EOSIO_uninstall.sh脚本:

cd ~/eosio/eos
./scripts/eosio_uninstall.sh

卸载脚本还将提示用户卸载EOSIO依赖项。如果安装预构建的EOSIO二进制文件或首次构建EOSIO,建议使用此选项。

EOSIO手动构建

手动构建适用于高级开发人员
这些手册说明适用于高级开发人员。Shell脚本应该是从源代码构建EOSIO的首选方法。如果脚本失败或您的平台不受支持,请按照以下说明继续。

EOSIO依赖项

执行手动构建时,需要安装EOSIO软件所依赖的特定软件包。要了解有关这些依赖关系的更多信息,请访问EOSIO software dependencies部分。

EOSIO软件依赖性

EOSIO软件需要特定的软件依赖性来构建EOSIO二进制文件。这些依赖关系可以从源代码构建,也可以直接从二进制文件安装。依赖项可以固定到特定版本版本,也可以取消固定到当前版本,通常是最新版本。EOSIO repo外部托管的主要EOSIO依赖项包括:

  • Clang-EOSIO使用的C++17兼容编译器
  • CMake-EOSIO使用的构建系统
  • Boost-EOSIO使用的C++Boost库
  • OpenSSL-安全通信(和加密)库
  • LLVM-LLVM编译器/工具链基础设施

其他依赖项要么在EOSIO repo中,例如secp256k1椭圆曲线DSA库,要么用于测试或内务管理,例如:

  • automake, autoconf, autotools
  • doxygen, graphviz
  • python2, python3
  • bzip2, zlib
  • etc.

固定的依赖项

为了保证不同EOSIO软件版本之间的互操作性,开发人员可以选择复制内部使用的精确的“固定”依赖二进制文件。出于可移植性和稳定性的原因,区块生产商可能希望安装和运行使用这些固定依赖项构建的EOSIO软件。固定的依赖关系通常是从源代码构建的。

未固定的依赖项

普通用户或应用程序开发人员可能更喜欢安装EOSIO依赖项的未固定版本。这些对应于依赖项的最新版本或稳定版本。未固定依赖项的主要优点是减少了安装时间,也许性能更好。固定的依赖项通常从二进制文件安装。

自动安装依赖项

从源代码构建EOSIO时,可以从构建脚本自动构建或安装EOSIO依赖项。为了构建固定的依赖关系,可以在调用脚本时指定可选的-P参数。否则,将安装未固定的依赖项,但始终固定的boost和cmake除外:

cd ~/eosio/eos
./scripts/eosio_build.sh [-P]

不支持的平台

EOSIO依赖项也可以通过复制由构建脚本调用的相同命令来手动构建和安装。通过在调用时将特定环境变量和CLI参数导出到脚本,可以直接从脚本生成实际命令:

cd ~/eosio/eos
export VERBOSE=true && export DRYRUN=true && ./scripts/eosio_build.sh -y [-P]

平台

Shell命令可用于手动下载、构建、安装、测试和卸载EOSIO软件以及这些平台的依赖项。
- Amazon Linux 2
- CentOS 7.7
- MacOS 10.14
- Ubuntu 18.04

源外构建

在构建依赖项和EOSIO二进制文件时,也支持源外构建。有关更多信息,请参阅cmake帮助。

其他编译器

要覆盖clang的默认编译器工具链,请在上面的指令中将这些标志添加到cmake命令中:

-DCMAKE_CXX_COMPILER=/path/to/c++ -DCMAKE_C_COMPILER=/path/to/cc

调试生成

对于调试版本,添加-DCMAKE_BILD_TYPE=debug。其他常见的构建类型包括Release和RelWithDebInfo。

文章引用与参考

【1】https://developers.eos.io/manuals/eos/latest/index

EOSIO的设计包括: 免费汇率限制交易 低延迟阻止确认(0.5秒) 低开销的拜占庭容错终结 可选的高开销,低延迟BFT终端 由Web Assembly支持的智能合约平台 专为稀疏头灯客户端验证而设计 计划的周期性事务 时间延迟安全 基于角色的权限分级 支持生物识别硬件安全密钥(例如Apple安全飞地) 并行执行上下文自由验证逻辑 区块链间通信 EOSIO允许开发人员编写与需求确定性执行的共识算法兼容的业务逻辑。您的用户群可以使用安全的公钥基础结构与此业务逻辑进行交互,为您的业务带来区块链级别的安全性,责任性和可审计性。业务逻辑根据组织的治理结构轻松更新。 EOSIO旨在在没有任何令牌的环境中运行,系统管理员为用户分配可能无限制的资源配额。或者,智能合约可以通过其他方式分配资源配额,例如令牌销售,市场费用或投票。这使得EOSIO非常适合企业和社区驱动的区块链。 根据您的使用情况,可以将EOSIO配置为使用两种不同的Web装配引擎之一Binaryen和WAVM。单个EOSIO区块链可支持高达1,000 TPS,未来版本的EOSIO将提供简化区块链间通信所需的工具,使您的业务能够水平扩展。 EOSIO是在开放源代码MIT许可下发布的,按“原样”提供,没有任何明示或暗示的担保。EOSIO软件提供的任何安全性部分取决于它的使用,配置和部署方式。EOSIO建立在许多第三方库上,如Binaryen(Apache许可证)和WAVM(BSD 3-clause),它们也是“按现状”提供的,没有任何形式的保证。在不限制前述内容的一般性的情况下,Block.one不作任何陈述或保证EOSIO或任何第三方库将按预期执行或不会出现错误,错误或错误代码。这两种方式都可能以很大或很小的方式失败,这可能会完全或部分地限制功能或危害计算机系统。如果您使用或实施EOSIO,则自行承担风险。在任何情况下都不会阻止。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值