SellPrice を 0.01 に、buyPrice を 0.02 にしようとすると問題が発生します。コントラクトがデプロイされ、後で setPrices 関数を使用してトークンの価格を設定します。「10000000000000000」と「20000000000000000」を二重引用符で囲みます。これを付けないと例外がスローされるからです。
購入機能:
/// @notice Buy tokens from contract by sending ether
function buy() payable public {
uint amount = msg.value / buyPrice; // calculates the amount
_transfer(this, msg.sender, amount); // makes the transfers
}
私のweb3コードで:
$('#buy').click(function(){
Compra.buy({
gas: 300000,
from: web3.eth.coinbase,
value: 20000000000000000
},function(error,res){
console.log(res);
if(!error){
if(res.blockHash != $("#insTrans").html())
$("#loader").hide();
$("#insTrans").html("Block hash: " + res.blockHash)
}else{
$("#loader").hide();
console.log(error);
}
});
});
buy() が成功したら、ウォレットに 0.000000000000000001 のトークンを追加し、ウォレットに 1 つのトークンが必要です。つまり、0.02 = 1 mytokens です。
誰かが私を助けてくれますか?私はここで非常に立ち往生しています。
ありがとう。