rippled提供3中api接口:websocket 协议、jsonrpc协议、和本地命令行调用。
具体接口内容可以看官网说明:

https://xrpl.org/account_info.html

下面是根据协议和接口文档做的python测试效果

01 websocket协议

#!/usr/bin/python3
# coding: utf-8# rippledWebSocket.py# 使用ws/wss接口demo
# https://xrpl.org/account_info.html
# 需要安装websocket-clinet
#pip install websocket-clientfrom websocket import create_connection
import json# 测试xrpapi调用
def testGetInfo(json_params, ws_url, json_type = True):ws = create_connection(ws_url)if json_type:ws.send(json.dumps(json_params))else:ws.send(json_params)result =  ws.recv()print(str(result))# 本地运行的rippled,采用git上面的默认配置,ws协议端口6006
wsurl = "ws://127.0.0.1:6006/"
# json字符串
params_test01 = '{"id": 14, "command": "ledger", "ledger_index": "validated", "full": false, "accounts": false, "transactions": false, "expand": false, "owner_funds": false}'# json对象
params_test02 = {"id": 2,"command": "account_info","account": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59","strict": True,"ledger_index": "validated"
}# account_channels
account_channels = {"id": 1,"command": "account_channels","account": "rN7n7otQDd6FczFgLdSqtcsAUxDkw6fzRH","destination_account": "rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn","ledger_index": "validated"
}# account_currencies
account_currencies = {"command": "account_currencies","account": "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59","strict": True,"ledger_index": "validated"
}if __name__ == "__main__":print("\naccount_info")testGetInfo(params_test01, wsurl, False)print("\nledger")testGetInfo(params_test02, wsurl)# account_channelsprint("\naccount_channels")testGetInfo(account_channels, wsurl)# account_currenciesprint("\naccount_currencies")testGetInfo(account_currencies, wsurl)

运行结果

account_info
{"id":14,"result":{"ledger":{"accepted":true,"account_hash":"4D6FA0EAD351DDE454AACB038A1F574AE137FFE3405316FEA59C802BA7BB9B15","close_flags":0,"close_time":667187590,"close_time_human":"2021-Feb-21 01:53:10.0000000 UTC","close_time_resolution":10,"closed":true,"hash":"EF0C3418EE38820D2C590C9FD6CF6EA60B07DC74BFCF92DAEC48E94A6AC40CB4","ledger_hash":"EF0C3418EE38820D2C590C9FD6CF6EA60B07DC74BFCF92DAEC48E94A6AC40CB4","ledger_index":"61722367","parent_close_time":667187581,"parent_hash":"310E42AC654CD22E5184056238DE9DADFB8D612D23E4FF9C80D0C713368C15A8","seqNum":"61722367","totalCoins":"99990700724043204","total_coins":"99990700724043204","transaction_hash":"E2D2E2228935EF283AE8A94A2A5234246E897B9EABAA80A395B4D7805CCAF2F2"},"ledger_hash":"EF0C3418EE38820D2C590C9FD6CF6EA60B07DC74BFCF92DAEC48E94A6AC40CB4","ledger_index":61722367,"validated":true},"status":"success","type":"response"}ledger
{"id":2,"result":{"account_data":{"Account":"r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59","Balance":"13315612685","Flags":0,"LedgerEntryType":"AccountRoot","OwnerCount":17,"PreviousTxnID":"D2FA1C28EF87E53029327AA832C378674B3ACA0551CF9EA1F65BB8CA34913FAB","PreviousTxnLgrSeq":55180009,"Sequence":1406,"index":"4F83A2CF7E70F77F79A307E6A472BFC2585B806A70833CCD1C26105BAE0D6E05"},"ledger_hash":"EF0C3418EE38820D2C590C9FD6CF6EA60B07DC74BFCF92DAEC48E94A6AC40CB4","ledger_index":61722367,"validated":true},"status":"success","type":"response"}account_channels
{"id":1,"result":{"account":"rN7n7otQDd6FczFgLdSqtcsAUxDkw6fzRH","channels":[],"ledger_hash":"EF0C3418EE38820D2C590C9FD6CF6EA60B07DC74BFCF92DAEC48E94A6AC40CB4","ledger_index":61722367,"validated":true},"status":"success","type":"response"}account_currencies
{"result":{"ledger_hash":"EF0C3418EE38820D2C590C9FD6CF6EA60B07DC74BFCF92DAEC48E94A6AC40CB4","ledger_index":61722367,"receive_currencies":["BTC","CNY","DYM","EUR","JOE","MXN","USD","015841551A748AD2C1F76FF6ECB0CCCD00000000"],"send_currencies":["ASP","BTC","CHF","CNY","DYM","EUR","JOE","JPY","MXN","USD"],"validated":true},"status":"success","type":"response"}

