热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

如何在磁力兑换中参与做市商?

MOV市场可以分为超导兑换、磁力兑换和闪电兑换。由于Bycoin的简洁性、易用性,目前大多数用户都是通过BycoinAPP使用MOV的产品。虽然Bycoin优点良多,但并不适合有做


MOV市场可以分为超导兑换、磁力兑换和闪电兑换。由于Bycoin的简洁性、易用性,目前大多数用户都是通过Bycoin APP使用MOV的产品。虽然Bycoin优点良多,但并不适合有做市商需求的用户。针对这部分用户,MOV团队提供了RESTful API或MOV-MMDK在MOV市场参与做市。本文会通过简单一个的例子讲解如何通过MOV-MMDK使用磁力兑换。


磁力做市架构和原理



MOV Server只是提供订单与交易之间的相互转化,实际上所有的订单都是由用户签名后提交, 并最终由智能合约进行撮合的过程。 MOV Server提供了与中心化交易所接近一致的API接口,其交易时的API使用体验,基本与中心化交易所一致,但依然有一些不同,下面我们将会进行说明。


准备工作


在正式开始之前,我们先进行一些准备吧!包括名词解释和所需工具的准备:


磁力兑换


磁力兑换是MOV协议下的核心产品之一,是将用户的资产通过合约的形式在链上完成挂单,撮合和成交的一种资产交易方式。通俗的说,磁力兑换实现的就是去中心化交易的功能,并且在去中心的同时具备了媲美中心化交易所的速度。


MOV Server


连接MOV的中心化服务器,用户使用其提供RESTful API在MOV上进行交易。


MOV-MMDK


MOV Market Maker Development Kit,基于MOV Server的RESTful API开发的Python SDK


工具准备:


Python


MOV-MMDK是基于MOV Server的RESTful API开发的Python SDK,使用前请确保在你有 Python3 开发环境。本教程所有过程使用的版本为 Python 3.6.9


MOV-MMDK安装


MOV Market Maker Develo pment Kit,基于MOV Server的RESTful API开发的Python SDK,提供获取市场深度、发送订单、取消订单、查询订单、查询账户余额等功能。


git clone https://github.com/Bytom/mov-mmdk
cd mov-mmdk/
pip3 install -r requirements.txt
python3 setup.py install

温馨提示:推荐在 macOSLinux 环境下使用,Windows环境下安装依赖的过程比较繁琐。


详细教程


详细的教程我们通过一个示例来演示如何通过MMDK使用磁力兑换。我们可以在直接在Python解释器中运行我们的代码。


1.在命令行界面输入以下命令即可进入Python解释器


python3

2.接下来需要在代码中添加依赖,创建Api对象就可以调用MOV-MMDK提供的API参与磁力兑换做市商


from mov_sdk.mov_api import MovApi

3.获取私钥并初始化,以下提供了四种不同的初始化方法。本教程在演示的时候选择第一种方式。


git clone https://github.com/Bytom/mov-mmdk

//通过助记词初始化


api = MovApi(secret_key=””)


cOnfig= api.init_from_mnemonic(“你的助记词”)


print(api.main_address)


print(api.vapor_address)


print(api.public_key)


//通过私钥初始化


api = MovApi(secret_key=”你的私钥”)


print(api.main_address)


print(api.vapor_address)


print(api.public_key)


//以下两种方式会创建新地址并且初始化


api = MovApi(“”)


print(api.secret_key)


print(api.main_address)


print(api.vapor_address)


print(api.public_key)


api = MovApi(“”)


print(api.get_new_secret_key())


print(api.main_address)


print(api.vapor_address)


根据自己需求创建好api对象就可以调用sdk提供的方法进行交易。对于Bycoin的用户,推荐使用第一种初始化的方式,可以在Bycoin-设置-钱包设置-备份助记词中获取自己账户的助记词,每个助记词用空格分隔。



4.通过sdk获得磁力交易对信息并输出:


print(api.get_exchange_info())

5.获取市场指定交易对的深度,这里我们获取BTC/USDT交易对的5档深度:


print(api.get_depth("BTC/USDT", 5))

6.发送磁力交易订单,例如我们现在发送一笔BTM/USDT的卖出订单,定价为1USDT,数量为1:


