阐述合约量化/秒合约/永续合约/对冲交易/量化交易机器人系统开发(开发案例源码)

简介: (base) appledeMac-mini-3:Quantification apple$ pip install web3Collecting web3

(base) appledeMac-mini-3:Quantification apple$ pip install web3
Collecting web3
Using cached https://files.pythonhosted.org/packages/cd/e3/46db98888fc36137fe88c09a3066b408108da8e434c7608028981504200b/web3-5.7.0-py3-none-any.whl
Collecting eth-typing<3.0.0,>=2.0.0 (from web3)
Using cached https://files.pythonhosted.org/packages/bc/c4/c9c78597d0400e5bc1c3cdd031fdfa6629333a31591fcc5fa8519a7ea89c/eth_typing-2.2.1-py3-none-any.whl
Collecting eth-account<0.5.0,>=0.4.0 (from web3)
Using cached https://files.pythonhosted.org/packages/08/b2/b000adde76e780ba072d75e534ebfe9d44f0d68f429d3757ae9a85e9bd0b/eth_account-0.4.0-py3-none-any.whl
Requirement already satisfied: requests<3.0.0,>=2.16.0 in /Users/apple/.local/lib/python3.7/site-packages (from web3) (2.22.0)
Collecting hexbytes<1.0.0,>=0.1.0 (from web3)
设置环境变量

web3环境变量

export WEB3_INFURA_PROJECT_ID=获取到的项目ID
1
2
3
使用该web3.auto.infura模块连接到Infura节点。

(base) appledeMac-mini-3:Quantification apple$ python
Python 3.7.3 (default, Mar 27 2019, 16:54:48)
[Clang 4.0.1 (tags/RELEASE_401/final)] :: Anaconda, Inc. on darwin
Type "help", "copyright", "credits" or "license" for more information.

from web3.auto.infura import w3
w3.eth.blockNumber
9913260
1
2
3
4
5
6
7
w3,该实例现在将允许您与以太坊区块链进行交互

获取最新块的信息

