前言
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的框架,可以維護您的部署,腳本,測試,并允許您進行端到端的后端。
OKX發布第10期儲備金證明:22個公示幣種的儲備金率均超過100%:8月30日消息,歐易OKX正式發布第10期儲備金證明(PoR),22個公示幣種的儲備金率均超過100%,其中BTC、ETH、USDT的儲備金率分別為102%、102%和103%,三者總計價值達104億美元。[2023/8/30 13:06:22]
Web3.py和Brownie還帶有演示例子,您可以在其中使用一些樣板代碼預打開項目。這就是今天將使用的ChainlinkBrowniemix。
為什么要使用Chainlink+Python?
正如Python是金融科技的事實編程語言一樣,Chainlink是將脫鏈數據饋入DeFi智能合約的事實Oracle解決方案,目前為頂級DeFi協議確保了超過$7B的價值。兩種技術的結合為安全分散金融科技領域提供了強大的框架。
快速瀏覽一下Chainlink在2020年啟用的一些功能。
環境搭建
要開始使用Brownie和Python構建DeFi應用,首先需要安裝Python。目前不建議將Python低于3.4版,因此,如果您使用的版本低于3.4版,請進行升級。
您可以通過運行以下命令查看您的Python版本并驗證其是否正確安裝:
數據:比特幣Ordinals銘文鑄造費用突破1000萬美元:金色財經報道,據Dune Analytics最新數據顯示,比特幣NFT協議Ordinals累計鑄造費用已突破1000萬美元,本文撰寫時達到12,145,182美元(461.6514 BTC),當前銘文鑄造總量為4,292,526枚。此外,昨日5月6日比特幣Ordinals銘文鑄造量達到324,804枚,創下迄今為止歷史第二高單日鑄造量記錄。[2023/5/8 14:48:51]
python--version
或者,如果使用python3:
python3--version
還需要安裝Ganache。Ganache是用Python編寫的一鍵式區塊鏈,可讓您輕松啟動本地區塊鏈。盡管您必須使用npm和node.js進行下載,但這將是您唯一需要與之交互的JavaScript。
首先,您需要安裝node.js和npm。Node.js隨npm一起安裝。下載后,您可以通過運行以下命令來檢查它是否正確完成:
npm-v
然后,您可以通過命令行安裝Ganache。
npminstall-gganache-cli
安裝完這些文件后,我們將以pip的方式安裝eth-brownie,就像安裝所有Python倉庫一樣。
pipinstalleth-brownie或者如果使用pip3:
pip3installeth-brownie如果您brownie在終端中運行,您就會知道自己做對了,并且得到的輸出類似于:
“無聊猿”BAYC:蟾蜍模式1天后關閉,審核期持續到3月7日:金色財經報道,據“無聊猿”BAYC在社交媒體宣布,蟾蜍模式的“下水道”將于太平洋標準時間3月1日上午10:30(北京時間3月2日凌晨2:30)關閉,在游戲關閉之前,“N/A”持有者需要在蟾蜍模式下運行一次才有資格參與下一階段的“Summoning”。下水道關閉后,蟾蜍模式的分數將鎖定通行證,審核期將持續到2023年3月7日,之后蟾蜍模式的最終結果將更新并顯示在下水道通行證上。[2023/3/1 12:35:40]
Browniev1.13.0-PythondevelopmentframeworkforEthereumUsage:brownie<command>Commands:initInitializeanewbrownieprojectbakeInitializefromabrownie-mixtemplatepmInstallandmanageexternalpackagescompileCompilethecontractsourcefilesconsoleLoadtheconsoletestRuntestcasesinthetests/folderrunRunascriptinthescripts/folderaccountsManagelocalaccountsnetworksManagenetworksettingsguiLoadtheGUItoviewopcodesandtestcoverageanalyzeFindsecurityvulnerabilitiesusingtheMythXAPIOptions:--help-hDisplaythismessage--versionShowversionandexitType'brownie<command>--help'forspecificoptionsandmoreinformationabouteachcommand.
遙望科技:規劃在2023年發力虛擬人直播等業務:金色財經報道,遙望科技在互動平臺表示,公司規劃在2023年發力虛擬人直播等業務,計劃利用公司過往積淀的技術優勢,實現高效率低成本的AIGC內容生成,使得直播時長更長,以長尾效應進一步擴大供應鏈競爭優勢。[2023/2/7 11:51:40]
最后需要一個MetaMask或其他以太坊錢包。如果從未使用過ETH錢包,則可以百度下使用教程。請注意,這也顯示了為Ropsten獲取測試網ETH,Chainlink不再支持該測試網。如果您遵循,請使用Kovan。
最后,請確保您的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可現在忽略。您將在練習時找出它們的用途。
阿根廷首都布宜諾斯艾利斯將于2023年運行以太坊節點:金色財經報道,阿根廷首都布宜諾斯艾利斯將于 2023 年運行以太坊節點。(Blockworks)[2022/8/15 12:26:47]
設置環境變量
即使我們只是安裝了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指什么寓意區塊鏈工程專業學什么區塊鏈存證怎么弄區塊鏈技術發展現狀和趨勢
3月2日,百度與吉利合資成立智能汽車公司集度汽車,百度和吉利分別擁有55%和45%的股份,計劃三年內推出第一款電動汽車.
1900/1/1 0:00:00引言:從中國已經加入碳中和游戲圈默認美元世界貨幣這個事實,就非常好的證明了現在馬斯克以環保為理由挑戰比特幣正是這股歐美傳統大型資本集團的“意志”.
1900/1/1 0:00:00最近這個奇亞幣炒很火啊,據說初始理念是要取代甚至消滅比特幣,沒錯,是要把幣圈老祖給干掉,我們先不說能不能實現這個問題,我本身自己也沒怎么去了解過這個東西.
1900/1/1 0:00:00比特幣歇菜,山寨幣瘋狂。4月3日下午,全球加密貨幣市值超過2萬億美元大關,在以太坊價格猛攻的助力下,山寨幣的市值占比再度上升至45.5%.
1900/1/1 0:00:0028nm制程干什么用的?從時間維度來說,28nm制程是芯片行業五六年前的主流工藝,屬于“過時制程”。也許大家對于芯片代工制程差五六年沒啥概念.
1900/1/1 0:00:00當我問小侄兒吃什么薯片時,8歲的侄兒說,你照超市最貴的買就行了。不要低估了小孩的奢侈品意識,小孩吃的用的只選廣告熱播著的,小孩物欲的眼光自從他拿起人民幣時就形成了,還談什么所謂的勤儉節約道德,難.
1900/1/1 0:00:00