API

为什么需要 API?

为了支持应用系统层面的集成,Safeheron 提供丰富的 API 接口

从功能来说,通过 API,您几乎可以享有 Safeheron 提供的所有核心功能,比如:管理钱包、发起交易、交易查询等等,配合您的 API Co-Signer 还可以完成交易自动化审核、签名等。

从应用场景来说,除交易外,通过 API 还可以完成诸如 DeFi、DEX、GameFi 等合约交互、合约 Owner 权限管理、 Token Mint 权限管理、Web3 各类场景的数据签名等等业务应用场景。

如何使用 API?

开通 API

具有API 管理权限的用户登录 Safeheron Web 控制台,前往「设置」➡ 「API 账户管理」进行 API 账户(即 API Key)创建。

创建 API Key

API 账户创建成功后,可以使用 API Key 来访问 Safeheron API,具体如下图所示。

1. 使用 OpenSSL 生成 RSA 私钥(api_private.pem 为您的 API RSA 私钥 ):

openssl genpkey -out api_private.pem -algorithm RSA -pkeyopt rsa_keygen_bits:4096

2. 使用 OpenSSL 生成 RSA 私钥对应的公钥(api_public.pem 为您的 API RSA 公钥):

openssl rsa -in api_private.pem -out api_public.pem -pubout

3. 前往 Safeheron Web 控制台,「管理」 ➡「API」,点击「创建 API Key」

提示:如何导入 RSA 公钥呢?

有 2 种方式:

1. 复制+粘贴,但需要去掉头部信息

2. 上传 RSA 公钥文件,系统自动去除头部信息

IP 白名单

当客户需要调用 API 时, 需要把调用 API 的主机公网 IP 地址添加到白名单, 否则 Safeheron 服务网关将拒绝API请求。

当客户需要使用 API Co-Signer 时,需要把 API Co-Signer 所在的宿主机公网 IP 地址添加到白名单。

API SDK

我们提供 Java/js/golang/python 四种语言的 API SDK:

Java:https://github.com/Safeheron/safeheron-api-sdk-java

JavaScript & TypeScript:https://github.com/Safeheron/safeheron-api-sdk-js

Golang:https://github.com/Safeheron/safeheron-api-sdk-go

Python: Coming soon

🛡 如何保证 Safeheron API 安全?

为了保证 Safeheron API 安全,我们做了以下几点:

  • Safeheron 为 API 账号设计了一组权限,您在开通 API 账号时,请遵循最小权限原则。

  • 具有API 管理权限的团队成员方可对 API 进行配置或者变更,并且任何变更都需通过团队批准方可生效。

  • 采用 IP 白名单机制并与 CDN 供应商集成,避免访问来源 IP 伪造,保证访问来源安全,另外,数据加密和签名方案确保数据在传输过程中不会被截获与篡改,保证数据传输安全。

  • Safeheron 支持针对 API 账号配置审批策略,用来控制 API 账号发起的交易将如何审批。

📝 请注意

真正的安全需要 Safeheron 与您的共同参与,请妥善保管好 API 账号相关的敏感数据,比如:API Key、您的公私钥、Safeheron 平台公钥。

最后更新于