問題一覧に戻る
初級関数
問題31: payable修飾子
Solidityのpayable修飾子を学習します。関数がEtherを受け取るにはpayableマークが必要です。payableなしでは、関数へのEther送信は失敗します。msg.valueグローバル変数はトランザクションで送信されたWeiの量を含みます。payable関数は支払い処理、クラウドファンディング、オークション、または金融操作を扱うコントラクトの作成に不可欠です。payableの理解はDeFiアプリケーションとEtherを管理するコントラクトの構築に重要です。
pragma solidity ^0.8.0;
contract PayableExample {
uint256 public balance;
// Etherを受け取る
function deposit() public {
balance += msg.;
}
// Etherを送信
function withdraw() public {
()().transfer(balance);
balance = 0;
}
}