Truffle

上傳智能合約需要多少錢?

  • May 15, 2018

我正在使用本地乙太坊測試網,在我看來上傳智能合約的價格有點太高了。

這是智能合約的程式碼:

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 是目前的平均汽油價格。您可以指定任何您想要的汽油價格。此處概述了範例汽油價格。它只是辨別您的交易將多快被探勘。

引用自:https://ethereum.stackexchange.com/questions/25930