Stellar-Core 源码编译与安装指南

Stellar-Core 源码编译与安装指南

stellar-core stellar-core is the reference implementation for the peer to peer agent that manages the Stellar network stellar-core 项目地址: https://gitcode.com/gh_mirrors/st/stellar-core

前言

Stellar-Core 是 Stellar 区块链网络的核心软件,负责维护区块链账本、处理交易和执行共识协议。本文将详细介绍如何从源码编译安装 Stellar-Core,帮助开发者和节点运营者搭建自己的 Stellar 节点。

版本选择建议

在部署 Stellar-Core 时,版本选择至关重要:

  1. 稳定版本优先:始终建议使用最新的稳定版本,这些版本经过充分测试并部署在生产环境中
  2. 及时升级:新版本发布后应在30天内完成升级,因为可能包含重要的安全修复
  3. 版本淘汰机制:运行超过90天的旧版本节点会被网络中的新节点自动屏蔽

Stellar 的代码分支结构如下:

  • master:开发分支,要求所有单元测试通过
  • testnet:测试网部署版本,要求通过验收测试
  • prod:生产环境当前版本,要求在测试网和预发布环境中未发现严重问题

开发环境准备

容器化开发

Stellar 提供了预配置的 Docker 开发环境,特别适合使用 VSCode 的开发者。该环境包含了所有必要的工具和依赖项,可以快速开始开发工作。

运行时依赖

Stellar-Core 的运行时依赖较少,主要需要:

  • 如果启用了 PostgreSQL 支持,需要本地 PostgreSQL 服务器
  • 64位操作系统环境

编译依赖详解

基础编译工具链

  • C++17 兼容的编译器:
    • Clang ≥ 12.0
    • GCC ≥ 10.0
  • 构建工具:pkg-config、bison、flex
  • 数据库支持:libpq-dev(可禁用)
  • 其他工具:libunwind-dev、sed、perl
  • 代码格式化:clang-format-12

Rust 工具链

Stellar-Core 的部分组件使用 Rust 编写,需要:

  • Rust ≥ 1.74
  • Cargo ≥ 1.74

推荐使用 rustup 安装 Rust 工具链,项目中也提供了 install-rust.sh 脚本来简化安装过程。

各平台安装指南

Ubuntu 20.04

# 安装基础工具链
sudo apt-get install clang-12 git build-essential pkg-config autoconf \
     automake libtool bison flex libpq-dev libunwind-dev parallel sed perl

# 可选:添加测试工具链仓库
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update

# 安装格式化工具
sudo apt-get install clang-format-12

Ubuntu 24.04+ 及新版 Linux

新版系统可能需要更高版本的编译器:

# 使用 clang-18
sudo apt-get install clang-18 libc++-18-dev libc++abi-18-dev

# 或使用 gcc-13
sudo apt-get install gcc-13 g++-13 cpp-13

macOS 环境

# 通过 Homebrew 安装依赖
brew install libsodium libtool autoconf automake pkg-config \
     libpq openssl parallel ccache bison gnu-sed perl coreutils

# 配置环境变量
export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:$(brew --prefix)/opt/libpq/lib/pkgconfig"
export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:$(brew --prefix)/opt/openssl@3/lib/pkgconfig"
export PATH="$(brew --prefix bison)/bin:$PATH"

# 安装特定版本的 clang-format
curl -OL https://github.com/llvm/llvm-project/releases/download/llvmorg-12.0.0/clang+llvm-12.0.0-x86_64-apple-darwin.tar.xz
tar -xf clang+llvm-12.0.0-x86_64-apple-darwin.tar.xz
sudo cp -R clang+llvm-12.0.0-x86_64-apple-darwin/bin/clang-format /usr/local/bin

ARM 架构设备(如树莓派)

在 ARM 设备上编译需要注意链接器问题:

export CC=clang-12
export CXX=clang++-12
export CFLAGS="-O3 -g1 -fno-omit-frame-pointer --rtlib=compiler-rt"
export CXXFLAGS="$CFLAGS -stdlib=libc++"

编译安装步骤

  1. 获取源码:

    git clone https://github.com/stellar/stellar-core.git
    cd stellar-core
    git submodule init
    git submodule update
    
  2. 生成配置脚本:

    ./autogen.sh
    
  3. 配置编译选项:

    ./configure
    # 或指定编译器
    CXX=clang-12 ./configure
    
  4. 编译:

    make -j4  # 根据CPU核心数调整并行编译数
    
  5. 测试:

    make check
    
  6. 安装:

    make install
    

高级编译选项

使用 libc++ 替代 libstdc++

在某些系统上,可以使用 LLVM 的 libc++ 替代 GNU 的 libstdc++:

export CC=clang-12
export CXX=clang++-12
export CFLAGS="-O3 -g1 -fno-omit-frame-pointer"
export CXXFLAGS="$CFLAGS -stdlib=libc++"

需要先安装 libc++ 开发包:

sudo apt-get install libc++-12-dev libc++abi-12-dev

启用性能追踪

配置时添加 --enable-tracy 选项可以集成 Tracy 性能分析系统:

./configure --enable-tracy

如需编译 Tracy 图形界面工具,还需要安装额外依赖:

# Ubuntu
sudo apt-get install libcapstone-dev libfreetype6-dev libglfw3-dev libgtk2.0-dev

# macOS
brew install capstone freetype2 glfw

结语

通过本文的指导,您应该能够成功编译并安装 Stellar-Core。根据您的具体使用场景(开发、测试网节点或生产环境节点),可以选择合适的版本和配置选项。对于生产环境,请务必关注版本更新和安全公告,及时升级以确保节点安全和网络兼容性。

stellar-core stellar-core is the reference implementation for the peer to peer agent that manages the Stellar network stellar-core 项目地址: https://gitcode.com/gh_mirrors/st/stellar-core

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

进入互联网新媒体时代,“股吧”作为一类专门针对上市公司的社交媒介,已经成为中小投资者分享投资经验和发表对公司运营意见的重要平台,股吧舆论作为投资者情绪的反映,直接影响股票的市场表现。 一、上市公司股吧舆论数据的介绍 “股吧”作为新兴社交媒体代表,本身并不提供信息,仅提供多方交互平台,其将个体间的实时交流和回应形成公众关注和舆论;因此,股吧舆论数据可以帮助研究人员深入分析网络舆论企业表现之间的关系,并为投资者提供情绪波动的参考依据。 本分享数据年份为2008年到2023年,数据来源于东方财富网股吧,涉及A股上市公司的讨论情况,涵盖了股吧发帖数量、阅读量、评论次数等多个维度。 二、数据指标 指标名称 描述 计算方法 Post 股吧发帖数量 上市公司当年度东方财富网股吧发帖数量之和加1并取自然对数 Positive 正面帖子数量 上市公司当年度东方财富网股吧正面帖子数量之和加1并取自然对数 Negative 负面帖子数量 上市公司当年度东方财富网股吧负面帖子数量之和加1并取自然对数 Neutral 中性帖子数量 上市公司当年度东方财富网股吧中性帖子数量之和加1并取自然对数 Read 股吧阅读量 上市公司当年度东方财富网股吧被阅读次数之和加1并取自然对数 Comment 股吧评论量 上市公司当年度东方财富网股吧被跟帖评论次数之和加1并取自然对数 三、数据说明 本数据集的统计范围为A股上市公司,数据分为三个版本: 未剔除金融STPT未缩尾版本 已剔除金融STPT未缩尾版本 已剔除金融STPT已缩尾版本 数据提供格式:Excel、dta格式。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

强懿方

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值