跳转到内容
FIBOS社区
当时年少

FO 钱包 DApp SDK 文档(草案)

已推荐文章

简介

为了让用户更方便的使用 DApp,FO 钱包 提供了 DApp Store 功能,并提供了 DApp SDK 方便开发者将自己的 DApp 接入到 Fo 钱包 中;目前 API 尚处草案阶段,仍需更多调整及完善,欢迎大家踊跃提出希望 FO 钱包 支持的 API(可至FIBOS 社区 DApp SDK 专区进行讨论)。

API

Fo 钱包中的 DApp 运行于 DApp 容器 之中,DApp 容器实际上是一个注入了 DApp API 的浏览器,所有的 API 对象均可通过 window.fowallet.apiName() 这样的方式调用,调用结果可通过回调得到,回调函数的参数传递风格与 NodeJS 保持一致,即第一个参数总是 error 对象 (如果没有错误发生,error 的值会是 null),第二个参数为实际结果(若有错误则为 null)。

如下为 FO 钱包 的已经(即将)支持的 API

/**
 * 获取 FO 钱包当前所连接的 FIBOS 节点的信息
 * callback 接受回调结果的回调函数
 */
getInfo(callback)

/**
 * 获取当前的账户信息
 * callback 接受回调结果的回调函数
 */
getAccount(callback)

/**
 * 获取当前账户所持有的某个(或全部)通证的对应的数量
 * extendSymbol String | Array<String> | undefined
 * 1. 传入某个特定的通证名,例如 "[email protected]",则返回当前账户所持有的该特定通证的数量
 * 2. 传入某几个通证名的数组,例如["[email protected]","[email protected]"],则返回当前账户所持有的该特定几个通证的数量
 * 3. 若该参数为 undefined,则取回该账户下所持有的所有通证对应的数量
 * callback 接受回调结果的回调函数
 */
getCurrencyBalance(extendSymbol, callback)

/**
 * 获取当前账户所持有的某个(或全部)通证的对应的锁仓数量
 * extendSymbol String | Array<String> | undefined
 * 1. 传入某个特定的通证名,例如 "[email protected]",则返回当前账户所持有的该特定通证的锁仓数量
 * 2. 传入某几个通证名的数组,例如["[email protected]","[email protected]"],则返回当前账户所持有的该特定几个通证的锁仓数量
 * 3. 若该参数为 undefined,则取回该账户下所持有的所有通证对应的锁仓数量
 * callback 接受回调结果的回调函数
 */
getLockBalance(extendSymbol, callback)

/**
 * 获取当前账户所持有的某个(或全部)合约子钱包内的对应的通证数量
 * extendSymbol String | Array<String> | undefined
 * 1. 传入某个特定的通证名,例如 "[email protected]",则返回当前账户该合约子钱包拥有的通证数量
 * 2. 传入某几个通证名的数组,例如["[email protected]","[email protected]"],则返回当前账户该特定几个合约子钱包拥有的通证数量
 * 3. 若该参数为 undefined,则取回该账户下所有合约子钱包所拥有的对应通证数量
 * callback 接受回调结果的回调函数
 */
getContractBalance(extendSymbol, callback)

/**
 * 向合约子钱包充入对应通证
 */
contractRecharge(extendSymbol, callback)

/**
 * 自合约子钱包提出对应通证
 */
contractWithdraw()

/**
 * 向钱包发起支付请求
 */
payRequest()

/**
 * 取回 DApp 对应的合约
 */
contract()

如何调试

目前 FO 钱包提供了DApp浏览器,开发者可以(在主网)发布自己的合约,本地编写 DApp 的前端页面对接合约,在 DApp浏览器 输入本地的 http 地址来完成 DApp 的调试。

分享这篇文章


链接文章
分享到其他网站

建议增加个 Number 和 extendSymbol 互转的工具方法,虽然自己实现也很简单,其意义在于,开发者只需要关心数额,而不必关心传入的格式

分享这篇文章


链接文章
分享到其他网站

那些需要用户授权的操作,比如发起支付,如果不在fo钱包的dapp api上实现,还有其他办法实现吗?现在我看payRequest的api好像也还没发布?

分享这篇文章


链接文章
分享到其他网站
2018/10/26 PM7点16分 , Retric 说:

那些需要用户授权的操作,比如发起支付,如果不在fo钱包的dapp api上实现,还有其他办法实现吗?现在我看payRequest的api好像也还没发布?

payRequest 已经放开了;示例代码看附件

payrequest.html

分享这篇文章


链接文章
分享到其他网站

建立一个帐号或登入来留意见

您需要成为会员才能留意见

建立一个帐号

注册成为我们的会员。这只要几个简单步骤!

注册新帐号

登入

已经有帐号?请在这里登入。

立即登入

×