前言
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的框架,可以維護您的部署,腳本,測試,并允許您進行端到端的后端。
BNB Chain宣布opBNB硬分叉將于下周到來:金色財經報道,據官方消息,BNB Chain宣布opBNB硬分叉將于下周到來。[2023/8/21 18:11:53]
Web3.py和Brownie還帶有演示例子,您可以在其中使用一些樣板代碼預打開項目。這就是今天將使用的ChainlinkBrowniemix。
為什么要使用Chainlink+Python?
正如Python是金融科技的事實編程語言一樣,Chainlink是將脫鏈數據饋入DeFi智能合約的事實Oracle解決方案,目前為頂級DeFi協議確保了超過$7B的價值。兩種技術的結合為安全分散金融科技領域提供了強大的框架。
快速瀏覽一下Chainlink在2020年啟用的一些功能。
環境搭建
要開始使用Brownie和Python構建DeFi應用,首先需要安裝Python。目前不建議將Python低于3.4版,因此,如果您使用的版本低于3.4版,請進行升級。
您可以通過運行以下命令查看您的Python版本并驗證其是否正確安裝:
python--version
或者,如果使用python3:
香港正在探索推出穩定幣HKDG:金色財經報道,香港正在探索推出穩定幣HKDG,以與USDT和USDC等成熟穩定幣競爭。通過用外匯儲備支持HKDG,政府尋求促進金融創新并維護其在區塊鏈領域的領導地位。通過發行與港元掛鉤的穩定幣(HKDG),政府旨在提高交易效率、降低成本并改善現有支付系統。此舉預計將增強香港的金融科技能力,并提高其金融體系的效率和包容性。然而,政府目前的計劃允許私人機構發行港元穩定幣,這可能會限制其市場份額和整體影響。[2023/7/5 22:18:02]
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在終端中運行,您就會知道自己做對了,并且得到的輸出類似于:
Browniev1.13.0-PythondevelopmentframeworkforEthereumUsage:brownie<command>Commands:initInitializeanewbrownieprojectbakeInitializefromabrownie-mixtemplatepmInstallandmanageexternalpackagescompileCompilethecontractsourcefilesconsoleLoadtheconsoletestRuntestcasesinthetests/folderrunRunascriptinthescripts/folderaccountsManagelocalaccountsnetworksManagenetworksettingsguiLoadtheGUItoviewopcodesandtestcoverageanalyzeFindsecurityvulnerabilitiesusingtheMythXAPIOptions:--help-hDisplaythismessage--versionShowversionandexitType'brownie<command>--help'forspecificoptionsandmoreinformationabouteachcommand.
與NFT釣魚地址0x18D023關聯的EOA賬戶地址已將資金轉至Tornado Cash:金色財經消息,據CertiK監測,與NFT釣魚地址0x18D023關聯的EOA賬戶地址0x64bEf638B75bC24dFb8643bDDD5db2F9a03Ba4FF已將資金轉至Tornado Cash。目前該EOA地址總共向Tornado Cash轉入了701枚ETH(約120萬美元)。[2023/3/25 13:25:49]
最后需要一個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可現在忽略。您將在練習時找出它們的用途。
0xScope:另一地址也曾在幣安宣布上線RPL之時買入5353 RPL:金色財經報道,鏈上數據分析平臺0xScope發推稱,除了此前提到的以0x5f2c開頭的地址外,另一個以0xac5ca開頭的地址也在幣安宣布上線RPL的數秒之后買入了5353枚RPL,此后該地址將3000枚RPL轉入了幣安,又在1inch將剩下的2353枚RPL賣出。
稍早之前,0xScope發推稱一個以0x5f2c開頭的地址在幣安官宣上線RPL前10分鐘買入近6200枚RPL,并在幣安發布公告后10分鐘賣出,在20分鐘內盈利5.54萬美元。[2023/1/18 11:19:07]
設置環境變量
即使我們只是安裝了Ganache進行本地測試,我們也希望能夠連接到ETH主網和測試網,以便我們可以將它們部署在真實的測試網上。為此,我們需要設置**WEB3_INFURA_PROJECT_ID.您可以從Infura網站免費獲得InfuraID。您可以使用其他web3提供程序或您自己的節點,但是您必須為此做更多配置。
在brownie-config.yaml文件中,您可以設置帶有host密鑰的網絡,并定義您不想使用MetaMask時要連接的URL。
有了您的web3ID之后,我們需要將私鑰作為環境變量使用,以便我們可以在錢包中使用我們的帳戶。如果您使用的是MetaMask,請查找exportkey。使用MetaMask,您可能必須添加0x到私鑰的開頭。為了以防萬一,建議在測試和導出密鑰時使用與主帳戶不同的帳戶。
現在,要使其成為環境變量,只需在終端中運行以下命令:
數據:以太坊Layer2上單日交易筆數首次超越主網:11月11日消息,據Layer2跨Rollup橋Orbiter Finance上L2 Data數據顯示,2022年11月8日,以太坊Layer2上單日交易筆數首次超越主網。當日Layer2上交易筆數為1,202,405筆,而主網上交易筆數為1,132,319筆。[2022/11/11 12:51:02]
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指什么寓意區塊鏈工程專業學什么區塊鏈存證怎么弄區塊鏈技術發展現狀和趨勢
來源:中國基金報 今天,中國三大監管機構一出手,幣圈腥風血雨! 19日,數字貨幣市場再次大跳水.
1900/1/1 0:00:00文|雷達財經,作者丨梁春富,編輯|深海“Tothemooooonnn!”馬斯克高呼,真的要把狗狗幣送上月球.
1900/1/1 0:00:00來源:中國基金報 作者:安曼 昨日,幣圈慘遭血洗。跌懵了的投資者紛紛開始尋找暴跌的原因…… 4月18日下午,據路透社報道,印度政府將禁止加密貨幣,對在該國交易甚至持有此類資產的人處以罰款.
1900/1/1 0:00:00原標題:狗狗幣一度跌40%!馬斯克“承認”了:它就是騙局!來源:中國基金報微信號突發!剛剛,狗狗幣崩了!一度暴跌40%!馬斯克“承認”了:它就是騙局!這種幣卻火了.
1900/1/1 0:00:00常言道,“常在河邊走,怎能不濕鞋?”,在幣圈的世界,你以為是你在玩合約,其實是合約在玩你。4月18日,繼美國最大加密貨幣交易所之一Coinbase上市尚未兩天,幣圈就迎來一番慘無人道的“血洗”,
1900/1/1 0:00:00什么是共識? 共識是指不同社會階層的人、不同利益的人所追求的共同認識、價值、理想。回顧整個社會文明歷史,從一個個部落演變成為許許多多國家,共識一直都參與其中,且極大的促進了這種發展.
1900/1/1 0:00:00