OceanONE 接入指南

in #cn6 years ago (edited)

简介

OceanONE 是一个拥有中心化交易所体验的去中心化交易所

  • 安全:交易所代码开源,交易完资产自动返回钱包。
  • 透明:所有交易都上链,可查可追溯。
  • 速度:实时挂单、买单和撤单,Mixin Network 内部充值提现实时到账。
  • 深度:共享深度和流动性
  • 币全:支持 Mixin Network 所有币种(12 条主链 45,074 种代币 )与 Mixin XIN、Bitcoin BTC 和 Omni USDT 交易对
  • 低费:Maker 免费,Taker 千一手续费,挂单、买单和撤单免转账手续费
  • 扩展:基于 Oceean ONE 的 API 可以很方便开自己的交易所

接入

1、注册成为 Mixin 的 Developer

下载 Mixin Messenger ,扫码登录 https://developers.mixin.one (点右上角)。

2、为你的交易所创建一个 Mixin App

点 Create New App 按提示创建就行,通过这个 App 创建的用户都是你的用户,后续可以监听你创建用户的充值、提现和转账信息,并且可以获得提现手续费、交易手续费返还。点 Click to generate a new session 生成 PIN、Session Id 、Pin Token、Private Key,这些都要记下来后面要用,服务器和浏览器都不会保存这些敏感信息(注意刷新再次点又会生成一个新的,会覆盖旧的)。
bcd44b24-8275-4b9d-8112-ad95dad52d7d.JPG

3、集成钱包

创建 Mixin Network 用户

注册 Mixin Network 用户来实现充值、提现和交易功能。参考文档 https://developers.mixin.one/api#app_apicreate_userhttps://developers.mixin.one/api#documentationauthentication_token ,会用到前面所说的 Client Secret、Client Session。

设置 PIN 码

如果项目方有能力替用户安全的保管好 PIN 可以根据产品的需求实现为中心化钱包(ocean.one 现在就是用的这个方案,每次交易不需要输入 PIN ,体验较好);否则不要存用户的 PIN ,参考 Mixin Messenger 在客户端本地保存 PIN 也是一个不错的方案。

参考文档 https://developers.mixin.one/api#apicreate_pin 设置 Network 用户的 PIN 。

获取订单

4、交易

  • 限制:撮合引擎对挂单的价格、数量有一定的限制,比如 USDT 限价单价格最少 0.0001 USDT,最大挂单数量 500,000 等,不符合规则的挂单会被认为是恶意挂单,这样的挂单会被撮合引擎扣除手续费并退单,参考 example js 代码 https://github.com/MixinNetwork/ocean.one/blob/master/example/web/src/market/index.js 里的 validateOrder 方法。

  • 退单:由于 OceanONE 的挂单、吃单和退单都是通过转账来完成的,退单也需要发起一笔转账。ocean.one 的办法是发行了一万亿的 OOO (Ocean ONE Object) erc-20 代币,每个新用户发 1000 个 OOO ,无法充值提现,每次退单消耗 0.00000001 个 OOO。也可以用别的代币比如 CNB/CANDY 等别的代币发起退单转账,撮合引擎没有限制。

5、统计

注意撮合引擎不负责数据统计,Ticket、Candles 这些需要前端根据 trades 自行统计。ocean.one 显示的 13 个交易对可以直接从 example.ocean.one 抓取数据,其他的交易对需要开发团队参考 example 的代码自行统计即可。

6、前端界面

可以直接使用 example 的代码或者自己开发界面,通过手机号、邮件注册后绑定 Network 用户。

为了应对短时间大量新用户注册,ocean.one 事先批量注册了若干 network 和 ocean 用户,新注册的用户自动分配一个关联账号,参考 pool_key.go 的 GeneratePoolKey 方法。

范例

FAQ

  • 为什么 ocean.one 看不到其他交易对 ?
    API支持所有交易对,但是网站只列出了部分。

  • 如何获取 asset id ?
    https://developers.mixin.one/api#apiread_assets 可以返回你资产列表,如果没有你的资产,你可以充值一点进来就有了。

  • 新的代币如何在 OceanONE 交易?
    OceanONE 没有上币这一说,更没有上币费,直接将代币充值到 Mixin Network 即可交易。比如充值 Mixin Messenger 钱包然后通过 Mixcoin 交易,或其他基于 OceanONE 撮合引擎前端交易,也可以利用现有开源代码自行开发前端交易界面。

  • 充值慢的问题
    为了安全 Mixin Network 的确认数比一般的钱包和交易所高 2 倍以上,耐心等待即可。可以查看 Mixin 的区块链浏览器 https://mixin.one/snapshots 看看区块同步高度和状态。


独立的撮合引擎和钱包能确保资产安全隔离,通过转账的形式挂单、吃单和退单让整个过程都记录在链上,撮合引擎开源这些能确保用户能安全、公平、便捷的交易资产,快来加入 OceanONE 赚取手续费吧!