herumi / bls-go-binary

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

News

  • 2023/Aug/17 The performance of Sign is a little improved.

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

how to release (internal notification)

git checkout -b release
git reset --hard origin/release
git merge origin/master
git push origin release

Author

MITSUNARI Shigeo(herumi@nifty.com)

Sponsors welcome

GitHub Sponsor

About


Languages

Language:Go 56.1%Language:C 37.9%Language:C++ 4.2%Language:Makefile 1.7%