Bitcoin-Core-Development

在個人項目中使用 secp256k1

  • December 15, 2020

我正在嘗試將 secp256k1 用於我正在從事的用於學習目的的玩具項目。我正在使用 Ubuntu 20.04,我可以很好地複製和編譯庫。我試圖將它包含在一個簡單的 hello world c 文件中,但出現以下錯誤:secp256k1/src/num.h:19:2: error: #error "Please select num implementation" 19 | #error "Please select num implementation"

我試過用Google搜尋,但我似乎找不到任何東西(只有<https://github.com/breadwallet/breadwallet-ios/issues/60>但不確定它如何適用於我的情況)。我所做的只是#include "src/secp256k1.c"在我的玩具 C 程式碼中使用這一行。我似乎找不到任何關於庫的簡單使用的文件或演練指南,例如生成私鑰和地址(除了secp256k1.h)。任何幫助,將不勝感激!

有關配置的範例,請參見此處#define。然後,您可以在 repo 中搜尋這些宏以查看它們的替代方案並在您之前定義相關的宏#include "src/secp256k1.c"

我似乎找不到任何有關該庫的簡單使用的文件或演練指南

該庫不適合用作單個標頭,如以下所述README.md

僅公開更高級別的介面以最小化 API 表面並提高應用程序安全性。(“難以不安全地使用。”)

使用這個庫的傳統方法是編譯它並在編譯程式碼時呼叫連結器libsecp256k1.a進行靜態連結(你可以這樣做gcc your-code.c libsecp256k1.a

#include但是,我在很久以前使用過一次圖書館,沒有任何問題。這行得通,正如我在頂部所描述的,你只需要幾個#defines.

secp256k1.h是不言自明的。您可能想像閱讀故事一樣閱讀所有內容。然後你應該能夠找到相關的功能。

引用自:https://bitcoin.stackexchange.com/questions/100568