风险提示:理性看待区块链,提高风险意识!
技术指南 | 用Python 支付接收比特币中文教程(二)
首页 > 币界资讯 > 区块链新闻 2019-03-25 18:00:53
币界网报道:

在 上一篇教程中, 我们创建了自动回复消息的机器人,当用户发送消息"Hello,World!"时,机器人会自动回复同一条消息!

第二课: 机器人接受比特币并立即退还用户

按本篇教程后学习后完成后,你的机器人将会接受用户发送过来的加密货币,然后立即转回用户。 完整代码如下:
app.py
from mixin_ws_api import MIXIN_WS_API
from mixin_api import MIXIN_API
import mixin_config

import json import time from io import BytesIO import base64 import gzip

try: import thread except ImportError: import _thread as thread

def on_message(ws, message): inbuffer = BytesIO(message)

f = gzip.GzipFile(mode="rb", fileobj=inbuffer) rdata_injson = f.read() rdata_obj = json.loads(rdata_injson) print("-------json object begin---------") print(rdata_obj) print("-------json object end---------") action = rdata_obj["action"]

if rdata_obj["data"] is not None: print("data in message:",rdata_obj["data"])

if rdata_obj["data"] is not None and rdata_obj["data"]["category"] is not None: print(rdata_obj["data"]["category"])

if action == "CREATE_MESSAGE":

data = rdata_obj["data"] msgid = data["message_id"] typeindata = data["type"] categoryindata = data["category"] userId = data["user_id"] conversationId = data["conversation_id"] dataindata = data["data"] created_at = data["created_at"] updated_at = data["updated_at"]

realData = base64.b64decode(dataindata)

MIXIN_WS_API.replayMessage(ws, msgid)

print('userId', userId) print("created_at",created_at)

if categoryindata == "PLAIN_TEXT": realData = realData.decode('utf-8') print("dataindata",realData) MIXIN_WS_API.sendUserText(ws, conversationId, userId, realData) elif categoryindata == "SYSTEM_ACCOUNT_SNAPSHOT": rdJs = json.loads(realData) if ( float(rdJs["amount"]) > 0 ): mixin_api.transferTo(userId, rdJs["asset_id"], rdJs["amount"], "")

if __name__ == "__main__":

mixin_api = MIXIN_API(mixin_config)

mixin_ws = MIXIN_WS_API(on_message=on_message)

mixin_ws.run()

复制代码

Hello Bitcoin!

在项目目录下,执行 python app.py
cd mixin_labs-python-bot
source ./bin/activate
(mixin_labs-python-bot) wenewzha:mixin_labs-python-bot wenewzhang$ python app.py
ws open
-------json object begin---------
{'id': 'fd6ce766-331a-11e9-92a9-20c9d08850cd', 'action': 'LIST_PENDING_MESSAGES'}
-------json object end---------
复制代码
开发者可以通过消息面板,给机器人转比特币,当机器人收到比特币后,马上返还给用户!

<figure><figcaption></figcaption></figure>

事实上,用户可以发送任意的币种给机器人,它都能马上返还!

<figure><figcaption></figcaption></figure>

源代码解释

elif categoryindata == "SYSTEM_ACCOUNT_SNAPSHOT":
    rdJs = json.loads(realData)
    if ( float(rdJs["amount"]) > 0 ):
        mixin_api.transferTo(userId, rdJs["asset_id"], rdJs["amount"], "")
复制代码
如果机器人收到币,rdJs["amount"] 大于零;如果机器人支付币给用户,接收到的消息是一样的,唯一不同的是,rdJs["amount"]是一个负数. 最后一步,调用SDK的 mixin_api.transferTo 将币返还用户!

高级用法

coming soon!

上一篇: 以太坊钱包开发实战:MetaMask 钱包介绍
下一篇: 技术指南 | 用Python 支付接收比特币中文教程(一)
推荐专栏
Boss Wallet Web3 Econom Pass
专注币圈最新资讯
通俗浅显地聊透Web3大事小情
读懂区块链生态与未来,尽在币界网!
热门币种
更多
币种
美元价格
24H涨跌幅
BTC比特币
60,963.61 USDT
¥435,103.38
-2.72%
ETH以太坊
3,368.69 USDT
¥24,042.67
-0.3%
BNB币安币
570.68 USDT
¥4,073.00
-0.28%
USDT泰达币
1.02 USDT
¥7.25
-0.19%
SOL
135.96 USDT
¥970.36
+7.66%
USDC
1.00 USDT
¥7.15
-0.01%
TON
7.59 USDT
¥54.14
+4.55%
XRP瑞波币
0.47720 USDT
¥3.41
+0.48%
DOGE狗狗币
0.12210 USDT
¥0.87140
+2.43%
ADA艾达币
0.39050 USDT
¥2.79
+3.88%
热搜币种
更多
币种
美元价格
24H涨跌幅
比特币
60975.18 USDT
¥442,838.34
-1.09%
Solana
141.76 USDT
¥1,029.55
-3.96%
Curve
0.2922 USDT
¥2.12
+1.32%
Beta Finance
0.079695 USDT
¥0.58
-16.02%
Filecoin
4.496 USDT
¥32.65
+0.32%
狗狗币
0.1248 USDT
¥0.91
+0.97%
柚子
0.5934 USDT
¥4.31
+1.8%
Conflux
0.1668 USDT
¥1.21
-0.54%
Shiba Inu
1.711E-5 USDT
¥0.00
-1.84%
Terra Classic
8.32E-5 USDT
¥0.00
+0.34%
dYdX
1.4071 USDT
¥10.22
+0.19%
波场
0.1233 USDT
¥0.90
+0.82%
最新快讯
更多
Coinbase报告:由于多重催化剂,Solana本周表现优于其余主要加密货币
2024-06-28 23:53:58
BitwiseCIO:加密市场面临短期逆风因素的打压,但存在多个长期且巨大的顺风因素
2024-06-28 23:47:52
2024上半年SolanaTPS均值约为2200
2024-06-28 23:38:46
某MEV机器人在单笔交易中花费49枚ETH交易费
2024-06-28 23:36:26
Bitfinex:美国总统选举辩论后比特币表现出不确定性和波动性
2024-06-28 23:35:26
币界网最新行情晚报:BCH比特现金价格达390.6美元/枚,日内跌幅-3.00%
2024-06-28 23:34:01
分析:通胀降温和股市上涨导致比特币价格停滞
2024-06-28 23:33:35
下载币界网APP