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
- 2023/Aug/17 The performance of Sign is a little improved.
git clone -b release https://github.com/herumi/bls-go-binary
cd bls-go-binary
go run examples/agg-verify.go
Since this package includes C headers and libraries,
when using go build -mod=vendor
, please run:
$GOMODCACHE/github.com/herumi/bls-go-binary@<version>/setup_vendor.sh
The following steps are not necessary if you use release branch.
git clone https://github.com/herumi/bls-go-binary
cd bls-go-binary
git submodule update --init --recursive
go test ./bls
On x64 Linux,
make
Otherwise, clang is necessary to build ll files.
make CXX=clang++
make ARCH=x86_64 # for Intel mac
make ARCH=arm64 # for M1 mac
sudo apt-get install gcc-multilib
make -C src/bls -f Makefile.onelib build_aarch64 CXX=clang++ -j OUT_DIR=../..
make android
If you need a shared library, then after make clean
,
make android BLS_LIB_SHARED=1
make ios
git checkout -b release
git reset --hard origin/release
git merge origin/master
git push origin release
MITSUNARI Shigeo(herumi@nifty.com)