Вилка libsecp256k1 при поддержке передовых и экспериментальных функций, таких как конфиденциальные активы и Musig2
Добавлены функции:
Экспериментальные функции предоставляются для тестирования и обзора сообществом. API этих функций не следует считать стабильными.
$ ./autogen.sh
$ ./configure
$ make
$ make check # run the test suite
$ sudo make install # optional
Чтобы компилировать дополнительные модули (такие как подписи Schnorr), вам необходимо запустить ./configure с дополнительными флагами (например, --enable-module-schnorrsig ). Запустите ./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) вам необходимо запустить cmake с дополнительными флагами (например, -DSECP256K1_ENABLE_MODULE_SCHNORRSIG=ON ). Запустите cmake .. -LH чтобы увидеть полный список доступных флагов.
Чтобы облегчить проблемы с перекрестным компиляцией, в каталоге cmake доступны предварительно настроенные файлы инструментов. Например, для пересечения компиляции для Windows:
$ cmake .. -DCMAKE_TOOLCHAIN_FILE=../cmake/x86_64-w64-mingw32.toolchain.cmake
Для пересечения компиляции для Android с 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, для нового дерева сборки необходимо указать правильный генератор.
Следующий пример предполагает, что использует 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 и примеры мусульман, вам необходимо включить соответствующий модуль, предоставив флаг для сценария configure , например --enable-module-schnorrsig .
Если настроить с --enable-benchmark (что является по умолчанию), бинарные файлы для сравнения функций LibSECP256K1-ZKP будут присутствовать в корневом каталоге после сборки.
Чтобы распечатать контрольный результат в командную строку:
$ ./bench_name
Чтобы создать файл CSV для контрольного результата:
$ ./bench_name | sed '2d;s/ {1,}//g' > bench_name.csv
См. Security.md
См. Appling.md