# 快速入门

# MOV-MMDK介绍

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

# MOV-MMDK安装

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

# 磁力合约做市商的接入流程

# 第一步: 生成私钥并获取账户地址

在命令行中执行下面代码

python3
from mov_sdk.mov_api import MovApi
api = MovApi("")
print(api.get_new_secret_key()) #账户私钥
print(api.vapor_address) #账户地址
1
2
3
4
5

# 第二步: 修改配置参数

修改mov-mmdk/example/config.py的配置参数,账户配置填入第一步生成的账户私钥

account_config = {
    "private_key":"your private key",
}
1
2
3

# 第三步: 使用Bycoin钱包向账户地址转入资金

使用Bycoin钱包参照下面图片演示转入资金,充值地址填入第一步生成的账户地址

# 第四步: 运行做市程序

运行MOV-MMDK提供的做市商程序mov_maker_strategy_demo.py,你也可以运行自己实现的做市商程序

python3 mov_maker_strategy_demo.py
1

# 闪电兑换做市商的接入流程

闪电兑换做市商需要用到Dealer程序和账户GUID,如有需要请联系MOV开发者获取

# 第一步: 生成私钥并获取账户地址

参考磁力合约做市商的接入流程

# 第二步: 修改配置参数,在本地运行Dealer程序

Dealer的配置文件dealer.conf如下:

{
    "port": 1025,
    "bycoin_url": "https://bcapi.movapi.com",
    "mnemonic": "您的助记词good good good good good good good good good good good good",
    "guid": "账户GUID",
    "flash_swap_url": "ws://flashswap.bystack.com/api/v1/dealer",
    "log_level": "debug"
}
1
2
3
4
5
6
7
8

然后在命令行运行

nohup ./dealer dealer.conf > run_btm_eth_deal.log
1

# 第三步: 使用MOV-MMDK提供的API做市

MOV-MMDK目前没有提供闪电兑换做市的程序,用户可以调用MOV-MMDK提供的API自行实现。

# MOV-MMDK磁力兑换API

在代码中添加依赖,创建MovApi对象就可以调用MOV-MMDK提供的API参与磁力兑换做市商

    from mov_sdk.mov_api import MovApi

    api = MovApi(secret_key="")
    api.get_exchange_info()
    ...
1
2
3
4
5

# 获取市场交易对信息

函数说明

get_exchange_info()
1

# 查询当前挂单

函数说明

query_open_orders(symbol)
1

参数说明

参数名 类型 必需 默认值 参数描述
symbol String 交易对

# 批量查询订单

函数说明

query_list_orders(order_id_list)
1

参数说明

参数名 类型 必需 默认值 参数描述
order_id_list Array 订单ID数组

# 取消订单

函数说明

cancel_order(order_id)
1

参数说明

参数名 类型 必需 默认值 参数描述
order_id Int 订单ID

# 获取市场深度

函数说明

get_depth(symbol,limit)
1

参数说明

参数名 类型 必需 默认值 参数描述
symbol String 交易对
limit Int 30 深度层级

# 发送订单

函数说明

send_order(symbol, side, price, amount)
1

参数说明

参数名 类型 必需 默认值 参数描述
symbol String 交易对
side String 买单/卖单
price String 挂单价格
amount String 挂单数量

# 查询账户余额

函数说明

query_balance()
1

# MOV-MMDK闪电兑换API

在代码中添加依赖,创建FlashApi对象就可以调用MOV-MMDK提供的API参与闪电兑换做市商

    from mov_sdk.mov_api import FlashApi

    client = FlashApi("", _local_url=FLASH_LOCAL_URL)
    client.get_depth()
    ...
1
2
3
4
5

# 获取市场交易对信息

函数说明

get_exchange_info()
1

# 获取市场深度

函数说明

   get_depth(symbol)
1

参数说明

参数名 类型 必需 默认值 参数描述
symbol String 交易对

# 发送订单

函数说明

send_order(symbol, side, price, volume)
1

参数说明

参数名 类型 必需 默认值 参数描述
symbol String 交易对
side String 买单/卖单
price String 挂单价格
amount String 挂单数量

# 取消订单

函数说明

cancel_order(symbol,side)
1

参数说明

参数名 类型 必需 默认值 参数描述
symbol String 交易对
side String 买单/卖单

# 查询账户余额

函数说明

query_balance()
1

# MOV-MMDK三方托管做市

在代码中添加依赖,使用MovApi对象就可以调用MOV-MMDK提供的API参与三方托管做市

from mov_sdk.mov_api import MovApi
# To use delegation submit
api = MovApi(secret_key="Your secretkey", network="mainnet", third_address="Your deletegation address", third_public_key="Your delegation public key") 
print(api.get_exchange_info())
print(api.query_open_orders("BTM/USDT"))
print(api.query_list_orders([710941]))
print(api.cancel_order(710924))
print(api.get_depth("BTC/USDT", 5))
print(api.send_order(symbol="BTC/USDT", side="buy", price=6100, volume=0.01))
print(api.query_balance())
1
2
3
4
5
6
7
8
9
10

参数说明

参数名 类型 必需 默认值 参数描述
secret_key String 策略方私钥
network String 主网/测试网
third_address String 资金方提供的存币地址
third_public_key String 策略方与验证服务器共同生成的公钥
上次更新: 5/15/2020, 6:24:47 PM