Truffle
上傳智能合約需要多少錢?
我正在使用本地乙太坊測試網,在我看來上傳智能合約的價格有點太高了。
這是智能合約的程式碼:
contract Transfer { address owner; function Transfer () { owner = msg.sender; } modifier isOwner () { if (owner == msg.sender) { _; } else { revert(); } } function sendEther (address dst) isOwner payable { if(msg.value<=0) revert(); dst.transfer(msg.value); } function getBalance () constant isOwner returns (uint) { return msg.sender.balance; } function () payable { if(msg.value<=0) revert(); owner.transfer(msg.value); } }
在使用 truffle 部署它之後,我發現部署該合約的賬戶餘額減少了 0.045 乙太幣,按今天的匯率計算,這大約是 15 美元。
我不知道這是否正常,但對我來說似乎太貴了。
我的測試網中的 gas 價格是 20000000000,目前的 gas 價格(見https://ethstats.net/)甚至更高(35500000000)。所以,如果我沒記錯的話,將它部署到主網會更加昂貴!
所以,簡而言之,我的問題是:這個價格是正常的還是我錯過了什麼?
編輯:Solidity 瀏覽器說,對於這個契約,“創造:20435 + 126600”,這意味著不到 1 美元……松露以某種方式竊取了我的乙太幣?!
提前非常感謝!:)
你錯過了一些東西。
一筆交易需要送出的gas量取決於礦工必須完成的處理量。一個合理的代理是與交易相關的輸入數據量。
送出契約時,您送出契約的編碼字節碼。您產生的成本遠遠超過這樣一個簡單的契約應該產生的成本。如果沒有詳細說明您是如何送出契約的,沒有人可以知道您是否做錯了什麼。
35.5 Gwei 是目前的平均汽油價格。您可以指定任何您想要的汽油價格。此處概述了範例汽油價格。它只是辨別您的交易將多快被探勘。