02 jsonrpc协议

#!/usr/bin/python
# coding: utf-8# rippledJsonRPC.py
# 使用rippled的默认配置,http协议端口好默认配置是5005import requests
session = requests.Session()# 使用jsonrpc接口demo
# https://xrpl.org/account_info.html
method = 'account_info'
params = [{"account": "rG1QQv2nh2gr7RCZ1P8YYcBUKCCN633jCn","strict": True,"ledger_index": "current","queue": True}]'''
payload= {"jsonrpc":"2.0","method":method,"params":params,"id":2}
'''
payload= {"jsonrpc":"2.0","method":method,"params":params}
headers = {'Content-type': 'application/json'}
response = session.post('http://127.0.0.1:5005', json=payload, headers=headers)print('\nraw json response: {}'.format(response.json()))print('\nnetwork id: {}'.format(response.json()['result']))

运行效果

raw json response: {'result': {'account_data': {'Account': 'rG1QQv2nh2gr7RCZ1P8YYcBUKCCN633jCn', 'Balance': '9976', 'Flags': 1114112, 'LedgerEntryType': 'AccountRoot', 'MessageKey': '0200000000000000000000000038901D3A772963CF12FF7C0E010FE350B6CCC45D', 'OwnerCount': 0, 'PreviousTxnID': '85BC80F7FECB57FD074BBA54517C469B4BC242AEF894A8ED272798AA5394F5CC', 'PreviousTxnLgrSeq': 60003347, 'RegularKey': 'rhLkGGNZdjSpnHJw4XAFw1Jy7PD8TqxoET', 'Sequence': 192221, 'index': '92FA6A9FC8EA6018D5D16532D7795C91BFB0831355BDFDA177E86C8BF997985F'}, 'ledger_current_index': 61725000, 'queue_data': {'txn_count': 0}, 'status': 'success', 'validated': False}}network id: {'account_data': {'Account': 'rG1QQv2nh2gr7RCZ1P8YYcBUKCCN633jCn', 'Balance': '9976', 'Flags': 1114112, 'LedgerEntryType': 'AccountRoot', 'MessageKey': '0200000000000000000000000038901D3A772963CF12FF7C0E010FE350B6CCC45D', 'OwnerCount': 0, 'PreviousTxnID': '85BC80F7FECB57FD074BBA54517C469B4BC242AEF894A8ED272798AA5394F5CC', 'PreviousTxnLgrSeq': 60003347, 'RegularKey': 'rhLkGGNZdjSpnHJw4XAFw1Jy7PD8TqxoET', 'Sequence': 192221, 'index': '92FA6A9FC8EA6018D5D16532D7795C91BFB0831355BDFDA177E86C8BF997985F'}, 'ledger_current_index': 61725000, 'queue_data': {'txn_count': 0}, 'status': 'success', 'validated': False}

03 命令行运行效果

rippled --conf ..\etc\rippled.cfg account_info rG1QQv2nh2gr7RCZ1P8YYcBUKCCN633jCn validated strict

D:\git\rippled\buildlib\install\rippled\bin>rippled --conf ..\etc\rippled.cfg account_info rG1QQv2nh2gr7RCZ1P8YYcBUKCCN633jCn validated strict
Loading: "..\etc\rippled.cfg"
2021-Feb-21 01:57:47.9259447 UTC HTTPClient:NFO Connecting to 127.0.0.1:5005{"result" : {"account_data" : {"Account" : "rG1QQv2nh2gr7RCZ1P8YYcBUKCCN633jCn","Balance" : "9976","Flags" : 1114112,"LedgerEntryType" : "AccountRoot","MessageKey" : "0200000000000000000000000038901D3A772963CF12FF7C0E010FE350B6CCC45D","OwnerCount" : 0,"PreviousTxnID" : "85BC80F7FECB57FD074BBA54517C469B4BC242AEF894A8ED272798AA5394F5CC","PreviousTxnLgrSeq" : 60003347,"RegularKey" : "rhLkGGNZdjSpnHJw4XAFw1Jy7PD8TqxoET","Sequence" : 192221,"index" : "92FA6A9FC8EA6018D5D16532D7795C91BFB0831355BDFDA177E86C8BF997985F"},"ledger_hash" : "830FD444D7FC5453017AC67913EE6E825B6F3227ACBDA9C587E5E822534ECC73","ledger_index" : 61722438,"status" : "success","validated" : true}
}

