Bitfinex是一家知名的中心化交易所,影响力跟币安比是差了一些,但与它有千丝万缕关系的USDT稳居稳定币老大。令人兴奋的是,Bitfinex将于今年一季度推出EOSfinex。这对于EOS生态无疑是好事,但它能否做到去中心化交易所老大?鲸交所、扭蛋有一定的先发优势,所以鹿死谁手不好说,就让我们拭目以待。先来看看EOSfinex公布的最新技术细节:用于去中心化的、链上交易的WebSockets。
EOSfinex的发布即将到来,关于推动交易所发展的机制,在这里我们为大家提供了一个先睹为快的机会。
EOSfinex是一个基于EOSIO的高性能去中心化交易所,它将完全在链上运行——托管、订单簿和匹配引擎都是EOS合约的一部分。EOSfinex将于2019年第一季度全面推出。
在下面的文章中,我们将介绍我们向交易者提供的附加WebSocket协议,以及在实践中使用网关。
EOS On WebSockets
通常,EOS合约提供基于HTTP的API,这将是在EOSfinex上交易的一种方式。除此之外,我们还将支持低延迟的WebSockets。WebSockets允许用户对剧烈的市场变化做出快速反应,同时也是一种Web标准。
EOSfinex的WebSocket协议是基于Bitfinex正在使用的v2协议。为了使去中心化环境下的交易成为可能,我们添加了一些更改。
我们设计的网关能够提供高性能,并使现有的Bitfinex用户可以轻松使用它。
以下部分显示来自EOSfinex WebSocket网关的交易更新消息。
我们的API v2消息看起来非常熟悉,不是吗?
验证和预签名
为了能够通过WebSockets进行交易,我们必须连接到WebSocket网关。网关本身作为本地EOS插件运行,位于合约的EOS节点上。在将订单发送到网关之前,交易者使用其私钥对订单进行预处理。
然后网关将其应用于合约。这样,私钥不需要离开交易者的机器。
我们的WebSocket库目前支持基于私钥的签名和 Scatter。在未来,我们将增加对硬件钱包的支持。
以下是从客户端发送到网关的示例消息,该消息将提交交易:
本质上,所有更新都是公开的,供在线交换使用。但是,如何才能确定哪条交易更新消息属于正确的用户呢?这是将正确的消息发送到其socket所需解决的重要问题。
出于这个原因,我们在合约中添加了一个特殊的端点。EOS操作的名称将被验证’validate’。Sunbeam,我们的WebSocket库将它用作身份验证过程的一部分。
通过调用auth(),Sunbeam将一个本地签名的消息发送到websocket网关。发送到validate操作本身的消息为空,不会触发任何内容。
网关仅使用它来验证用户,方法是将签名的消息与其公钥进行链上的比较。通过成功的身份验证,我们将收到“私人”钱包消息、交易和订单更新。
如果您对 Sunbeam 是如何工作的感到好奇,请查看下面的内容。它是在Apache License 2.0下完全开放的。
我们希望您喜欢这个快速预览,并为即将发布的EOSfinex感到兴奋。
翻译自:eosfinex-websockets-for-a-decentralised-on-chain-exchange
网友评论