Garpu LIBSECP256K1 dengan dukungan untuk fitur -fitur canggih dan eksperimental seperti aset rahasia dan MUSIG2
Fitur tambahan:
Fitur eksperimental tersedia untuk pengujian dan ditinjau oleh masyarakat. API dari fitur -fitur ini tidak boleh dianggap stabil.
$ ./autogen.sh
$ ./configure
$ make
$ make check # run the test suite
$ sudo make install # optional
Untuk menyusun modul opsional (seperti tanda tangan schnorr), Anda perlu menjalankan ./configure dengan bendera tambahan (seperti --enable-module-schnorrsig ). Jalankan ./configure --help untuk melihat daftar lengkap bendera yang tersedia. Untuk modul eksperimental, Anda juga akan membutuhkan --enable-experimental serta bendera untuk setiap modul individu, misalnya --enable-module-musig .
Untuk mempertahankan pohon sumber yang murni, CMake mendorong untuk melakukan build out-of-source dengan menggunakan pohon build khusus yang terpisah.
$ mkdir build && cd build
$ cmake ..
$ cmake --build .
$ ctest # run the test suite
$ sudo cmake --build . --target install # optional
Untuk mengkompilasi modul opsional (seperti tanda tangan schnorr), Anda perlu menjalankan cmake dengan bendera tambahan (seperti -DSECP256K1_ENABLE_MODULE_SCHNORRSIG=ON ). Jalankan cmake .. -LH untuk melihat daftar lengkap bendera yang tersedia.
Untuk mengurangi masalah dengan kompilasi silang, file toolchain yang telah dikonfigurasi sebelumnya tersedia di direktori cmake . Misalnya, untuk melintasi kompilasi untuk Windows:
$ cmake .. -DCMAKE_TOOLCHAIN_FILE=../cmake/x86_64-w64-mingw32.toolchain.cmake
Untuk melintasi kompilasi untuk Android dengan NDK (menggunakan file Toolchain NDK, dan dengan asumsi variabel lingkungan ANDROID_NDK_ROOT telah ditetapkan):
$ cmake .. -DCMAKE_TOOLCHAIN_FILE="${ANDROID_NDK_ROOT}/build/cmake/android.toolchain.cmake" -DANDROID_ABI=arm64-v8a -DANDROID_PLATFORM=28
Untuk membangun di jendela dengan Visual Studio, generator yang tepat harus ditentukan untuk pohon build baru.
Contoh berikut mengasumsikan penggunaan Visual Studio 2022 dan CMake v3.21+.
Dalam "Perintah Pengembang Prompt untuk VS 2022":
>cmake -G "Visual Studio 17 2022" -A x64 -S . -B build
>cmake --build build --config RelWithDebInfo
Contoh penggunaan dapat ditemukan di direktori contoh. Untuk mengkompilasinya, Anda perlu mengkonfigurasi dengan --enable-examples .
Untuk mengkompilasi contoh tanda tangan Schnorr, ECDH dan MUSIG, Anda perlu mengaktifkan modul yang sesuai dengan memberikan bendera ke skrip configure , misalnya --enable-module-schnorrsig .
Jika dikonfigurasi dengan --enable-benchmark (yang merupakan default), binari untuk membandingkan fungsi LIBSECP256K1-ZKP akan hadir di direktori root setelah build.
Untuk mencetak hasil benchmark ke baris perintah:
$ ./bench_name
Untuk membuat file CSV untuk hasil benchmark:
$ ./bench_name | sed '2d;s/ {1,}//g' > bench_name.csv
Lihat Security.md
Lihat Contributing.md