自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

用 Python 監(jiān)控 Uniswap 加密貨幣價格

開發(fā) 后端
Uniswap旨在幫助解決去中心化交易所的流動性問題,是一種去中心化的交易所。

 [[403663]]

Uniswap是一個基于以太坊的交易所協(xié)議,允許任何人交換ERC20代幣。普遍上講,交易代幣要求買賣雙方創(chuàng)造委托訂單,而Uniswap則是自動創(chuàng)建一個交易市場。Uniswap旨在幫助解決去中心化交易所的流動性問題,是一種去中心化的交易所。

在過去的幾個月里,我在 Uniswap 上新上市的幣上觀察到了一個非常有趣的規(guī)律,尤其是那些被炒作的幣種。在新幣上市后的前 10-15 分鐘內,價格上漲非常高,不過在接下來的幾個小時內大幅下跌,然后在接下來的 24 小時內上漲超過 50%。不要以為你可以在價格低的時候買進,然后10分鐘后高價賣出。因為以太坊網(wǎng)絡擁堵的原因,這段時間的gas費用非常高(數(shù)百美元)。

 

Superfarm 是之前比較受歡迎的一個新項目,在 Telegram 上擁有超過 86,000 名成員,在 Twitter 上擁有超過 88,000 名關注者。所以我決定來測試一下這個規(guī)律,或者說我決定進行推測。在最初的幾分鐘里,價格飆升至 2 美元左右,然后跌至 1 美元左右,因此我決定投資 0.98 eth(按當前價格計算約 1.5K 美元)。

第二天,如果價格要上漲,我必須觀察價格才能退出我在 Superfarm 代幣上的頭寸。每分鐘檢查價格真的是在浪費時間,所以我決定制作一個腳本來監(jiān)控價格,如果價格達到某個目標,它會通知我。

為了查看 Uniswap 的價格,我使用了 uniswap-python 庫。 

  1. !pip install uniswap-python 

如果你想知道我為什么使用它,pip 前面的感嘆號是因為我已經(jīng)在 Jupyter Notebook 中進行了編碼,并且我已經(jīng)從 Notebook 單元安裝了所有必要的 python 庫。 

  1. eth = "0x0000000000000000000000000000000000000000"  
  2. dai = "0x6B175474E89094C44Da98b954EedeAC495271d0F"  
  3. sup = "0xe53EC727dbDEB9E2d5456c3be40cFF031AB40A55"  
  4. address = "0x0000000000000000000000000000000000000000"  #  if you're not making transactions  
  5. private_key = None  # if you're not going to make transactions  
  6. provider = <the url of your provider> # if you use Infura   
  7.  will be   
  8.  like 'https://mainnet.infura.io/v3/########'  
  9. uniswap_wrapper = Uniswap(address, private_key, version=2providerprovider=provider)  # use Uniswap v2 

第一個變量包含我們想要在 Uniswap 上獲得加密貨幣的以太坊地址校驗和。

要獲取加密貨幣的以太坊地址校驗和,您可以使用 Coingecko 首先獲取合約地址:

然后你就可以使用下面網(wǎng)站輕松從合約地址中獲取以太坊地址校驗和。

https://ethsum.netlify.app/

如果您不太熟悉什么是以太坊地址校驗和,您可以將其視為一個標識符,基于這個加密貨幣標識符 Uniswap 將能夠為您提供價格。

provider(web3 provider)是一個運行 geth 或 parity 節(jié)點的網(wǎng)站,它與以太坊網(wǎng)絡交互。要獲得provider,您可以使用 Infura。如果您使用 Infura,必須注冊然后創(chuàng)建一個新項目,在設置選項卡上您可以看到提供商 URL:

要獲得以 eth 表示的 Superfarm 幣價格: 

  1. sup_price = uniswap_wrapper.get_token_eth_input_price(sup, 10 ** 18)  
  2. print(sup_price / 10**18)  
  3. # 0.000901625376604887 

10 ** 18代表Superfarm 幣的數(shù)量,它必須是一個整數(shù)值,如果我們選擇小數(shù)量值將是0(由于近似),所以我們需要一個大數(shù)量。我們將獲得 10 ** 18個 Superfarm 幣的 eth 價格。

