源码安装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
目录下会生成platon
、platonkey
可执行文件,将这两个可执行文件拷贝到自己工作目录运行即可。
重复编译会覆盖之前生成的可执行文件。
注:建议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/
源码编译成功!