Build Status

bls with compiled static library

This repository contains compiled static library of https://github.com/herumi/bls without BLS_ETH=1. See releases.

If you want the binary compatible with eth2-spec, then see bls-eth-go-binary.

  • SecretKey; Fr
  • PublicKey; G2
  • Signature; G1

How to build the static binary

The following steps are not necessary if you use compiled binary in this repository.

git clone --recursive https://github.com/herumi/bls-go-binary
cd bls-go-binary
#git submodule update --init --recursive

Linux, Mac, Windows(mingw64)

On x64 Linux,

make

Otherwise, clang is necessary to build ll files.

make CXX=clang++

Cross compile on macOS

make ARCH=x86_64 # for Intel mac
make ARCH=arm64  # for M1 mac

Cross compile of aarch64 on x64 Linux

sudo apt-get install gcc-multilib
make -C src/bls -f Makefile.onelib build_aarch64 CXX=clang++ -j OUT_DIR=../..

Android

make android

If you need a shared library, then after make clean,

make android BLS_LIB_SHARED=1

iOS

make ios