rippled 02 rippled api 协议使用相关推荐

  1. 个人微信开发API协议接口

    个人微信开发API协议接口对比 本文对比目前市面上用于微信个人号的所有API协议,主要包括 web版微信协议, ipad协议 , pc微信协议/mac协议 , hook pc版微信 , hook 安卓 ...

  2. 个人微信开发API协议

    安卓微信的api,个人微信开发API协议,微信 ipad sdk,微信ipad协议,微信web版接口api,微信网页版接口,微信电脑版sdk,微信开发sdk,微信开发API,微信协议,微信接口文档sd ...

  3. 个人微信开发API协议接口大全

    个人微信开发API协议接口大全 目前市面上用于微信个人号的所有API协议,主要包括 web版微信协议, ipad协议 , pc微信协议/mac协议 , hook pc版微信 , hook 安卓或者io ...

  4. 微信开发接口API协议

    微信开发接口API协议,出自冬天不穿秋裤,天冷也要风度的程序猿之手,必属精品! 一.网络通讯协议 如上图,采用 datalength+databytes 的自定义长度的协议,其中: datalengt ...

  5. 调用个人微信API协议接口收发消息,发朋友圈

    调用个人微信API协议接口收发消息,发朋友圈 java调用个人微信的API接口收发消息 /** * 接受微信好友发来聊天消息 * @author wechatno:tangjinjinwx * @pa ...

  6. sdk与开放API协议支持二次开发的摄像头

    研发了一款提供SDK与开放API协议的摄像头  可以很方便 简单,轻量,快速整合到x86,android,iOS,ARM等平台的应用系统 OpCam能做什么 提供sdk与开放api协议 实时视频音频处 ...

  7. 02硬盘接口及协议及存储介绍

    文章目录 硬盘接口类型 一. IDE磁盘 二. SATA磁盘 三.SCSI特性 四.SAS特性 五.FC 六.SSD 通讯协议 一.SCSI 二.FC(光纤通道) 三.iSCSI 四.iSCSI和FC ...

  8. Android反编译及破解API协议 记录1

    时间:2018-07-31 地点:长沙 人物:lieyunye 起因: 经常逛某网站,但是它不提供在线观看或者下载功能,而且发现它只有Android版本的APP,体验也非常的糟糕,于是就想做一个iOS ...

  9. whatsapp群发代发api协议

    全球外贸定制.企鹅1904573552 whatsapp精准获客,whatsapp群发,代发.可测试,价格便宜. 讯息内容违反WhatsApp商业政策:WhatsApp不允许商家要求用户提供敏感识别资 ...

  10. rippled win10 vs2019编译 rippled 1.6.0

    win10 vs2019 编译rippled 1.6.0 01 必备资源 rippled官方提高的编译文档一直都是vs2017的 boost1.70.0的说明.最近抽空尝试win10下面 使用 vs2 ...

最新文章

  1. RMAN 与control文件和spfile文件的备份
  2. memcached failed to listen问题解决以及 结束daemon的方法
  3. C3P0-数据库连接池解读
  4. OOP 中的 方法调用、接口、鸭式辩型、访问者模式
  5. 修改MySQL的默认数据存储引擎
  6. 金字塔c_C/C++编程笔记:C语言入门题之正倒金字塔,正反三角形代码详解
  7. Effective Python: bytes, str, unicode
  8. java 开源客服系统_一个开源的智能客服系统
  9. 如何使用计算机上合并计算方法,Excel2019中合并计算的使用方法
  10. 一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。
  11. 一文让你读懂什么是智慧数字经营
  12. (BAT批处理)批量文件夹重命名,要求是在原文件夹名前加上英文字母前缀aa
  13. 福施福、爱乐维、玛特纳各成分比较(已换算成同一单位)
  14. JAVA回文数的判断
  15. 04-原始模型模式Quarkus实现
  16. 密室逃脱2碧绿色房间攻略
  17. 时间序列数据的截尾和拖尾分析(Python实现)
  18. 百度(baidu)、bing、sogo、360关键字 - 图片批量下载
  19. 论文翻译——Multi-Constrained Graph Pattern Matching in Large-Scale Contextual Social Graphs
  20. 查询python答案的app_智慧职教APPPython程序设计期末考试查题公众号答案

热门文章

  1. 搭建GitHub免费个人网站(详细教程)
  2. 抓包常用工具使用简介
  3. java encode_java的web开发中URLEncoder.encode方法
  4. swoole 连接池php fpm,【转】swoole4实现数据库连接池
  5. Elasticsearch集群规划及节点角色规划醉佳实践
  6. 创建自己的个人网站(一)
  7. Python实现分卷压缩
  8. APP内跳转QQ和陌生人聊天实现客服功能
  9. win8.1装载windows和linux双系统
  10. JQuery插件库和17素材——免费下载