這篇文章主要介紹“如何部署以太坊智能合約到infura”,在日常操作中,相信很多人在如何部署以太坊智能合約到infura問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”如何部署以太坊智能合約到infura”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
公司主營業務:網站設計制作、成都網站建設、移動網站開發等業務。幫助企業客戶真正實現互聯網宣傳,提高企業的競爭能力。創新互聯是一支青春激揚、勤奮敬業、活力青春激揚、勤奮敬業、活力澎湃、和諧高效的團隊。公司秉承以“開放、自由、嚴謹、自律”為核心的企業文化,感謝他們對我們的高要求,感謝他們從不同領域給我們帶來的挑戰,讓我們激情的團隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。創新互聯推出茂南免費做網站回饋大家。
在這個特定的例子中,我們將遷移到Ropsten測試網絡。 我們假設你已經有了一個dapp, 如果需要一個測試dapp,可以使用Truffle提供的寵物店dapp。
Infura的HDWalletProvider是一個獨立的npm軟件包,如下安裝:
npm install truffle-hdwallet-provider
注意 :如果你在Windows上安裝并且遇到MSBUILD錯誤,則可能需要安裝Windows構建工具。 在具有管理員權限的控制臺中,運行
npm install -g windows-build-tools
然后再次嘗試安裝。
在使用Infura之前,需要注冊Infura訪問令牌 。
填寫并提交表格后你就可以收到訪問令牌。 相關信息將顯示在屏幕上并發送到你提供的電子郵件。 需要記錄下來這個訪問令牌并確保它不被別人看到!
下一步是編輯你的truffle.js文件來啟用HDWalletProvider并為部署到Ropsten進行必要的配置。
STEP 1:首先,在配置文件中定義HDWalletProvider對象。 在truffle.js文件的頂部添加以下代碼:
var HDWalletProvider = require("truffle-hdwallet-provider");
STEP 2:接下來,提供助記詞(mnemonic
)來生成你的賬戶。
var mnemonic = "orange apple banana ... ";
警告 :在此過程中,我們強烈建議將助記符存儲在另一個(秘密)文件中,以降低助記符泄漏風險。 如果有人知道你的助記符,他們將擁有你所有的地址和私鑰!
STEP 3:添加Ropsten網絡定義:
module.exports = { networks: { ropsten: { provider: function() { return new HDWalletProvider(mnemonic, "https://ropsten.infura.io/<INFURA_Access_Token>") }, network_id: 3 } } };
注意事項:
雖然該示例僅定義了單個網絡,但你可以像往常一樣定義多個網絡。
ropsten網絡定義中的provider將使用實例化的HDWalletProvider 。
HDWalletProvider以助記符和期望的網絡為參數。 Infura主頁上提供Infura支持的 網絡列表。
確保使用前面拿到的Infura訪問令牌替換<INFURA_Access_Token> 。
provider值被封裝在一個函數中,這可以確保它在需要之前不會被初始化。 如果連接到多個網絡,這一點尤為重要。 關于該主題的更多信息,請參閱Truffle文檔的網絡配置部分。
默認情況下,由助記符產生的第一個賬戶將負責執行合約遷移任務。 但如果需要的話,你可以傳入參數以指定要使用的帳戶。 例如,要使用第三個帳戶:
new HDWalletProvider(mnemonic, "https://ropsten.infura.io/<Infura_Access_Token>", 2);
賬戶索引是從零開始的,所以2表示第三個地址。
確保你的帳戶有足夠的賬戶余額來進行部署。 可以通過稱Faucet的服務在Ropsten網絡上獲取Ether。 雖然在那里有多個Faucet網站,我們推薦的一個服務是在EthTools上托管的 。
導航至EthTools的Ether Faucet 。
輸入你的助記符,并選擇你想要多少ether(最多5個)。
Faucet將鏈接到你的第一個帳戶。 點擊“Request Ether”提交請求。
很快,你的賬戶將獲得請求的ether。
注意 :也可以通過MetaMask申請ether。 在Ropsten上連接你的帳戶,然后點擊“Buy”按鈕,該按鈕將提供MetaMask的Ropsten測試Faucet的鏈接,它的工作方式與上述類似。
我們現在可以開始將合約部署到Ropsten上了!
STEP 1: 編譯項目:
truffle compile
STEP 2:部署到Ropsten網絡:
truffle migrate --network ropsten
如果一切順利,應該可以看到類似于以下內容的輸出:
Using network 'ropsten'. Running migration: 1_initial_migration.js Deploying Migrations... ... 0xd79bc3c5a7d338a7f85db9f86febbee738ebdec9494f49bda8f9f4c90b649db7 Migrations: 0x0c6c4fc8831755595eda4b5724a61ff989e2f8b9 Saving successful migration to network... ... 0xc37320561d0004dc149ea42d839375c3fc53752bae5776e4e7543ad16c1b06f0 Saving artifacts... Running migration: 2_deploy_contracts.js Deploying MyContract... ... 0x7efbb3e4f028aa8834d0078293e0db7ff8aff88e72f33960fc806a618a6ce4d3 MyContract: 0xda05d7bfa5b6af7feab7bd156e812b4e564ef2b1 Saving successful migration to network... ... 0x6257dd237eb8b120c8038b066e257baee03b9c447c3ba43f843d1856de1fe132 Saving artifacts...
需要提醒的是,你的交易ID將與上面的不同。
注意 :如果收到錯誤Error: Exceeds block gas limit
,你可能需要為合約手動設置油量上限(gas limit
)。 有關詳細信息,請參閱Truffle配置文檔。
STEP 3:如果想驗證合約是否已成功部署,可以在Etherscan的Ropsten部分進行檢查。 在搜索字段中,輸入部署交易ID。 在上面的例子中,交易ID是:
0x7efbb3e4f028aa8834d0078293e0db7ff8aff88e72f33960fc806a618a6ce4d3
你應該可以看到有關交易的詳細信息,包括交易受到保護的區塊號。
到此,關于“如何部署以太坊智能合約到infura”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注創新互聯網站,小編會繼續努力為大家帶來更多實用的文章!
當前題目:如何部署以太坊智能合約到infura
網站地址:http://vcdvsql.cn/article10/pphhdo.html
成都網站建設公司_創新互聯,為您提供電子商務、網站改版、網站建設、面包屑導航、App開發、定制開發
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