日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 物聯(lián)網(wǎng) > 區(qū)塊鏈
[導讀] Chainlink是領(lǐng)先的區(qū)塊鏈項目之一,它構(gòu)建了第一個為智能合約提供外部數(shù)據(jù)的去中心化預(yù)言機網(wǎng)絡(luò)。Truffle通過提供強大的開發(fā)框架,幫助智能合約開發(fā)人員創(chuàng)建,測試和部署智能合約。Chain

Chainlink是領(lǐng)先的區(qū)塊鏈項目之一,它構(gòu)建了第一個為智能合約提供外部數(shù)據(jù)的去中心化預(yù)言機網(wǎng)絡(luò)。Truffle通過提供強大的開發(fā)框架,幫助智能合約開發(fā)人員創(chuàng)建,測試和部署智能合約。Chainlink在其的博文中表示,他們的Chainlink Truffle Box得到了一些重大的升級!如果你有幸參加了Trufflecon 2019,那么你已經(jīng)看到了這些改進,同時也感謝Chainlink的Thomas Hodges所帶來的演講。如果您想開始開發(fā)您自己的Chainlink智能合約,您可以按照此處的指南獲取Chainlink的Truffle Box。

本文將從Truffle Scripts開始展示這些全新的產(chǎn)品。Truffle Scripts創(chuàng)建了一種更方便的與合約交互的方法,為合約轉(zhuǎn)入LINK,從而可以請求數(shù)據(jù),并且在讀取合同的數(shù)據(jù)時只用三個命令。為了演示此功能,我們首先需要設(shè)置我們的環(huán)境變量:MNEMONIC和RPC_URL。

使用(以太坊)區(qū)塊鏈需要支持該鏈的錢包,其中最受歡迎的選擇之一是MetaMask。您可以非常方便的在幾分鐘之內(nèi)擁有自己的以太坊錢包,輕松地與各種dApp交互。在帳戶生成期間,您將看到您的秘密12字種子短語,稱為助記詞。(請不要與任何人您的助記詞;如果有人知道你的助記詞,他們將會獲取到你的地址和私鑰)。請務(wù)必將此助記詞存儲在安全的地方,因為稍后我們還將要用到它來完成我們的示例。

此外,您還需要為MetaMask錢包提供測試網(wǎng)絡(luò)Ropsten上的LINK和ETH資金,以便為Ropsten Ethereum Testnet上的交易提供交易費用。

注意:從測試水龍頭為您的帳戶轉(zhuǎn)入資金時,請確保從默認的以太坊主網(wǎng)絡(luò)切換到Ropsten測試網(wǎng)絡(luò),以正確查看您在Ropsten測試網(wǎng)絡(luò)上的資金。您可以通過Etherscan跟蹤在Ropsten Testnet上進行的任何交易。

我們的第二個環(huán)境變量將需要(以太坊客戶端的)RPC URL。一些流行的RPC連接服務(wù)包括Infura,LinkPool和Fiews。在建立有效的RPC連接和向地址轉(zhuǎn)入資金后,您就可以將智能合約部署到測試網(wǎng)絡(luò)上了。

上面顯示的是將MetaMask錢包鏈接到Truffle所需的環(huán)境變量,可以在truffle-config.js中找到。

獲得所需的所有數(shù)據(jù)后,可以通過終端命令設(shè)置環(huán)境變量:

export RPC_URL=your_url_here export MNEMONIC=’your 12 words here’

部署

我們現(xiàn)在準備在公共測試網(wǎng)絡(luò)上部署我們的智能合約。

首先,運行命令:

npm run migrate:live

這將編譯所有智能合約,然后開始部署它們。

注意:您可能會遇到Chainlink合約的一些編譯警告。這只是因為LINK token最初部署的是較舊版本的Solidity。鑒于此合約僅在您運行測試時部署,因此可以忽略這些警告。

我們的一個合約部署的控制臺輸出。這個交易可以在這里找到。

部署我們的Migrations和MyContract花費了我們ETH,這就是為什么我們需要提前從水龍頭中轉(zhuǎn)入資金?,F(xiàn)在我們的合約已經(jīng)部署,我們可以利用三個幫助腳本為LINK(我們從Chainlink水龍頭獲得的)提供MyContract,創(chuàng)建請求和讀取狀態(tài)。

這是位于腳本目錄中的3個幫助腳本,用來與我們的合約進行交互:

fund-contract.js

request-data.js

read-contract.js

可以通過從npx truffle exec調(diào)用它們。首先,我們必須為合約轉(zhuǎn)入LINK資金,這可以通過運行以下命令來完成:

npx truffle exec scripts/fund-contract.js --network live

部署后,輸出顯示我們的合約地址以及交易地址。我們也可以在ropsten瀏覽器上查看。

請注意,完成后,在交易過程中支付了1個LINK,表明我們的合約已得到資金。接下來,我們現(xiàn)在可以通過運行以下命令來請求合同中的數(shù)據(jù):

npx truffle exec scripts/request-data.js --network live

這是您發(fā)出請求在Chainlink瀏覽器中的展示(在我們的示例中,我們使用Ropsten,但它對Rinkeby,Kovan和Mainnet也同樣適用)。正如您所見,Chainlink節(jié)點接收了我們的請求,并在執(zhí)行作業(yè)之前等待3個塊確認?,F(xiàn)在我們準備讀取Chainlink節(jié)點給我們回復的合約狀態(tài),由履約交易表示(以紅色突出顯示)。

最后,為了讀取數(shù)據(jù),我們運行了read-contract腳本。特別需要說明的是,這個操作會運行得很快,因為我們沒有創(chuàng)建交易,我們只是閱讀智能合約的當前狀態(tài)。

npx truffle exec scripts/read-contract.js --network live

在閱讀數(shù)據(jù)時注意我們的輸出,我們得到一個數(shù)字,以USD * 100顯示LINK的當前價格(本文寫作時該值為22094)。這是由于我們的智能合約request-data.js中指定的倍數(shù)。

_Request-data.js。TRUFFLE_CL_BOX_TIMES是一個環(huán)境變量,用于覆蓋默認值100。此值用于處理數(shù)據(jù)的精度(在這種這個例子中是,以美元為單位的ETH價格),因為Solidity無法處理小數(shù)。這些值可以根據(jù)您的實際情況來更改。

得益于Truffle的強大功能,開發(fā)智能合約從未如此簡單。我們希望您喜歡使用我們的Chainlink Truffle Box,讓您可以在網(wǎng)絡(luò)上進行完整的測試,部署和交互合約。

來源:?Chainlink資訊

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