以太幣交易所 以太幣交易所
Ctrl+D 以太幣交易所
ads

帶你用Python快速打通區塊鏈虛擬幣金融Defi之路_Chain

Author:

Time:1900/1/1 0:00:00

前言

Python具有強大的軟件包,例如Numpy,Scikit,Pandas和TensorFlow,可以進行定量工作,機器學習等。最終能夠將這些技術結合在一起,是金融科技新時代成功的秘訣:去中心化金融。Chainlink是一個靈活的框架,用于將外部財務數據和系統鏈接到鏈上,并與以數據為中心的程序包無縫集成。如果您是開發人員,并且想要快速開發虛擬幣金融應用,那Chainlink無疑是一個最好選擇。

Python成為金融殺手锏

在本教程中,我們將逐步介紹如何使用Python開發DeFi項目。分散式金融是區塊鏈和智能合約世界最重要的進步之一,通常被稱為“新金融科技”。

目前,智能合約開發主要由JavaScript主導,部分原因是JavaScript是地球上最常用的語言,并且Node.js帶有“JavaScript無處不在”的思維方式來構建全棧應用程序更加容易。但是,對于金融科技界,特別是定量分析師,股票交易員,對沖基金來看,事實并非如此。他們由于大多數原因而使用Python:

出色的開發人員經驗強大的AI和機器學習捆綁的金融科技軟件包全面的分析工具生產設置的可靠性

有這么多數據科學家,學者和金融科技機構使用Python是有原因的。DeFi領域中的某些項目,例如yearn.finance,都具有這種想法,并已使用Python和Solidity構建了整個DeFi平臺。因為有了web3.py和Brownie之類的庫和框架,才能夠看到這些項目的誕生。Brownie是一個類似于Truffle的框架,可以維護您的部署,腳本,測試,并允許您進行端到端的后端。

幣安完成Travala.com(AVA)合約置換和品牌升級為AVA(AVA):金色財經報道,幣安現已完成Travala.com(AVA)于Ethereum(ERC20)網絡的合約置換和品牌升級為AVA(AVA)計劃。現已開放新AVA(ERC20)代幣的充值、提現業務。[2023/9/5 13:18:32]

Web3.py和Brownie還帶有演示例子,您可以在其中使用一些樣板代碼預打開項目。這就是今天將使用的ChainlinkBrowniemix。

為什么要使用Chainlink+Python?

正如Python是金融科技的事實編程語言一樣,Chainlink是將脫鏈數據饋入DeFi智能合約的事實Oracle解決方案,目前為頂級DeFi協議確保了超過$7B的價值。兩種技術的結合為安全分散金融科技領域提供了強大的框架。

快速瀏覽一下Chainlink在2020年啟用的一些功能。

環境搭建

要開始使用Brownie和Python構建DeFi應用,首先需要安裝Python。目前不建議將Python低于3.4版,因此,如果您使用的版本低于3.4版,請進行升級。

您可以通過運行以下命令查看您的Python版本并驗證其是否正確安裝:

AAVE社區發起Harmony黑客攻擊后Aave和Harmony的聯合恢復計劃:7月20日消息,Aave社區治理頁面顯示,有用戶提出Aave和Harmony聯合恢復計劃,以彌補Harmony區塊鏈遭到黑客攻擊后AAVE上的用戶資金損失。該恢復計劃的核心部分是設立復蘇基金,Harmony和Aave各出資必要報銷資金總額的10%。將使受影響的用戶能夠立即收回黑客攻擊前余額的20%,從而提供一些即時救濟并為進一步的恢復工作奠定基礎。

Aave的部分貢獻將來自注銷其目前在HarmonyDAO金庫中持有的折舊資產,其中大約有200萬個aONE和700個aLINK代幣。雙方的其余貢獻可能來自各自的儲備金或其他資金來源。

該提案還引入服務提供商BGD提出的Decaying預言機機制,將從20%的恢復率開始,然后逐漸減少,以逐漸貶值的方式盡早清算脫鉤資產。如果存在剩余壞賬,這筆債務將由Harmony和Aave平分。恢復過程預計需要四年左右。[2023/7/20 11:07:37]

