跳到主要内容

源码安装PlatON

本文档主要是针对有能力在PlatON区块链上进行源代码编译的用户。

  • PlatON支持Windows和Ubuntu下进行源码编译安装。

Windows源码编译#

Windows编译环境需要符合以下条件:

  • git:2.19.1以上
  • go语言开发包:go(1.16+)
  • mingw:mingw(V8.1.0)
  • cmake: 3.0+

可自行安装以上编译环境,在编译PlatON源码之前请确保以上环境可正常运行。

也可使用Chocolatey辅助安装编译环境(如果你还没有chocolatey,可以按照https://chocolatey.org上的说明进行安装),用管理员身份启动PowerShell,然后执行以下命令:

安装git:

choco install git

安装golang:

choco install golang

安装mingw:

choco install mingw

安装cmake:

choco install cmake --installargs 'ADD_CMAKE_TO_PATH=System'

利用chocolatey包管理器安装的软件大部分有默认的安装路径,部分软件可能会有各种各样的路径,这取决于软件的发布者。安装这些包将修改Path环境变量。最后安装路径可查看PATH,某些机器环境可能在 PATH 中找不到这些工具的安装路径,此时需手动添加。安装完之后请确保已安装的Go版本为1.16(或更高版本)。

注意:以下命令均需在Git-bash环境运行, 在任意目录下,鼠标右键,选中Git Bash Here,弹出Git Bash运行窗口。

  • 获取源码

获取源码放到GOPATH路径下,其中master为分支名称,届时切换到实际的分支:

mkdir -p $GOPATH/src/github.com/PlatONnetworkcd $GOPATH/src/github.com/PlatONnetworkgit clone -b master https://github.com/PlatONnetwork/PlatON-Go.git --recursive
  • 添加bls依赖库到环境变量
echo 'export PATH=$PATH:"$GOPATH/src/github.com/PlatONnetwork/PlatON-Go/crypto/bls/bls_win/lib"' >> ~/.bashrcsource ~/.bashrc
  • 编译
cd $GOPATH/src/github.com/PlatONnetwork/PlatON-Gogo run build/ci.go install ./cmd/platongo run build/ci.go install ./cmd/platonkey

编译完成之后在PlatON-Go/build/bin目录下会生成platonplatonkey可执行文件,将这两个可执行文件拷贝到自己工作目录运行即可。

重复编译会覆盖之前生成的可执行文件。

注:建议windows版本仅用于开发测试,正式生产环境请使用ubuntu版本。

Ubuntu源码编译#

step1. 安装编译环境(Ubuntu):

  • 系统版本:Ubuntu 18.04.1 及以上
  • git:2.19.1及以上
  • 编译器:gcc(4.9.2+)g++(5.0+)
  • go语言开发包:go(1.16+)
  • cmake:3.0+

step2. 获取PlatON源码:

git clone -b master https://github.com/PlatONnetwork/PlatON-Go.git --recursive

step3. 安装依赖库:

安装golang

cd /usr/localsudo wget https://go.dev/dl/go1.18.7.linux-amd64.tar.gzsudo rm -rf /usr/local/go && tar -C /usr/local -xzf go1.18.7.linux-amd64.tar.gzsudo vim /etc/profile// 将下面一行加到文件末尾export PATH=$PATH:/usr/local/go/binsource /etc/profile
sudo apt update sudo apt install -y cmake llvm g++ libgmp-dev libssl-dev

step4. 编译:

cd PlatON-Go make all

编译完成之后在./build/bin目录下会生成platon, platonkey等一系列可执行文件。

step5. 拷贝二进制:

sudo cp -f ./build/bin/platon /usr/bin/sudo cp -f ./build/bin/platonkey /usr/bin/

源码编译成功!