w3.eth.getBlock('latest')
AttributeDict({'difficulty': 2261993248924870, 'extraData': HexBytes('0x505059452d65746865726d696e652d6575312d35'), 'gasLimit': 9966590, 'gasUsed': 9954427, 'hash': HexBytes('0x64a043f893abcd0a8e424c64b4104660033eba1f018371ca4d3bec72bf23cc46'), 'logsBloom': HexBytes('0x08c24c5800c2201e0000a221708670036280c5012ca8409c18340ff1536800a4800c07e13210ac07060081740f5a0bc963820400099425c1282ac87120a10e2c18008d84b02080010405e66d808f6424e4132f86c1464200024302049cc430d14802a8160a2061c0d200507001a1482a8841f2011c0c1e22300405b424a6402025802b4c14642806b321a6ab8b020407200108436aa280828008088020313964a6c41062000281049c080ad64a8811918d042845c04e00a0086a8488988008d10620244693880d28840210115ee041420b04f00184080801f80000a217402306e85139035090188407600630c18122380c81185385b105e6ed2d120f389058c0'), 'miner': '0xEA674fdDe714fd979de3EdF0F56AA9716B898ec8', 'mixHash': HexBytes('0xbe86772ffde4f025efae9dc14063d3a906f2f1ac675c8ce8e6a35725218e1d8a'), 'nonce': HexBytes('0xb18c36a40281d83a'), 'number': 9913288, 'parentHash': HexBytes('0xaa772d2645331b7d7e44286f398de7e0d3225afadd2fd54684e9d46ef71ac576'), 'receiptsRoot': HexBytes('0x7f0fa855dd4c7a9576d4ece8847dd87e82a77c25c9b733084e6f44f1940dbe4b'), 'sha3Uncles': HexBytes('0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347'), 'size': 34719, 'stateRoot': HexBytes('0xbfc8504b7f8ad32e0763c18efced31c0ce9976944ea1f80322108f020621a1a2'), 'timestamp': 1587438028
1
2
将要执行的许多典型操作都在w3.ethAPI中,web3对象通常通过连接到JSON-RPC服务器来提供与以太坊区块链进行交互的API。

1.web3连接到区块链的方式

from web3 import Web3,HTTPProvider,IPCProvider,WebsocketProvider
"""
HTTPProvider:用于连接基于http和https的JSON-RPC服务器:通过完整的URI找到服务器
w3=Web3(HTTPProvider('http://loaclhost:8545'))
Web3.IPCProvider 用于连接到基于ipc套接字的JSON-RPC服务器:通过文件系统路径找到IPC套接字
w3 = Web3(IPCProvider(参数))
Web3.WebsocketProvider 用于连接到基于ws和wss websocket的JSON-RPC服务器:通过完整的URI找到服务器
w3 = Web3(WebsocketProvider('ws://127.0.0.1:8546'))
"""

w3=Web3(HTTPProvider('http://loaclhost:8545'))
print(w3) # <web3.main.Web3 object at 0x105d42510

2.类型转化

Web3.toHex(primary = None,hexstr = None,text = None )

接受各种输入并以其十六进制表示形式返回。它遵循JSON-RPC规范

def to_hex(

primitive: Primitives = None, hexstr: HexStr = None, text: str = None

) -> HexStr:

print(Web3.toHex(10)) # 0xa

print(Web3.toHex(hexstr='0x00')) # 0x00

print(Web3.toHex(text='asimov')) # 0x6173696d6f76

Web3.toText(primary = None,hexstr = None,text = None )

接受各种输入并返回其等效字符串。文本被解码为UTF-8。

print(Web3.toText('0x1254')) #T
print(Web3.toText('0x6173696d6f76')) # asimov
print(Web3.toText(b'asim\x6f\x76')) # asimov
print(Web3.toText('6173696d6f76')) # asimov

Web3.toBytes(primary = None,hexstr = None,text = None )

接受各种输入并返回等效的字节数。文本被编码为UTF-8。

print(Web3.toBytes(0)) # b'\x00'
print(Web3.toBytes(b'sasas')) # b'sasas'
print(Web3.toBytes(hexstr='000F')) # b'\x00\x0f'
print(Web3.toBytes(hexstr='0x000F')) # b'\x00\x0f'
print(Web3.toBytes(text='asimov')) # b'asimov'

Web3.toInt(primary = None,hexstr = None,text = None )

接受各种输入并返回其等效的整数

print(Web3.toInt(0)) # 0
print(Web3.toInt(0x00f)) # 15
print(Web3.toInt(b'\x00\x0F')) # 15
print(Web3.toInt(hexstr='0x00F')) # 15

ValueError: invalid literal for int() with base 10: 'sa'

text: interpret as string of digits, like '12' => 12

print(Web3.toInt(text='10')) # 10

Web3.toJSON(obj) obj: Dict[Any, Any]

接受各种输入并返回等效的JSON。

print(Web3.toJSON({'asimov':'da'})) # {"asimov": "da"}

相关文章
|
2天前
|
人工智能 自动驾驶 安全
Cosmos:英伟达生成式世界基础模型平台,加速自动驾驶与机器人开发
Cosmos 是英伟达推出的生成式世界基础模型平台,旨在加速物理人工智能系统的发展,特别是在自动驾驶和机器人领域。
44 15
Cosmos:英伟达生成式世界基础模型平台,加速自动驾驶与机器人开发
|
1月前
|
编解码 网络协议 机器人
顶顶通电话机器人开发接口对接大语言模型之实时流TTS对接介绍
大语言模型通常流式返回文字,若一次性TTS会导致严重延迟。通过标点断句或流TTS可实现低延迟的文本到语音转换。本文介绍了电话机器人接口适配流TTS的原理及技术点,包括FreeSWITCH通过WebSocket流TTS放音,以及推流协议和旁路流对接的详细说明。
|
3月前
|
人工智能 安全 机器人
Dify开发Agent对接钉钉机器人
这篇文章详细讲解了如何在Dify平台上开发一个Agent并与钉钉机器人集成,实现自动化消息处理和响应功能。
259 0
|
5月前
|
机器学习/深度学习 自然语言处理 算法
聊天机器人开发的最佳实践:技术探索与案例分析
【8月更文挑战第22天】聊天机器人作为人工智能领域的重要应用之一,正逐步改变着人们的生活和工作方式。通过遵循最佳实践和技术探索,开发者可以开发出更加智能、高效、安全的聊天机器人产品。未来,随着技术的不断进步和应用场景的不断拓展,聊天机器人将在更多领域发挥重要作用。
|
2月前
|
人工智能 自然语言处理 算法
具身智能高校实训解决方案 ----从AI大模型+机器人到通用具身智能
在具身智能的发展历程中,AI 大模型的出现成为了关键的推动力量。高校作为培养未来科技人才的摇篮,需要紧跟这一前沿趋势,开展具身智能实训课程。通过将 AI 大模型与具备 3D 视觉的机器人相结合,为学生搭建一个实践平台。
212 64
|
17天前
|
机器学习/深度学习 人工智能 算法
人工智能与机器人的结合:智能化世界的未来
人工智能与机器人的结合:智能化世界的未来
120 32
|
23天前
|
人工智能 自然语言处理 机器人
机器人迈向ChatGPT时刻!清华团队首次发现具身智能Scaling Laws
清华大学研究团队在机器人操作领域发现了数据规模定律,通过大规模数据训练,机器人策略的泛化性能显著提升。研究揭示了环境和对象多样性的重要性,提出了高效的數據收集策略,使机器人在新环境中成功率达到约90%。这一发现有望推动机器人技术的发展,实现更广泛的应用。
75 26
|
2月前
|
算法 机器人 语音技术
由通义千问驱动的人形机器人具身智能Multi-Agent系统
申昊科技人形机器人小昊,集成通义千问多模态大模型的具身智能系统,旨在讲解销售、迎宾表演等场景。机器人通过语音、动作等方式与用户互动,利用云端大语言模型处理自然语言,结合视觉、听觉等多模态感知技术,实现流畅的人机对话、目标追踪、展厅讲解等功能。
257 4
由通义千问驱动的人形机器人具身智能Multi-Agent系统
|
2月前
|
自然语言处理 算法 机器人
智能电话销售机器人源码搭建部署系统电话机器人源码
智能电话销售机器人源码搭建部署系统电话机器人源码
34 4
|
2月前
|
机器学习/深度学习 传感器 算法
智能机器人在工业自动化中的应用与前景###
本文探讨了智能机器人在工业自动化领域的最新应用,包括其在制造业中的集成、操作灵活性和成本效益等方面的优势。通过分析当前技术趋势和案例研究,预测了智能机器人未来的发展方向及其对工业生产模式的潜在影响。 ###
186 9

热门文章

最新文章