python--version

或者,如果使用python3:

python3--version

還需要安裝Ganache。Ganache是用Python編寫的一鍵式區塊鏈,可讓您輕松啟動本地區塊鏈。盡管您必須使用npm和node.js進行下載,但這將是您唯一需要與之交互的JavaScript。

首先,您需要安裝node.js和npm。Node.js隨npm一起安裝。下載后,您可以通過運行以下命令來檢查它是否正確完成:

npm-v

Northern Trust高管:加密貨幣對機構投資者來說已經失去了吸引力:金色財經報道,Northern Trust 數字資產和金融市場負責人 Justin Chapman 在舊金山數字資產周會議中表示,加密貨幣對機構投資者來說已經失去了吸引力,機構投資者在 2022 年之后就對加密貨幣失去了興趣,即使今年呈上升趨勢,他們對加密貨幣的興趣仍未恢復。

Chapman表示 ,機構已經將注意力轉移到加密貨幣的底層區塊鏈技術上,我們并沒有那么關注資產類別,因為客戶目前并不關注,所以我們沒有看到客戶將其納入投資組合的興趣。如果這種情況發生變化,作為一家公司,我們可以考慮這些業務,但從機構的角度來看,它肯定已經失去了‘光彩’。[2023/5/5 14:43:45]

然后,您可以通過命令行安裝Ganache。

npminstall-gganache-cli

安裝完這些文件后,我們將以pip的方式安裝eth-brownie,就像安裝所有Python倉庫一樣。

pipinstalleth-brownie或者如果使用pip3:

pip3installeth-brownie如果您brownie在終端中運行,您就會知道自己做對了,并且得到的輸出類似于:

Browniev1.13.0-PythondevelopmentframeworkforEthereumUsage:brownie<command>Commands:initInitializeanewbrownieprojectbakeInitializefromabrownie-mixtemplatepmInstallandmanageexternalpackagescompileCompilethecontractsourcefilesconsoleLoadtheconsoletestRuntestcasesinthetests/folderrunRunascriptinthescripts/folderaccountsManagelocalaccountsnetworksManagenetworksettingsguiLoadtheGUItoviewopcodesandtestcoverageanalyzeFindsecurityvulnerabilitiesusingtheMythXAPIOptions:--help-hDisplaythismessage--versionShowversionandexitType'brownie<command>--help'forspecificoptionsandmoreinformationabouteachcommand.

慢霧:Rubic協議錯將USDC添至Router白名單,導致已授權合約用戶USDC遭竊取:12月25日消息,據慢霧安全團隊情報,Rubic跨鏈聚合器項目遭到攻擊,導致用戶賬戶中的USDC被竊取。慢霧安全團隊分享如下:1. Rubic是一個DEX跨鏈聚合器,用戶可以通過RubicProxy合約中的routerCallNative函數進行Native Token兌換。在進行兌換前,會先檢查用戶傳入的所需調用的目標 Router是否在協議的白名單中。

2. 經過白名單檢查后才會對用戶傳入的目標Router進行調用,調用數據也由用戶外部傳入。

3. 不幸的是USDC也被添加到Rubic協議的Router白名單中,因此任意用戶都可以通過RubicProxy合約任意調用USDC。

4. 惡意用戶利用此問題通過routerCallNative函數調用USDC合約將已授權給RubicProxy合約的用戶的USDC通過transferFrom接口轉移至惡意用戶賬戶中。

此次攻擊的根本原因在于Rubic協議錯誤的將USDC添加進Router白名單中,導致已授權給RubicProxy合約的用戶的USDC被竊取。[2022/12/26 22:07:00]

最后需要一個MetaMask或其他以太坊錢包。如果從未使用過ETH錢包,則可以百度下使用教程。請注意,這也顯示了為Ropsten獲取測試網ETH,Chainlink不再支持該測試網。如果您遵循,請使用Kovan。

