npm install @safeheron/api-sdk --save
or
yarn add @safeheron/api-sdk
Take
/v1/account/create
as an example to explain, the complete code can be found indemo/api_demo/
directory
-
Import
import { AccountApi, CreateAccountRequest, CreateAccountResponse } from "@safeheron/api-sdk";
-
Construct
AccountApi
// You can get `apiKey` and `safeheronRsaPublicKey` from Safeheron Web Console: https://www.safeheron.com/console. const accountApi = new AccountApi({ baseUrl: 'https://api.safeheron.vip', apiKey: 'd1ad6******a572e7', // Here are two configuration options: // 1. Configure the path to the private key file, the path must contain the "file:" prefix, for example: file:/path/to/your/private/key/file.pem // 2. Configure the private key content in string format, for example: -----BEGIN PRIVATE KEY-----\nMIIJQgIBADANBgkqhkiG****ICAQDidDHYV73U4cub\n-----END PRIVATE KEY----- rsaPrivateKey: "file:/path/to/your/private/key/file.pem", // You can get safeheronRsaPublicKey from Safeheron Web Console. Here are two configuration options: // 1. Save safeheronRsaPublicKey to a file and configure the path to the file, the path must contain the "file:" prefix, for example: file:/path/to/safeheron/public/key/file.pem // 2. Directly paste the public key that you copied from the web console, for example: MIICIjANBgkqhki****8eUQV63wRS0CAwEAAQ== safeheronRsaPublicKey: "MIICIjANBgkqhki****8eUQV63wRS0CAwEAAQ==", // RequestTimeout (Millisecond), Default: 20000 requestTimeout: 20000 });
-
Call api with
AccountApi
const request: CreateAccountRequest = { accountName: "first_account" } const createAccountResponse:CreateAccountResponse = await accountApi.createAccount(request); // Your code to process response ...
- Before run the test code, modify
demo/api_demo/.safeheronrc.dist
according to the comments# your api key APIKEY= # path to your private key file, pem encoded PRIVATE_KEY_PEM_FILE= # path to safeheron api public key file, pem encoded APIKEY_PUBLIC_KEY_PEM_FILE= # Safheron api url BASE_URL=https://api.safeheron.vip # RequestTimeout (Millisecond), Default: 20000 requestTimeout: 20000
- Run the test
$ cd demo/api_demo $ cp .safeheronrc.dist .safeheronrc $ ts-node ./accountDemo.ts
- Before run the test code, modify
demo/api_demo/.sendtransaction.dist
according to the comments# your api key APIKEY= # path to your private key file, pem encoded PRIVATE_KEY_PEM_FILE= # path to safeheron api public key file, pem encoded APIKEY_PUBLIC_KEY_PEM_FILE= # Safheron api url BASE_URL=https://api.safeheron.vip # RequestTimeout (Millisecond), Default: 20000 requestTimeout: 20000 # Wallet Account key ACCOUNT_KEY= # To address DESTINATION_ADDRESS=
- Run the test
$ cd demo/api_demo $ cp .sendtransaction.dist .sendtransactionrc $ ts-node ./transactionDemo.ts
-
Before run the test code, modify
demo/mpc_demo/.mpcdemo.dist
according to the comments# your api key APIKEY= # path to your private key file, pem encoded PRIVATE_KEY_PEM_FILE= # path to Safeheron api public key file, pem encoded APIKEY_PUBLIC_KEY_PEM_FILE= # Safeheron api url BASE_URL=https://api.safeheron.vip # RequestTimeout (Millisecond), Default: 20000 requestTimeout: 20000 # Wallet Account key ACCOUNT_KEY= # Goerli testnet token address in wallet account ACCOUNT_TOKEN_ADDRESS= # erc20 token contract address ERC20_CONTRACT_ADDRESS= # address to receive token TO_ADDRESS=
-
Run the test
$ cd demo/mpc_demo $ cp .mpcdemo.dist .mpcdemorc $ ts-node ./mpcSign.ts