# @fioprotocol/fiosdk 中文文档

规范地址：https://npmcn.com/package/%40fioprotocol/fiosdk/

版本：1\.10\.3
npm 元数据更新时间：2025-12-03T16:28:32.639Z
中文译文更新时间：2026-11-14T19:19:10.866Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40fioprotocol/fiosdk
原文对照：https://npmcn.com/package/%40fioprotocol/fiosdk/?lang=original
项目主页：https://github.com/fioprotocol/fiosdk_typescript#readme
源码仓库：https://github.com/fioprotocol/fiosdk_typescript

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：3.4 MB，1615 个文件
- 模块格式：CommonJS
- TypeScript 类型：包内自带
- 运行依赖：7 个
- 首次发布：2019-12-12T22:38:23.424Z
- 最新版本发布：2025-12-03T16:28:32.348Z
- 近 30 天下载量：6003（2026-10-15 至 2026-11-13，npm 官方下载统计）
- 已发布版本数：24（近 12 个月 1 个）

## 中文简介

万道间操作性基金会(FIO)是由主要区块链钱包、交换和支付提供者组成的联合体,通过降低发送和接收密码的风险、复杂性和不便,来加快区块链的采用

## 安装

```sh
npm install @fioprotocol/fiosdk
```

也可以使用：`pnpm add @fioprotocol/fiosdk`、`yarn add @fioprotocol/fiosdk`、`bun add @fioprotocol/fiosdk`

## README

# FIO 类型脚本 SDK

Interwallet操作性基金会(FIO)是一个由主要区块链钱包,交换和支付提供商组成的财团,通过降低发送和接收密码资产的风险,复杂性和不便,来加速区块链的采用.

