Crowdsale

幫助眾售契約

  • April 21, 2019

我使用了乙太坊網站上的預設眾籌程式碼,但是我在弄清楚如何將每個代幣的價格設置為乙太小數時遇到了很多麻煩(例如,每個代幣 0.0005 乙太幣)

我遇到的另一個問題是在創建合約之後,我嘗試從 MyEtherWallet 發送乙太幣並且出現了這個錯誤。

錯誤

我正在通過相同的路線工作,我建議使用https://github.com/OpenZeppelin/zeppelin-solidity/blob/master/contracts/crowdsale/Crowdsale.sol。很多人剛剛使用並適應了它。根據我所見,您需要通過 myetherwallet 進行部署。確保在使其可用之前對其進行充分測試。還可以使用 etherscan.io 並輸入目前預售的地址,對於許多人來說,可以通過 etherscan.io 訪問契約。

我建議你用 Wei 計算這個,這將解決你的問題。轉到https://etherconverter.online/,在“乙太”欄位中輸入 1 並將價格設置為以 wei 為單位的價格。我做了一個小例子,只有在測試良好並且解決了安全問題的情況下才使用!

contract Crowdsale {
   uint tokenPrice = 500000000000000 wei;
   uint public tokensToGet = 0;
   function buyToken() payable returns (uint){
       tokensToGet = msg.value / tokenPrice;
       return tokensToGet;
   }
}

除了“wei”,您還可以使用頁面上看到的“szabo”等。請確保只使用小寫字母(“WEI”、“Wei”、“weI” 無效)。如果您現在發送 1 個乙太幣,它會將其轉換為每個代幣的價格(0.0005),tokenToGet 將是 2000(= 2.000 個代幣)。我已經公開了“tokensToGet”,因為我使用了 Remix,然後可以直接輸出這個變數。在 Remix 上測試它並使用 Javascript VM :)。希望我有所幫助!

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