Lesson 6 capture8 Payable関数の呼び出し
payable関数でレベルアップ
function levelUp(uint _zombieId) external payable {
require(msg.value == levelUpFee);
zombies[_zombieId].level++;
}
いくら送信するかをEtherではなくweiで指定しなくてはならない。
weiとはEtherの最小単位で、1 etherには10^18 wei。
変換ユーティリティ
web3js.utils.toWei("1", "ether");
// => 1000000000000000000
Web3.utils.fromWei('1000000000000000000', 'ether');
// => 1
cryptoZombies.methods.levelUp(zombieId)
.send({ from: userAccount, value: web3js.utils.toWei("0.001", "ether") })
$("#txStatus").text("Eating a kitty. This may take a while...");
return cryptoZombies.methods.feedOnKitty(zombieId, kittyId)
.send({ from: userAccount })
.on("receipt", function(receipt) {
$("#txStatus").text("Ate a kitty and spawned a new Zombie!");
getZombiesByOwner(userAccount).then(displayZombies);
})
.on("error", function(error) {
$("#txStatus").text(error);
});
}
prev
-
クリプトゾンビLesson 6 capture7 トランザクションの送信
Lesson 6 capture7 トランザクションの送信 前回までの操作でUIはユーザーのMetamaskアカウントを検出して、自動でホームページ上にゾンビ軍団を表示するようになった。 スマートコン ...
NEXT
-
クリプトゾンビLesson 6 capture9 Eventのサブスクライブ
Lesson 6 capture9 Eventのサブスクライブ 新しいゾンビのリッスン zombiefactory.sol内でイベントを使用。 event NewZombie(uint zombieI ...