关于FIO的信息,请访问 [FIO网站](https://fio.foundation/)。 。 。 .

关于FIO链、API和SDKs的资料,请访问 [FIO 协议开发者枢纽](https://developers.fioprotocol.io/)。 。 。 .

# 技术

FIO TypeScript SDK使用tsc来构建,生成JavaScript文件.

# 版本

访问 [FIO 协议开发者枢纽](https://developers.fioprotocol.io/) 获取FIO SDK版本的信息. 只使用一个具有与当前FIO协议区块链主要版本号相匹配的主要版本号(如: 1.x.x)的SDK.

# 安装 FIO 类型SDK

国家预防机制版本在此:

```
@fioprotocol/fiosdk
```

# 手动构建 FIO 类型SDK

需要 tsc 版本 4.7.2 git 克隆软件 [http://github.com/fioprotocol/fiosdk typescript. \[永久失效連結\] 互联网档案馆的存檔,存档日期2013-12-21](http://github.com/fioprotocol/fiosdk_typescript) -- 复验 cd fiosdk 类型标记 安装 [类型标注@ 4.7.2](mailto:typescript@4.7.2) - g npm 安装 页:1 (验证您生成的. js与 github 仓库中当前内容的匹配)

使用线条

导航到"fiosdk typescript"文件夹,运行纱线以安装其依赖,再运行 tsc以编译. 在运行测试之前,指的是这个README的"Workflow for use the SDK with TestNet"部分.

```
cd fiosdk_typescript
yarn
tsc
npm test (if you would like to run the unit tests)
```

## 编译 SDK 时出错

### 无法找到 tsc

确保通过运行安装打字符, 此命令在终端中 :

```
sudo npm install -g typescript
```

# 发布到节点包管理器 (npm) 注册

要发布到 npm 注册 .

1.  为此发行更新版本编号 。 在"包装. json"
    
2.  如果 fioJS 库在 npm 中更新 。 同时更新fioJS版本号. 在"包装. json"
    
3.  发布到 npm :
    
    ```
     cd fiosdk_typescript
     yarn
     tsc
     npm test
     npm publish --access public
    
     (If you have enabled 2FA for authorization and publishing using an authenticator app, you will be asked to enter the 6 digit 2FA OTP during publish.)
    ```
    

详情: [http://npmjs.com/ (中文(简体) )](http://npmjs.com/) [https://docs.npmjs.com/创刊-出版-范围-公共-包装](https://docs.npmjs.com/creating-and-publishing-scoped-public-packages)

# 生成文档

TypeDoc被安装为dev依赖. 文件是预先生成的,并包含在源代码中. 要手动生成运行的文档 :

```
cd fiosdk_typescript
./build_docs.sh
```

文档将出现在项目根部的"文档"文件夹中.

## 安装类型文件的问题吗 ?

如果找不到类型多克命令, 请使用 npm 全局命令安装类型多克 :

```
npm install --global typedoc
```

# 使用 SDK

SDK使用一个需要先在构造器中初始化的单通模型,因为这些参数在随后的SDK Calls中被引用.

## 测试网络的基础 URL

```
http://testnet.fioprotocol.io/v1/
```

## 测试网络监视器工具

```
https://monitor.testnet.fioprotocol.io/
```

## 初始化 SDK

```
fetch = require('node-fetch')

const fetchJson = async (uri, opts = {}) => {
    return fetch(uri, opts)
}

privateKey/publicKey - the wallet user's private/public keys
baseURL - the base URL to the FIO Protocol blockchain API (e.g., http://testnet.fioprotocol.io/v1/)
fetchjson - a reference to fetchJson - this is the module to use for http post/get calls (see above for an example)
registerMockUrl - the URL of the server used to auto-register FIO names for wallet users. This is only used by wallets that have deployed a central server used to register names on their domain. It is used by the registerOnBehalfOfUser method

constructor(
    privateKey: string,
    publicKey: string,
    baseUrl: string,
    fetchjson: fetchJson,
    registerMockUrl = '',
  )
```

## JavaScript 中的示例使用

```
const fio = require('@fioprotocol/fiosdk');

this.fioSDK = new fio.FIOSDK(privateFioKey, publicFioKey, 'http://testnet.fioprotocol.io/v1/', this.fetchJson, '')
```

## 使用 TestNet SDK 的工作流程

大多数已签署的API呼叫收费,并需要与打电话的用户相关的FIO地址.

## 用 FIO 令牌创建测试账户

在进行测试时, 您会想要注册地址和转移资金 。 但是,首次注册新地址需要FIO的代币. 因此,需要一些手动设置,将FIO符号与FIO公用钥匙联系起来. 在测试环境中设置一个带有FIO符号的FIO公钥:

1.  手动创建两个私有/公有 FIO 密钥对
    1.  浏览网站 : [https://monitor.testnet.fioprotocol.io (英语)](https://monitor.testnet.fioprotocol.io/)
    2.  选择“ 创建 keypair” 按钮( 网站左上)
    3.  复制密钥包和 FIO 内部账户
2.  手动为这两个FIO键对注册一个FIO地址.
    1.  浏览网站 : [https://monitor.testnet.fioprotocol.io (英语)](https://monitor.testnet.fioprotocol.io/)
    2.  选择“ 注册地址” 按钮
    3.  输入 FIO 地址
    4.  粘贴在其中的公钥上( 上面创建)
    5.  选择“ 创建” 按钮
    6.  每个公钥配对(两次)都这样做。 创建的 FIO 地址将使用此格式, "mytest: fiotestnet"
3.  手动将资金转入这些FIO地址.
    1.  浏览网站 : [https://monitor.testnet.fioprotocol.io (英语)](https://monitor.testnet.fioprotocol.io/)
    2.  选择“ Faucet” 按钮
    3.  粘贴在其中的公钥上( 上面创建)
    4.  选择“ 发送硬币” 按钮
    5.  每个公用密钥配对都这样做( 两次)
4.  这些金融情报室的公开地址现在有资金提供经签署的API电话.
5.  编辑测试脚本以添加这些 FIO 地址和私有/公有 FIO 密钥对
    1.  在 testnet. spec文件(/fiofoundation-io-fiosdk/tests/testnet. spec)中编辑私钥,公钥,私钥,公钥2, testFioAddressName, testFioAddressName 2 变量
6.  运行测试 : npm 测试

## 当一个签名API呼叫 指控FEES,

采用下列步骤确定收费,并传递给已签名的呼叫.

```
1. Call getFee to get the fee for the Signed API call
2. Call the API Signed call with the fee
```

## 示例代码

```
Example code is located here:
    \examples

For an example of how to generate keys using the SDK, see the sample project here:
    \examples
        \GenerateFioKeys

For an example on how to instantiate the SDK, and register a fio address.  See the sample project here:
    \examples
        \RegisterFioAddress
```

# FIO 公钥

SDK提供调用生成FIO公钥.

## 生成 FIO 密钥

SDK中的私人密钥生成只能用于测试目的. 不使用这些方法生成生产应用的私钥 。 取而代之的是将安全生成的私钥或种子短语传递给SDK构造器. 用户的FIO私人/公用密钥可以通过在 sdk 上调用这些方法来生成:

```
createPrivateKeyMnemonic OR createPrivateKey
AND
derivedPublicKey
```

## 示例使用

```
For an example of how to generate keys using the SDK, see the sample project here:
    \examples
        \GenerateFioKeys
```

## 示例密钥生成代码

```
using npm, create a javascript file ('index.js), and run "node index.js"

i.e. JavaScript code ('index.js):

const fio = require('@fioprotocol/fiosdk');
const mnemonic = 'valley alien library bread worry brother bundle hammer loyal barely dune brave'

async function genKeysFromMnemonic () {

    console.log("")
    console.log("From This Mnemonic:")
    console.log(mnemonic)
    console.log("")

    // Private key generation in the SDK is available for testing purposes only. Do not generate private keys for production application using these methods. Instead pass securely generated private keys or seed phrase to the SDK constructor.
    const privateKeyRes = await fio.FIOSDK.createPrivateKeyMnemonic(mnemonic)
    console.log("private key generated:")
    console.log((privateKeyRes.fioKey))
    console.log("")

    const publicKeyRes = fio.FIOSDK.derivedPublicKey(privateKeyRes.fioKey)
    console.log("public key generated")
    console.log((publicKeyRes.publicKey))
    console.log("")
}

genKeysFromMnemonic()
```

## 不使用 FIO 键盘 SDK 手动创建密钥 ?

下列信息可用于手动生成 FIO 密钥:

FIO密钥使用SLIP-235用于BIP-0044. [https://github.com/satoshilabs/slips/blob/master/slip-0044.md 互联网档案馆的存檔,存档日期2013-12-22](https://github.com/satoshilabs/slips/blob/master/slip-0044.md)

以EOS为例,公有私钥生成. 将EOS滑行"194"替换为"235". 而"EOS"的公钥前缀为"FIO". [https://eosio.stack exchange.com/ questions/397/generate-eos-keys- from-mnemonic-sheed 互联网档案馆的存檔,存档日期2013-12-22](https://eosio.stackexchange.com/questions/397/generate-eos-keys-from-mnemonic-seed)

## FIO 密钥衍生路径 :

("44'235'/0'/0") (中文(简体) )

## FIO 密钥生成测试

使用此元词: "valley外星图书馆面包担心兄弟 忠诚的锤子 勉强勇敢"

这是预期的私人密钥 : "5Kbb37E AqQgZ9vWUHOPIC2UXYHYGSFNbL6oiDp24Ea1ADxV1qnu" 互联网档案馆的存檔,存档日期2014-12-21

这是预期的公钥 : "FIO5kJKNHwctcfUM5XZyiWSqSTM5HTzznJP9F3ZdbhaQAHEVq575o" (中文(简体) )

# 版本数

## 在此检查发行版本和细节 :

[https://github.com/fioprotocol/fiosdk typescript/releases (中文(简体) )](https://github.com/fioprotocol/fiosdk_typescript/releases)

## 常见问题

### @fioprotocol/fiosdk 是什么？

万道间操作性基金会\(FIO\)是由主要区块链钱包、交换和支付提供者组成的联合体,通过降低发送和接收密码的风险、复杂性和不便,来加快区块链的采用

### 如何安装 @fioprotocol/fiosdk？

在项目目录运行 npm install @fioprotocol/fiosdk，或使用 pnpm add / yarn add / bun add。

### @fioprotocol/fiosdk 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @fioprotocol/fiosdk 支持 ESM 还是 CommonJS？

以 CommonJS 形式发布，可以直接 require\(\)；在 ES Module 项目中也可以用 import 引入（Node\.js 会把 module\.exports 作为默认导出）。

### @fioprotocol/fiosdk 可以商用吗？

@fioprotocol/fiosdk 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @fioprotocol/fiosdk 的下载量有多少？

根据 npm 官方下载统计，@fioprotocol/fiosdk 在 2026/10/15 – 2026/11/13 这 30 天内被下载 6,003 次，日均约 200 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @fioprotocol/fiosdk 还在维护吗？

最新版本 1\.10\.3 发布于 2025/12/04（11 个月前）；至今共发布 24 个版本，其中过去 12 个月发布了 1 个；首次发布于 2019/12/13。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

