libsecp256k1的叉子,支持高級和實驗特徵,例如機密資產和Musig2
添加的功能:
社區可用於測試和審查實驗功能。這些功能的API不應被視為穩定。
$ ./autogen.sh
$ ./configure
$ make
$ make check # run the test suite
$ sudo make install # optional
要編譯可選模塊(例如Schnorr簽名),您需要使用其他標誌(例如--enable-module-schnorrsig )運行./configure 。運行./configure --help來查看可用標誌的完整列表。對於實驗模塊,您還需要--enable-experimental和標誌,例如每個模塊,例如--enable-module-musig 。
為了維護原始的源樹,Cmake鼓勵使用單獨的專用構建樹來執行源源外構建。
$ mkdir build && cd build
$ cmake ..
$ cmake --build .
$ ctest # run the test suite
$ sudo cmake --build . --target install # optional
要編譯可選模塊(例如Schnorr簽名),您需要使用其他標誌(例如-DSECP256K1_ENABLE_MODULE_SCHNORRSIG=ON )運行cmake 。運行cmake .. -LH查看可用標誌的完整列表。
為了減輕交叉編譯的問題, cmake目錄中提供了預配置的工具鏈文件。例如,要交叉為Windows編譯:
$ cmake .. -DCMAKE_TOOLCHAIN_FILE=../cmake/x86_64-w64-mingw32.toolchain.cmake
與NDK交叉編譯(使用NDK的工具鏈文件,並假設已設置了ANDROID_NDK_ROOT環境變量):
$ cmake .. -DCMAKE_TOOLCHAIN_FILE="${ANDROID_NDK_ROOT}/build/cmake/android.toolchain.cmake" -DANDROID_ABI=arm64-v8a -DANDROID_PLATFORM=28
要使用Visual Studio在Windows上構建,必須為新的構建樹指定適當的發電機。
下面的示例假設使用Visual Studio 2022和Cmake v3.21+的使用。
在“開發人員命令提示vs 2022”中:
>cmake -G "Visual Studio 17 2022" -A x64 -S . -B build
>cmake --build build --config RelWithDebInfo
用法示例可以在示例目錄中找到。要編譯它們,您需要使用--enable-examples配置。
為了編譯Schnorr簽名,ECDH和Musig示例,您需要通過為configure腳本提供標誌來啟用相應的模塊,例如--enable-module-schnorrsig 。
如果配置為--enable-benchmark (默認為默認值),則在構建後的根目錄中,將存在用於基準LIBSECP256K1-ZKP函數的二進製文件。
要將基準結果打印到命令行:
$ ./bench_name
為基準結果創建CSV文件:
$ ./bench_name | sed '2d;s/ {1,}//g' > bench_name.csv
請參閱Security.md
參見貢獻