如果我們想以美元計算 1 個 Superfarm 幣的價格,我們可以使用 Dai 穩(wěn)定幣(1 Dai ~= 1 美元)。我們可以請求相同數(shù)量的 Superfarm 和 Dai 幣,然后分割它們。 

  1. def get_sup_price_in_dollars():  
  2.     sup_price = uniswap_wrapper.get_token_eth_input_price(sup, 10 ** 18)  
  3.     dai_price = uniswap_wrapper.get_token_eth_input_price(dai, 10 ** 18)  
  4.     return round(sup_price / dai_price, 4)  
  5. print(get_sup_price_in_dollars())  
  6. # 1.357 --> the price in dollars for 1 Superfarm coin 

為了在我的桌面上推送通知,我使用了plyer庫: 

  1. !pip install plyer 

這是監(jiān)控 Superfarm 價格和自前一個值以來的變化的函數(shù): 

  1. from plyer import notification  
  2. def notify(price: int, new_price: int):  
  3.     notification.notify(  
  4.     title = 'Superfarm price whatcher' 
  5.     message = f"Total value of SUPER = {new_price}, change: {round(new_price - price, 3)}" 
  6.     timeout = 10 
  7.     app_icon = '/home/kederrac/Pictures/uniswap.ICO' 
  8.     ) 

如您所見,我還添加了一個應用程序圖標,為了能夠使用應用程序圖標,我還必須將 .png 圖片轉換為 .ico 格式,安裝 dbus-python 庫(如果您使用的是 Windows,則不需要)。

  1. !pip install  dbus-python 

現(xiàn)在讓我們把它們放在一起: 

  1. import time  
  2. price = get_sup_price_in_dollars()  
  3. notify(price, price)  
  4. while True:  
  5.     new_price = get_sup_price_in_dollars()      
  6.     if abs(price - new_price) > 0.05:  
  7.         notify(price, new_price)          
  8.     price = new_price  
  9.     time.sleep(10) 

在這里,我每 10 秒調用一次 get_sup_price_in_dollars() 函數(shù)來檢查價格是否發(fā)生變化,如果變化大于 0.05 美元,將推送通知,您可以更改變化的最小值以獲得通知,或者您 可以設置要通知的最低價格目標。

結果如下:

(在 ubuntu 20.04 上)

(在 windows 10 上)

這對于實時價格通知非常有幫助,這種方法的另一優(yōu)點是速度,與必須使用 Coingecko 相比,您將獲得數(shù)分鐘的時間,如果您使用 Uniswap 網(wǎng)絡界面,時間將更快。

在這里你可以看到我一開始所說的規(guī)律:

 

 

責任編輯:龐桂玉 來源: Python中文社區(qū) (ID:python-china)
相關推薦

2022-06-10 14:10:38

加密貨幣代幣比特幣

2021-08-06 09:05:12

Python加密貨幣腳本

2018-03-20 15:33:05

深度學習加密貨幣

2021-07-16 14:24:08

網(wǎng)絡犯罪加密貨幣網(wǎng)絡攻擊

2021-09-24 15:39:38

加密貨幣比特幣貨幣

2021-07-18 11:00:14

加密貨幣網(wǎng)絡犯罪

2021-05-14 14:33:07

Python加密貨幣

2022-07-11 16:47:47

加密貨幣比特幣以太坊

2022-01-05 09:00:00

加密貨幣數(shù)據(jù)技術

2021-03-16 07:00:35

比特幣加密貨幣區(qū)塊鏈

2022-03-18 13:50:06

區(qū)塊鏈加密貨幣去中心化

2021-06-09 14:26:50

加密貨幣比特幣貨幣

2021-04-12 10:29:56

加密貨幣貨幣比特幣

2021-01-14 11:08:05

加密貨幣貨幣技術

2018-12-27 15:13:47

加密貨幣攻擊惡意軟件

2021-01-22 16:02:29

加密貨幣數(shù)字貨幣瑞銀

2022-07-20 15:04:40

加密貨幣印度貨幣

2022-07-29 15:08:05

加密貨幣去中心化工具

2021-03-23 12:15:32

加密貨幣比特幣貨幣

2021-04-09 15:25:25

加密貨幣比特幣以太坊
點贊
收藏

51CTO技術棧公眾號