數據:BitMEX上BTC 24小時永續合約交易量達5年來低點:金色財經報道,Glassnode數據顯示,BitMEX上BTC 24小時永續合約交易量跌至260,782,573.74美元,創5年來新低。[2022/8/8 12:09:10]

最后,請確保您的ETH錢包中有一些testnetLINK和KovanETH。您可以在LINK龍頭和ETHKovan龍頭中找到一些配件。

開始Chainlink項目

在此示例中,我們將部署一個簡單的ChainlinkPriceFeed,以了解Brownie框架。讓我們開始嘗試下chainlink-mix。

browniebakechainlink-mixcdchainlink

已經建了一些默認代碼的新項目。如果運行,ls我們可以看到文件的布局是什么樣的:

build:這是項目跟蹤已部署的智能合約和已編譯合約的地方合同:合同的源代碼,通常以Solidity或Vyper編寫interfaces:處理已部署合同所需的接口布局。每次與合同的交互都需要一個ABI和一個地址。接口是獲取合同的ABI的好方法腳本:我們創建的腳本,用于自動執行合同工作測試:測試brownie-config.yaml:在這里,我們可以獲取Brownie的所有信息,以了解如何使用我們的智能合約。我們想部署到什么區塊鏈?我們是否需要設置任何特殊參數?所有這些都在配置文件中設置。requirements.txt,README.md,LICENSE,和.gitignore可現在忽略。您將在練習時找出它們的用途。

設置環境變量

即使我們只是安裝了Ganache進行本地測試,我們也希望能夠連接到ETH主網和測試網,以便我們可以將它們部署在真實的測試網上。為此,我們需要設置**WEB3_INFURA_PROJECT_ID.您可以從Infura網站免費獲得InfuraID。您可以使用其他web3提供程序或您自己的節點,但是您必須為此做更多配置。

在brownie-config.yaml文件中,您可以設置帶有host密鑰的網絡,并定義您不想使用MetaMask時要連接的URL。

有了您的web3ID之后,我們需要將私鑰作為環境變量使用,以便我們可以在錢包中使用我們的帳戶。如果您使用的是MetaMask,請查找exportkey。使用MetaMask,您可能必須添加0x到私鑰的開頭。為了以防萬一,建議在測試和導出密鑰時使用與主帳戶不同的帳戶。

現在,要使其成為環境變量,只需在終端中運行以下命令:

exportPRIVATE_KEY=0x96789…..exportWEB3_INFURA_PROJECT_ID=’dogcatmouse….’

如果您在其中運行printenv并看到環境變量,您就會知道自己做對了。

您可以在此處了解有關設置環境變量的更多信息。

部署智能合約

現在已經完成了所有設置,甚至可以繼續將智能合約部署到Kovan測試網!

在我們的scripts文件夾中,有一個名為的腳本deploy_price_consumer_v3.py。這將部署我們的智能合約,該合約以美元讀取以太坊的價格。

如果您想更輕松地了解該合同的功能以及如何部署它,請隨時查看有關部署價格Feed合同的Chainlink教程。

僅用于brownierun使用部署腳本:

brownierunscripts/price_feed_scripts/deploy_price_consumer_v3.py--networkkovan

您會看到以下內容:

Running'scripts/price_feed_scripts/deploy_price_consumer_v3.py::main'...Transactionsent:0x23d1dfa3937e0cfbab58f8d5ecabe2bfffc28bbe2349527dabe9289e747bac56Gasprice:20.0gweiGaslimit:145600Nonce:1339PriceFeed.constructorconfirmed-Block:22721813Gasused:132364(90.91%)PriceFeeddeployedat:0x6B2305935DbC77662811ff817cF3Aa54fc585816如果此方法正常工作,我們可以轉到KovanEtherscan并找到我們部署的合同。上面的鏈接顯示了此示例中部署的合同。

閱讀您的智能合約

現在我們已經部署了智能合約,我們可以從剛剛部署的合約中讀取以太坊的價格。我們將使用另一個具有的腳本:

