合約量化開發上線版,合約量化系統開發技術邏輯及詳細方案,合約量化原始碼
(base)appledeMac-mini-3:Quantification apple$pip install web3
Collecting web3
Using cached
Collecting eth-typing<3.0.0,>=2.0.0(from web3)
Using cached
Collecting eth-account<0.5.0,>=0.4.0(from web3)
Using cached
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
使用該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
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
將要執行的許多典型操作都在w3.ethAPI中,web3物件通常透過連線到JSON-RPC伺服器來提供與以太坊區塊鏈進行互動的API。
1.web3連線到區塊鏈的方式
from web3 import Web3,HTTPProvider,IPCProvider,WebsocketProvider
"""
HTTPProvider:用於連線基於http和https的JSON-RPC伺服器:透過完整的URI找到伺服器
w3=Web3(HTTPProvider('))
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('))
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'asimx6fx76'))#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'x00x0f'
print(Web3.toBytes(hexstr='0x000F'))#b'x00x0f'
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'x00x0F'))#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"}
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69956839/viewspace-2936035/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 合約量化系統丨合約量化系統開發策略及詳情丨合約量化開發原始碼邏輯原始碼
- 合約量化系統丨合約量化開發原始碼邏輯原始碼
- 量化合約丨合約量化開發原始碼版,合約量化丨量化合約系統開發(成熟案例)及詳細策略原始碼
- 合約量化/量化合約開發原始碼功能,量化合約/合約量化系統開發(開發策略)及案例詳情原始碼
- 合約量化系統開發(詳細方案)丨合約量化系統開發(Python原始碼)Python原始碼
- 量化合約系統開發(原始碼)合約量化系統開發(技術方案)原始碼
- 合約量化開發(案例版)丨合約量化系統開發(技術說明)丨合約量化系統原始碼規則原始碼
- 量化合約/合約量化/合約跟單系統開發(策略及詳細)案例原始碼原始碼
- 量化合約系統開發丨合約量化系統開發原始碼丨合約量化系統開發技術Demo原始碼
- 合約量化系統開發技術詳細及原始碼原始碼
- 詳細分析:量化合約系統開發邏輯(Demo演示)合約量化原始碼系統開發功能方案原始碼
- 量化合約系統開發(原始碼)合約量化系統開發(技術)原始碼
- 合約量化系統開發原始碼部署(功能版)量化合約系統開發技術流程詳細原始碼
- 量化合約系統開發(專案方案),合約量化系統開發(原始碼技術)原始碼
- 闡述量化合約系統開發技術方案丨合約量化系統開發邏輯分析
- Python量化合約系統開發技術,合約量化原始碼系統開發技術方案Python原始碼
- 合約量化系統開發(成熟及策略)丨合約量化開發(原始碼專案)原始碼
- 永續合約/秒合約/合約量化/量化合約系統開發詳情/原始碼功能/成熟案例原始碼
- 量化合約原始碼開發技術/合約量化系統開發技術原始碼搭建程式原始碼
- 量化跟單/秒合約/原始碼系統開發/永續合約量化交易開發技術分析原始碼
- 量化合約系統開發(方案模式)|合約量化系統開發(原始碼搭建)模式原始碼
- 量化合約/合約量化/秒合約系統開發/永續合約/合約跟單
- 量化交易/量化合約/合約量化/秒合約/永續合約/合約跟單/交易所繫統開發(策略及原始碼)原始碼
- 量化合約策略系統開發/合約量化系統開發技術方案講解(成熟原始碼)原始碼
- SET智慧合約量化系統開發|秒合約量化開發搭建
- 數字貨幣交易所/合約跟單/秒合約/永續合約/量化合約/合約量化系統開發詳細策略及原始碼原始碼
- 合約量化系統開發(開發策略及詳細)丨量化合約系統開發(開發原始碼及說明)原始碼
- 量化合約系統開發技術案例(原始碼)丨合約量化系統開發解決方案(搭建)原始碼
- 量化合約及合約量化機器人系統開發(開發策略)丨量化合約原始碼部署機器人原始碼
- 量化合約/合約量化對沖搬磚系統開發詳細及策略
- 【現貨量化跟單】合約量化策略開發/秒合約系統策略開發(技術詳情)
- 現貨量化/原始碼/秒合約/量化跟單交易系統合約開發python技術原始碼Python
- 合約量化系統開發(Python語言)丨合約量化開發(原始碼專案)Python原始碼
- 量化合約開發需求版丨量化合約系統開發(開發方案及邏輯)丨量化合約原始碼及功能分析原始碼
- 量化合約開發程式丨量化合約系統開發(方案及邏輯)丨量化合約成品原始碼部署原始碼
- 合約跟單開發案例,合約量化跟單系統開發技術詳細流程
- 合約量化系統開發(原始碼搭建)原始碼
- 量化合約原始碼搭建開發案例丨合約量化技術開發成熟Demo原始碼