SecureAPI 入門

如何在您的應用程式中設定 AkashicPay SecureAPI

簡介

AkashicPay 是一個安全且可擴充的支付平台,旨在促進多個區塊鏈網路的加密貨幣交易。它支援存款、付款和交易追蹤,並著重於安全性,利用機密虛擬機 (CVM) 實例和開放原始碼來提高透明度。此 API 讓開發人員可以將 AkashicPay 的功能整合到他們的應用程式中,實現餘額檢索、交易處理和匯率查詢等功能。下面的文件提供了關於端點、參數、回應和最佳實踐的詳細資訊,可幫助您開始使用。

有關 Mainnet 和 Testnet API 端點及 IP 白名單,請聯絡 AkashicPay 客服中心

免責聲明:AkashicPay 的 SecureAPI 服務不會收集或儲存業務合作夥伴(BP)的密鑰對。此可通過我們的公開代碼庫和證明協議進行驗證,以確保我們的 SecureAPI 服務不包含任何惡意代碼。

驗證

所有 API 請求都需要以下標頭:

範例:

curl -H "x-ap-k: your-private-key" -H "x-ap-a: your-l2-address" https://xxx.xxx.xxx.xxx/getBalance

驗證 API 安全性

由於我們的 API 接受使用者的密鑰對,因此必須確保我們的 API 伺服器在高度可信賴的執行環境中安全運作。為了提高透明度與信任度,我們已將 API 開放源碼,網址為 https://github.com/akashicpay/secured-api。我們提供一個認證 (Attestation) 端點來驗證我們的服務是否在合法的 Confidential Virtual Machine (CVM) 虛擬機器實體中執行,並在預期的狀態下運作。此外,驗證 (Verify) 端點可讓您確認我們正在執行的程式碼與開放原始碼版本完全相符。您可以將套件庫複製到您的本機環境,然後以相同的種子執行相同的端點來比較切細值。我們強烈建議定期檢查這些端點,以確保持續的安全性。API 或其環境的任何變更都會事先在我們的網站和 GitHub 儲存庫中公佈,讓您可以參考和驗證。

認證 (Attestation) 端點

端點: GET /

說明: 認證是增加對 Confidential Virtual Machine (CVM) 虛擬機器實體是否合法且以預期狀態運作的信心的過程。

請求參數: 無

回應:

驗證 (Verify) 端點

端點: GET /verify/yoursalt

說明: 根據提供的鹽值對記憶體中的函數進行散列,以檢查檔案是否已被修改,確保執行中的程式碼與 原始碼版本相符。

請求參數: 無

回應:

憑證設定

我們的 API 使用自簽的憑證,為了避免 SSL/TLS 警告,您需要設定您的用戶端信任我們的憑證授權機構 (CA)。這包括將我們的根 CA 安裝到您的作業系統/瀏覽器信任儲存庫中,或在您的用戶端/編碼基中對我們的 API 執行請求時指定 CA 證書。

下載憑證授權

使用下列連結下載 SecureAPI Root CA 證書:

正式環境:

測試環境:

根憑證會在存取 SecureAPI 的根目錄時顯示,例如測試環境正式環境 SecureAPI 的根憑證是不同的:

您可以驗證根憑證是否與上述檔案相符,並安裝一次。

Root CA 安裝

作業系統安裝

瀏覽器安裝

  1. 下載 CA 憑證

  2. 開啟 Chrome 設定 → 隱私與安全 → 安全 → 管理憑證 → 本地憑證 → 自訂 (由您安裝)

  3. 將憑證匯入 「受信任的憑證」 中

在程式碼中使用憑證

下載 CA 憑證後,您可以在程式碼中指定它。

最佳實務

  1. 速率限制: 遵守 API 速率限制(詳情請聯絡 AkashicPay 客服中心)。對重試實施指數遞減,以避免伺服器不堪負荷。

  2. 錯誤處理: 始終優雅地處理錯誤。檢查特定的錯誤代碼(例如:FUNDS_EXCEEDEDINVALID_PARAMETER),並提供使用者友善的訊息或後備動作。

  3. 安全性: 安全地儲存私密金鑰 (例如:儲存於環境變數或密碼管理器中)。定期使用驗證與認證端點來驗證 API,以確保服務與開放原始碼相符。

  4. 參數驗證: 在提出請求前,先根據定義的 NetworkSymbolTokenSymbolCurrency 值驗證所有輸入 (例如:networktokenamount),以避免 INVALID_PARAMETER 錯誤。

  5. 分頁: 對 GET /getTransfers 等端點使用 pagelimit 參數,以有效管理大型資料集。

  6. 測試: 在部署到 Mainnet 之前,先在 Testnet 環境 (例如 Ethereum_SepoliaTron_ShastaBinance_Smart_Chain_Testnet) 上進行測試,以確保正確。

注意事項

  1. 所有 API 請求必須包含適當的驗證標頭 (x-ap-kx-ap-a)。

  2. 若要進行生產存取,請聯絡 AkashicPay 客服中心以將您的 IP 地址列入白名單。

  3. 所有金額應以字串形式傳遞,以避免精確度問題。

  4. 確保 networkrequestedCurrencytokenlayerstatus 等參數分別符合定義的 NetworkSymbolCurrencyTokenSymbolTransactionLayerTransactionStatus 值。

  5. 定期使用驗證和認證端點(Verify and Attestation endpoints)驗證 API 的安全性,以確保服務如預期般執行,並與開放原始碼相符。

    1. 在本地運行我們開放源碼倉庫中最新的 AkashicPay SecureAPI 代碼,然後導航到 /verify/your-secret,確認 calculated 的哈希值與我們服務器上顯示的 /verify/your-secret 相匹配。

Last updated

Was this helpful?