brownierunscripts/price_feed_scripts/read_price_feed.py--networkkovan我們將得到類似以下的輸出:

Browniev1.12.2-PythondevelopmentframeworkforEthereumChainlinkProjectistheactiveproject.Running'scripts/price_feed_scripts/read_price_feed.py::main'...Readingdatafrom0x5A….122322000000

其中122322000000是ETH當前的美元價格!Solidity無法理解小數,因此我們知道Chainlink價格供高具有8個小數,因此價格為$1,223.22。

您剛剛使用Python和Brownie部署了您的第一個智能合約!

測試您的智能合約

這也是如何測試智能合約的一個很好的例子。我們使用模擬對象甚至在本地進行測試!

只需運行:

brownietest您的測試將在本地Ganache實例上運行!

您還可以使用以下內容在測試網上進行測試:

brownietest--networkkovan

這些測試具有一些功能,這些功能可以知道您是否正在使用測試網。如果您在本地工作,它將部署oracle代碼的虛擬對象或“虛擬對象”,以便我們可以從中進行測試。

走得更遠

既然您知道如何使用Python部署智能合約,那么您就可以開始在此框架的基礎上做更多有趣的事情了。Python具有強大的軟件包,例如Numpy,Scikit,Pandas和TensorFlow,可以進行定量工作,機器學習等。最終能夠將這些技術結合在一起,是金融科技新時代成功的秘訣:去中心化金融。

Tags:ChainETH區塊鏈Chain幣是什么幣ETH錢包地址ETH挖礦app下載Etherael指什么寓意區塊鏈工程專業學什么區塊鏈存證怎么弄區塊鏈技術發展現狀和趨勢

歐易okex官網
一則傳聞引發的比特幣雪崩?_比特幣

狗狗幣封神,不過4天的時間。跌落,也不過24小時。不止狗狗幣,幾乎幣圈的所有幣種,都擁有這種坐過山車的能力。瘋狂背后,唯一確定的是,暴漲暴跌中,總會有人賺翻,而必然會有人陪葬.

1900/1/1 0:00:00
虛擬幣錢包頂風攬客 不懼監管化身“幣圈銀行”_虛擬幣

來源:貝果財經 原標題:化身“幣圈銀行”虛擬幣錢包頂風攬客本報記者/鄭瑜/北京報道在各路真假難辨的消息炮轟之下,虛擬幣市場投機空前活躍,交易量不斷上漲,比特幣網絡嚴重擁堵.

1900/1/1 0:00:00
比特幣跳水背后是馬斯克和灰度的對抗,V神捐SHI幣帶崩動物幣_馬斯克

今日馬斯克還未發布推文,每次馬斯克發推文都會引起幣圈市場的波動,這就好像一個定時炸彈,你不知道下一秒會有多少萬人爆倉.

1900/1/1 0:00:00
奇亞幣挖礦損耗嚴重 可使SSD硬盤在40天內報廢_SSD

鞭牛士5月12日消息,外媒報道稱,在Chia奇亞幣礦池的創建階段是最消耗時間的,硬盤挖礦會多次對硬盤的數據進行擦寫,殺傷力極大,對硬盤的壽命是個不小的考驗.

1900/1/1 0:00:00
比特幣、狗狗幣導致周一狂躁的加密貨幣市值損失超過5千億美元_加密貨幣

來源:金融虎 周一,加密貨幣交易所Coinbase股價下跌超過5%,原因是加密貨幣綜合體減少了收益.

1900/1/1 0:00:00
硬盤漲跌都不慌,入手M.2 SATA硬盤盒,舊盤煥新生_SSD

2021年,裝機人有個坎兒3月顯卡貴且無貨,4月硬盤頻繁漲跌,裝電腦提心吊膽,游戲黨進退兩難。 顯卡就不用說了,3月份央視官方報道稱,顯卡價格隨幣圈漲了100%,30系缺貨嚴重,小黃魚上架秒沒.

1900/1/1 0:00:00
ads