跳到主要内容

DeBox 去中心化小程序

DeBox MiniApp 去中心化小程序

技术支持

如有任何问题,欢迎加入DeBox技术讨论群:点击加入

DeBox 小程序是什么?

  • DeBox 小程序是基于 Web 技术的轻量级应用,可一键集成第三方系统。
  • 作为区块链社交平台,DeBox 提供了社交互动、区块链支付、行情查看、媒体资讯及 Token 管理等多元生态。
  • 第三方开发者仅需简单配置,即可将现有系统快速集成到DeBox平台,高效触达海量用户,享受平台流量红利,实现业务的快速拓展。

DeBox 小程序特点

  • ​生态开放:支持开发者自由构建多样化应用
  • 极简接入:现有系统可几乎零改造直接运行
  • 标准兼容:支持 HTML5 及 Web3js 标准协议

DeBox 小程序架构

DeBox 小程序基于手机内置浏览器,开发语言为常见的 HTML/CSS/JS,简单易学。 开发者现有系统甚至无需改造,便可直接运行在DeBox上,实现快速接入。

如何与Web3交互?

通过以下两种方式判断DeBox浏览器

  const isDeBox = !!window?.navigator?.userAgent?.includes('DeBox') 
const isDeBox = window.deboxWallet !== "undefined"

DeBox 浏览器内置了 window.ethereumwindow.solana 对象,通过该对象可以调用区块链查询、签名授权、转账交易等Web3所有功能。 此外,还扩展了window.ethereum对象,用于获取用户在DeBox平台的昵称、头像等公开信息等。
window.deboxWalletwindow.ethereum的别称,功能完全等同。扩展能力如下:

wallet_requestPermissions:用于请求用户批准 DAPP 某些访问权限,比如获取当前用户信息

await window.deboxWallet.request({
"method": "wallet_requestPermissions",
"params": [{
eth_accounts: {
"debox_getUserInfo": {}
}
}],
});
  • 需要先请求用户授权的方法目前只有: debox_getUserInfo,若参数为空默认为为 debox_getUserInfo
  1. 权限请求信息带有参数。此时会请求用户批准开发者所指定方法的权限:
    参数:

    • eth_accounts属性,属性值为一个对象,里面指定权限:
      • "debox_getUserInfo": 请求获取用户信息(如头像、昵称等)的权限,参数为空对象 {}

    响应:

    • 成功时返回:
    [
    {
    "id": "QbOgSTaFmS3UK1qS6pese",
    "parentCapability": "eth_accounts",
    "invoker": "https://connect-nu-one.vercel.app/",
    "caveats": [
    {
    "type": "restrictReturnedAccounts",
    "value": [
    "0xa56b4f0c7622bd076c2ba48b17d1e8d3fbf5303e"
    ]
    },
    {
    "type": "debox_getUserInfo",
    "value": {
    "uid":"jkdi123",
    "address":"0xa56b4f0c7622bd076c2ba48b17d1e8d3fbf5303e",
    "name":"张三",
    "avatar":"https://debox......png"
    }
    },
    ],
    "date": 1728348403194
    },
    ]

debox_getUserInfo:获取用户的公开信息,如用户 ID、钱包地址、昵称和头像。

await window.deboxWallet.request({
"method": "debox_getUserInfo",
"params": [],
});
  • 前提条件: 已通过wallet_requestPermissions 请求用户批准 debox_getUserInfo 访问权限,否则拒绝服务。
  • 如果用户没有授权 debox_getUserInfo 访问,则弹出授权确认框,用户允许后则返回信息。

参数

响应

  • 如果用户已授权访问,成功时返回用户的基本信息(ID、地址、昵称、头像)。
{
"address":"0xa56b4f0c7622bd076c2ba48b17d1e8d3fbf5303e",
"name":"张三",
"avatar":"https://debox......png",
"uid":"jkdi123"
}

如何开发小程序?

申请开发者账号 -->开发 -->测试 -->发布

  1. 请到开放平台申请Api Key:
    • Api Key: DApp身份标识。调用消息推送等API时需要

API接口文档

如何调用API接口?

开放平台提供https协议的接口,任何语言都可以调用。
具体参数,请参考接口文档
通过以下curl命令,将完成对消息推送API的调用,发送一条群消息:

消息推送示例
  curl -X POST -H "Content-Type: application/json" -H "X-API-KEY: t2XJ........lEF6" \
-d '{"group_id":"l3ixp32y","object_name":"richtext","title":"我是标题","content":"i am 富文本 {\"uitag\":\"a\",\"text\":\"点击我\",\"href\":\"https://debox.pro/\"}将跳转"}' \
"https://open.debox.pro/openapi/messages/group/send"
注意

请把X-API-KEY换成自己的API KEY,把group_id换成自己的测试群。

小程序在DeBox的入口?

在App【我的】【发现】中予以展示。 开发者和用户可以将https地址分享到DeBox社区里,若用户进行收藏后,可以在【我的】【发现】【我的收藏】中查看。