SDK 入門
如何設定 AkashicPay SDK 以便在您的程式碼庫中使用
安裝
安裝套件時使用
npm install @akashicpay/sdk
#or
yarn add @akashicpay/sdk# Pre-Reqs
# Requires at least PHP 7.0 and either the gmp or bcmath extension
composer require akashic/akashic-pay# In case of Maven
<dependencies>
<dependency>
<groupId>com.akashicpay</groupId>
<artifactId>AkashicPaySDK</artifactId>
<version>[version]</version>
</dependency>
</dependencies>
# In case of Gradle
dependencies {
implementation 'com.akashicpay:AkashicPaySDK:[version]'
}$ dotnet add package AkashicPaySDKgo get github.com/akashicpay/akashicpay-go註冊
創建一個 AkashicLink 帳號,並在 AkashicPay.com 上完成註冊程序,包括根據需要設置回調 URL,如快速指南中所述。
l2Address - 位於 AkashicLink 的頂部欄位。
privateKey - 登入 AkashicPay -> 密鑰對設置 -> 使用 API/SDK 密鑰對
建構
本範例設定使用許多可選的建立參數,僅供說明之用。
using AkashicPaySDK;
using AkashicPaySDK.Constants;
namespace ApSdkTests;
public class Example
{
public static async Task Main(string[] args)
{
var environment =
Environment.GetEnvironmentVariable("environment") == "production" ?
APEnvironment.Production :
APEnvironment.Development;
var otk = ApSdkFactory.CreateOtkFromKeyPair("your_private_key", "your_l2Address");
var sdk = await ApSdkFactory.CreateSdk(environment, otk);
}
}<?php
require "vendor/autoload.php";
use Akashic\AkashicPay;
use Akashic\Constants\Environment;
use Akashic\Constants\ACNode;
use Akashic\Constants\ACDevNode;
$akashicPay = new AkashicPay([
// in development, you will use our testnet and testnet L1 chains
'environment' => getenv('environment') === 'production' ? Environment::PRODUCTION : Environment::DEVELOPMENT,
// optional, the SDK will try to find the fastest node if omitted
'targetNode' => getenv('environment') === 'production' ? ACNode::SINGAPORE_1 : ACDevNode::SINGAPORE_1,
// use whatever secret management tool you prefer to load the private key
// from your AkashicLink account. It should be of the form:
// `"0x2d99270559d7702eadd1c5a483d0a795566dc76c18ad9d426c932de41bfb78b7"`
// In development, each developer could have their own, or omit this (and
// the l2Address), in which case the SDK will create and use a new pair.
// you can instead use your Akashic Link account's 12-word phrase, using the
// argument `recoveryPhrase`
'privateKey' => getenv('akashicKey'),
// this is the address of your AkashicLink account. Of the form "AS1234..."
'l2Address' => getenv('l2Address'),
]);import com.akashicpay.constants.APEnvironment;
import com.akashicpay.model.ACOtk;
import com.akashicpay.sdk.IAPSdk;
public class Main {
public static void main(String[] args) throws Exception {
ACOtk otk = APSdkFactory.createOtkFromKeyPair("your_private_key", "your_l2_address");
APEnvironment environment =
System.getenv("environment").equals("production") ?
APEnvironment.Production : APEnvironment.Development;
IAPSdk sdk = APSdkFactory.createSDK(environment, otk);
}
}using AkashicPaySDK;
using AkashicPaySDK.Constants;
namespace ApSdkTests;
public class Example
{
public static async Task Main(string[] args)
{
var environment =
Environment.GetEnvironmentVariable("environment") == "production" ?
APEnvironment.Production :
APEnvironment.Development;
var otk = ApSdkFactory.CreateOtkFromKeyPair("your_private_key", "your_l2Address");
var sdk = await ApSdkFactory.CreateSdk(environment, otk);
}
}import (
"os"
akashicpay "github.com/akashic/go-sdk"
)
// use whatever secret management tool you prefer to load the private key
// from your AkashicLink account. It should be of the form:
// "0x2d99270559d7702eadd1c5a483d0a795566dc76c18ad9d426c932de41bfb78b7"
apKey := os.Getenv("ApKey")
// this is the address of your AkashicLink account. Of the form "AS1234..."
apL2Address := os.Getenv("ApL2Address")
// in development, you will use our testnet and testnet L1 chains
env := os.Getenv("Environment")
apEnv := akashicpay.Development
if env == "Prod" {
apEnv = akashicPay.Production
}
// instantiate an SDK instance, ready to use
ap, err := akashicpay.NewAkashicPay(apKey, apL2Address, apEnv, "")
現在您可以使用 AkashicPay 了!要瞭解更多關於不同功能的資訊,請前往下一頁。繼續閱讀以獲得更多關於 AkashicPay 進階設定和測試的詳細資訊。
測試
您也可以在 AkashicChain Testnet & Sepolia (Ethereum) ,Shasta (Tron) 和幣安智能測試鏈 (BNB Smart Chain Testnet) 測試網使用 AkashicPay,這對本地開發和測試環境非常有用。要做到這一點,不遵循上述相同的設置,但使用 AkashicLink 和testnet.akashicpay.com 的測試 (testnet) 版本。SDK 設定幾乎相同,但請注意必須使用 「測試」 環境。
import { AkashicPay, Environment } from "@akashicpay/sdk";
const privateKey = process.env.akashicKey;
const l2Address = process.env.l2Address;
const akashicPay = await AkashicPay.build({
privateKey,
l2Address,
environment: Environment.Development,
});
// Now, e.g. create a wallet on the Tron Shasta testnet
const { address } = await akashicPay.getDepositAddress(
NetworkSymbol.Tron_Shasta,
"EndUser123"
);<?php
require "vendor/autoload.php";
use Akashic\AkashicPay;
use Akashic\Constants\Environment;
use Akashic\Constants\NetworkSymbol;
// production is the default environment.
// And in production, an otk must be specified
$akashicPay = new AkashicPay([
'environment' => Environment::DEVELOPMENT,
'privateKey' => getenv('akashicKey'),
'l2Address' => getenv('l2Address'),
]);
// Now, e.g. create a wallet on the Tron Shasta testnet
$address = $akashicPay->getDepositAddress(NetworkSymbol::TRON_SHASTA, 'user123');import com.akashicpay.constants.APEnvironment;
import com.akashicpay.model.ACOtk;
import com.akashicpay.model.APDepositAddressResult;
import com.akashicpay.model.APNetworkSymbol;
import com.akashicpay.sdk.IAPSdk;
public class Main {
public static void main(String[] args) throws Exception {
String l2Address = "your l2Address";
String privateKey = "your privateKey";
ACOtk otk = APSdkFactory.createOtkFromKeyPair(privateKey, l2Address);
IAPSdk sdk = APSdkFactory.createSDK(APEnvironment.Development, otk);
APDepositAddressResult trxDepositAddress =
sdk.getDepositAddress(APNetworkSymbol.TRX_SHASTA, "EndUser123");
}
}using AkashicPaySDK;
using AkashicPaySDK.Constants;
using AkashicPaySDK.Model;
namespace ApSdkTests;
public class Example
{
public static async Task Main(string[] args)
{
var l2Address = "your l2Address";
var privateKey = "your privateKey";
var otk = ApSdkFactory.CreateOtkFromKeyPair(l2Address,privateKey);
var sdk = await ApSdkFactory.CreateSdk(APEnvironment.Development, otk);
var trxDepositAddress = await sdk.GetDepositAddressAsync(TronShastaNetworkSymbol.Value, "test005");
}
}import (
"os"
akashicpay "github.com/akashic/go-sdk"
)
apKey := os.Getenv("ApTestKey")
apL2Address := os.Getenv("ApTestL2Address")
// in development, you will use our testnet and testnet L1 chains
apEnv := akashicpay.Development
// instantiate an SDK instance, ready to use
ap, err := akashicpay.NewAkashicPay(apKey, apL2Address, apEnv, "")
if err != nil {
// handle error
}
// Now, e.g. create a wallet on the Tron Shasta testnet
dA, err := ap.GetDepositAddress(akashicpay.Tron_Shasta, "user123", "")回調
要完成整合,請確保您在指定的組態設定中加入您的回調 URL。這些 URL 對於在我們的系統之間實現安全通訊、無縫處理驗證或資料交換至關重要。
如需更深入的技術指導,包括所需的 URL 格式、安全性最佳實務和疑難排解,請參閱我們的回調文件。
Last updated
Was this helpful?