print(api.send_order(symbol="BTM/USDT", side="sell", price=1, volume=1))

7.查询所有未成交的磁力订单,可以使用这个方法来查询步骤6发送的订单:


print(api.query_open_orders("BTM/USDT"))

8.通过订单号查询磁力订单


print(api.query_list_orders([6940174]))

9.磁力撤单,通过订单号,将指定的订单撤销


print(api.cancel_order(6940174)

磁力撤单后,使用 api.query_open_orders("BTM/USDT") 查询所有未成交的磁力订单,这时候已经data为空,证明我们确实把该订单取消了。而通过订单号查询,在type中显示为”mov_cancel_order”,已取消订单。



10.查询账户所有资产的余额


print(api.get_balance())

以上就是在磁力兑换中常使用的方法,包括了订单的发送、查询、撤销和对账户资产的查阅。本教程中的过程全部通过MOV-MMDK进行磁力交易,返回数据的格式及说明详见MOV-MMDK API 除了这种方式以外,用户也可用直接通过磁力兑换的RESTful API进行交易。详见:磁力兑换API


温馨提示:若直接通过磁力兑换的RESTful API进行交易,在submit order的环节需要用户自己在本地对raw_transaction签名以得到signatures。该过程比较复杂,应该目前推荐使用MOV-MMDK的方式参与做市。


磁力兑换与中心化交易所的区别


交易即转账


用户所有的兑换交易,实际上都是链上的转账,可以到MOV数据中心 以及vapor 区块链 浏览器 通过链上地址查询到市商做市的所有交易。


拥有私钥,即可转走账户上的所有金额


MOV Server和MOV-MMDK不会存储用户的私钥,用户请妥善保管你的私钥。拥有私钥就拥有账户的最高权限,泄露私钥会导致账户上所有资金被人转走,丢失私钥,将失去对账户资金的控制权!


建议一个交易对对应一个钱包,不要在一个钱包并发多笔交易


构建交易订单实际上是发送一笔UTXO交易。流程是这样的:服务器返还需要签名的相关UTXO交易->用户端签名,提交用户订单到服务器。 这时候,如果需要签名的相关UTXO出现重复,则可能导致这笔交易失败。 因此我们建议您采用单线程的方式来执行交易订单请求,如果真的需要并发交易的时候,请尽量通过多个钱包单线程的方式来解决问题。


根据国家《 关于防范代币发行融资风险的公告 》,大家应警惕代币发行融资与交易的风险隐患。


本文来自 LIANYI 转载,不代表链一财经立场,转载请联系原作者。




推荐阅读
  • 在CentOS 7上部署WebRTC网关Janus
    在CentOS 7上部署WebRTC网关Janus ... [详细]
  • Python错误重试让多少开发者头疼?高效解决方案出炉
    ### 优化后的摘要在处理 Python 开发中的错误重试问题时,许多开发者常常感到困扰。为了应对这一挑战,`tenacity` 库提供了一种高效的解决方案。首先,通过 `pip install tenacity` 安装该库。使用时,可以通过简单的规则配置重试策略。例如,可以设置多个重试条件,使用 `|`(或)和 `&`(与)操作符组合不同的参数,从而实现灵活的错误重试机制。此外,`tenacity` 还支持自定义等待时间、重试次数和异常处理,为开发者提供了强大的工具来提高代码的健壮性和可靠性。 ... [详细]
  • FreeBSD环境下PHP GD库安装问题的详细解决方案
    在 FreeBSD 环境下,安装 PHP GD 库时可能会遇到一些常见的问题。本文详细介绍了从配置到编译的完整步骤,包括解决依赖关系、配置选项以及常见错误的处理方法。通过这些详细的指导,开发者可以顺利地在 FreeBSD 上完成 PHP GD 库的安装,确保其正常运行。此外,本文还提供了一些优化建议,帮助提高安装过程的效率和稳定性。 ... [详细]
  • 在 CentOS 7 系统中安装 Scrapy 时遇到了一些挑战。尽管 Scrapy 在 Ubuntu 上安装简便,但在 CentOS 7 上需要额外的配置和步骤。本文总结了常见问题及其解决方案,帮助用户顺利安装并使用 Scrapy 进行网络爬虫开发。 ... [详细]
  • Python 程序转换为 EXE 文件:详细解析 .py 脚本打包成独立可执行文件的方法与技巧
    在开发了几个简单的爬虫 Python 程序后,我决定将其封装成独立的可执行文件以便于分发和使用。为了实现这一目标,首先需要解决的是如何将 Python 脚本转换为 EXE 文件。在这个过程中,我选择了 Qt 作为 GUI 框架,因为之前对此并不熟悉,希望通过这个项目进一步学习和掌握 Qt 的基本用法。本文将详细介绍从 .py 脚本到 EXE 文件的整个过程,包括所需工具、具体步骤以及常见问题的解决方案。 ... [详细]
  • 利用ZFS和Gluster实现分布式存储系统的高效迁移与应用
    本文探讨了在Ubuntu 18.04系统中利用ZFS和Gluster文件系统实现分布式存储系统的高效迁移与应用。通过详细的技术分析和实践案例,展示了这两种文件系统在数据迁移、高可用性和性能优化方面的优势,为分布式存储系统的部署和管理提供了宝贵的参考。 ... [详细]
  • 在开发过程中,我最初也依赖于功能全面但操作繁琐的集成开发环境(IDE),如Borland Delphi 和 Microsoft Visual Studio。然而,随着对高效开发的追求,我逐渐转向了更加轻量级和灵活的工具组合。通过 CLIfe,我构建了一个高度定制化的开发环境,不仅提高了代码编写效率,还简化了项目管理流程。这一配置结合了多种强大的命令行工具和插件,使我在日常开发中能够更加得心应手。 ... [详细]
  • 基于 Bottle 框架构建的幽默应用 —— Python 实践 ... [详细]
  • Python与R语言在功能和应用场景上各有优势。尽管R语言在统计分析和数据可视化方面具有更强的专业性,但Python作为一种通用编程语言,适用于更广泛的领域,包括Web开发、自动化脚本和机器学习等。对于初学者而言,Python的学习曲线更为平缓,上手更加容易。此外,Python拥有庞大的社区支持和丰富的第三方库,使其在实际应用中更具灵活性和扩展性。 ... [详细]
  • Git命令基础应用指南
    本指南详细介绍了Git命令的基础应用,包括如何使用`git clone`从远程服务器克隆仓库(例如:`git clone [url/path/repository]`)以及如何克隆本地仓库(例如:`git clone [local/path/repository]`)。此外,还提供了常见的Git操作技巧,帮助开发者高效管理代码版本。 ... [详细]
  • 如何在Python中配置库并创建可视化对象:详细指南与实践步骤
    本文详细介绍了如何在Python中配置库并创建复杂的可视化对象。通过具体的实践步骤,读者将学会利用Python的强大功能来实现高度定制化的数据可视化,特别是在PowerBI环境中,Python能够显著提升可视化的灵活性和表现力。 ... [详细]
  • Amoeba 通过优化 MySQL 的读写分离功能显著提升了数据库性能。作为一款基于 MySQL 协议的代理工具,Amoeba 能够高效地处理应用程序的请求,并根据预设的规则将 SQL 请求智能地分配到不同的数据库实例,从而实现负载均衡和高可用性。该方案不仅提高了系统的并发处理能力,还有效减少了主数据库的负担,确保了数据的一致性和可靠性。 ... [详细]
  • 本文深入解析了Django框架中的MVT(Model-View-Template)设计模式,详细阐述了其工作原理和应用流程。通过分析URL模式、视图、模型和模板等关键组件,读者将全面理解Django应用程序的架构体系,掌握如何高效地构建和管理Web应用。 ... [详细]
  • 提升 Kubernetes 集群管理效率的七大专业工具
    Kubernetes 在云原生环境中的应用日益广泛,然而集群管理的复杂性也随之增加。为了提高管理效率,本文推荐了七款专业工具,这些工具不仅能够简化日常操作,还能提升系统的稳定性和安全性。从自动化部署到监控和故障排查,这些工具覆盖了集群管理的各个方面,帮助管理员更好地应对挑战。 ... [详细]
  • Java 模式原型在游戏服务器架构中的应用与优化 ... [详细]
author-avatar
zifei84589
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有