ส้อมของ LIBSECP256K1 พร้อมการสนับสนุนคุณสมบัติขั้นสูงและการทดลองเช่นสินทรัพย์ที่เป็นความลับและ MUSIG2
คุณสมบัติที่เพิ่ม:
คุณสมบัติการทดลองมีให้สำหรับการทดสอบและตรวจสอบโดยชุมชน API ของคุณสมบัติเหล่านี้ไม่ควรถือว่ามีเสถียรภาพ
$ ./autogen.sh
$ ./configure
$ make
$ make check # run the test suite
$ sudo make install # optional
ในการรวบรวมโมดูลเสริม (เช่นลายเซ็น Schnorr) คุณจะต้องเรียกใช้ ./configure กำหนดค่าด้วยธงเพิ่มเติม (เช่น --enable-module-schnorrsig ) Run ./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
ในการสร้างบน Windows ด้วย 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 และ Musig คุณจะต้องเปิดใช้งานโมดูลที่เกี่ยวข้องโดยการจัดทำธงให้กับสคริปต์ configure เช่น --enable-module-schnorrsig
หากกำหนดค่าด้วย --enable-benchmark (ซึ่งเป็นค่าเริ่มต้น) ไบนารีสำหรับการเปรียบเทียบฟังก์ชั่น LIBSECP256K1-ZKP จะปรากฏในไดเรกทอรีรากหลังจากสร้าง
ในการพิมพ์ผลลัพธ์มาตรฐานไปยังบรรทัดคำสั่ง:
$ ./bench_name
ในการสร้างไฟล์ CSV สำหรับผลการวัดผล:
$ ./bench_name | sed '2d;s/ {1,}//g' > bench_name.csv
ดู Security.md
ดูการสนับสนุน. md