1.12 Receive 收學費

閱讀時間約 3 分鐘
Receive

Receive

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

contract TuitionPayment {
address public school;
uint public tuitionFee;
mapping(address => uint) public studentBalances;

event TuitionReceived(address payer, uint amount);

constructor(uint _tuitionFee) {
school = msg.sender;
tuitionFee = _tuitionFee;
}

// 定義 receive 函式來接收學費
receive() external payable {
require(msg.sender != school, "School cannot pay tuition");
require(msg.value == tuitionFee, "Incorrect tuition fee amount");

studentBalances[msg.sender] += msg.value;
emit TuitionReceived(msg.sender, msg.value);
}

// 提取合約中的以太幣
function withdraw(uint amount) public {
require(msg.sender == school, "Only school can withdraw");
require(amount <= address(this).balance, "Insufficient balance");

payable(school).transfer(amount);
}
}
  • 當我們想要在 Solidity 合約中接收以太幣,例如收取學費,可以使用 receive 函式來實現這一功能。
  • TuitionPayment 合約用於收取學費。在合約創建時,設定了學校的地址和學費的金額
  • receive 函式被定義為外部函式,用於接收以太幣。
  • 當有人向合約地址轉帳時,如果轉帳金額等於學費金額,則該函式將被自動調用。
  • 如果轉帳者不是學校,且轉帳金額正確,則學費將被記錄到相應的學生帳戶中。
  • 當學費被成功接收時,將觸發一個事件 TuitionReceived,用於通知外部觀察者。
  • 合約還包含一個 withdraw 函式,用於將合約中的以太幣提取到學校地址。
    尋大神腳印, 亦步亦趨。
    留言0
    查看全部
    發表第一個留言支持創作者!
    // SPDX-License-Identifier: MIT pragma solidity ^0.8.0; contract SchoolGreetings { address public principal; event GreetingReceived(string g
    一個智能合約,名為 UniformShop,它用於販售學校制服。 我們希望合約在收到以太幣後自動處理購買制服的操作。 UniformShop 合約定義了一個 fallback 函式,用於接收以太幣並購買制服。 當有人向合約地址轉帳時,如果轉帳金額足夠支付制服的價格,則 fallback 函式將
    try-catch 語句用於處理外部函數調用或合約創建過程中可能發生的錯誤 以下是一個使用小朋友睡著作為例子的簡單程式碼 // SPDX-License-Identifier: MIT pragma solidity ^0.8.0; contract Child { bool publ
    1. Takeaway Data Structures 資料結構 - Array, Mapping, Struct 與 Enum 及程式碼實作 - 50:14 Returns - 12:21 Visibility 可視性 - public, private, external, interna
    // SPDX-License-Identifier: MIT pragma solidity ^0.8.0; contract SchoolGreetings { address public principal; event GreetingReceived(string g
    一個智能合約,名為 UniformShop,它用於販售學校制服。 我們希望合約在收到以太幣後自動處理購買制服的操作。 UniformShop 合約定義了一個 fallback 函式,用於接收以太幣並購買制服。 當有人向合約地址轉帳時,如果轉帳金額足夠支付制服的價格,則 fallback 函式將
    try-catch 語句用於處理外部函數調用或合約創建過程中可能發生的錯誤 以下是一個使用小朋友睡著作為例子的簡單程式碼 // SPDX-License-Identifier: MIT pragma solidity ^0.8.0; contract Child { bool publ
    1. Takeaway Data Structures 資料結構 - Array, Mapping, Struct 與 Enum 及程式碼實作 - 50:14 Returns - 12:21 Visibility 可視性 - public, private, external, interna
    你可能也想看
    Google News 追蹤
    Thumbnail
    接下來第二部分我們持續討論美國總統大選如何佈局, 以及選前一週到年底的操作策略建議 分析兩位候選人政策利多/ 利空的板塊和股票
    Thumbnail
    🤔為什麼團長的能力是死亡筆記本? 🤔為什麼像是死亡筆記本呢? 🤨作者巧思-讓妮翁死亡合理的幾個伏筆
    ▍盤勢分析 加權開盤小跌後一路拉過平盤小漲 可惜 12 點開始後繼無力 終場下跌 32 點,收 17512.83,又跌破五日線 櫃買開低後一路拉過平盤,但 10 點後一路走跌,人氣渙散 ▍籌碼分析 現貨: 外資買超 27.39 E => 多 期貨:
    Thumbnail
    昨日大盤開盤小漲 盤勢緩步拉升 收場上漲79點 量增至成交量3000億 收了一根紅K 受NVIDIA股價
    Thumbnail
    昨天來回超過300點 但要能來回做很難 我們能做單邊做對就不錯了 昨天群組更新壓力區滿足 那根據606滿足點為新壓力 只要拉上來不超過606先做空 所以昨天夜盤我分別在590 已經CPI 後下殺拉回的瞬間 540(五日線)放空 也順利來到講義後的442、425、397/ 這些
    Thumbnail
    1/11 今日加權指數在平盤附近盤中走高,震幅大約100點,收小紅K,上漲79點,收17545,成交量3075億。 1/11 今日otc開高走高收最高,收長紅K,上漲2.3點,收231.71,成交量689.9億。 今天三大法人,外資買超36億、投信買超13億、自營商買超8億,融資2440億(
    Thumbnail
    通膨數據之日、拜登藏秘密、俄國繼續凹單
    Thumbnail
    車主剛入手wish一週 , 網路上好車不多 , 便宜的車回來都要花錢了 駕駛座車門有共震異音 中扶手也破皮了 原廠新品 感謝車主來結緣
    Thumbnail
    連哥年前來巡車況和更換後箱膠條 原廠新品已停止供應 , 只剩材料行還可以問得到 有料當思無料之苦 年前最後一洗 打蠟交車 , 感謝連哥捧場
    在前面的章節主要是關於理財的方式,跟如何透過銀行自動化理財,接著就要來討論「投資」這件事情。 投資前的心理建設 在作投資這件事情之前,一定要先將自身或家庭的財務金流狀況作瞭解,如此才可以規劃出可支配的投資資金,意思就是說你要了解你自己包含家庭的財務能力跟支出範圍才能做好規劃,才能評估風險。 「投資」
    Thumbnail
    接下來第二部分我們持續討論美國總統大選如何佈局, 以及選前一週到年底的操作策略建議 分析兩位候選人政策利多/ 利空的板塊和股票
    Thumbnail
    🤔為什麼團長的能力是死亡筆記本? 🤔為什麼像是死亡筆記本呢? 🤨作者巧思-讓妮翁死亡合理的幾個伏筆
    ▍盤勢分析 加權開盤小跌後一路拉過平盤小漲 可惜 12 點開始後繼無力 終場下跌 32 點,收 17512.83,又跌破五日線 櫃買開低後一路拉過平盤,但 10 點後一路走跌,人氣渙散 ▍籌碼分析 現貨: 外資買超 27.39 E => 多 期貨:
    Thumbnail
    昨日大盤開盤小漲 盤勢緩步拉升 收場上漲79點 量增至成交量3000億 收了一根紅K 受NVIDIA股價
    Thumbnail
    昨天來回超過300點 但要能來回做很難 我們能做單邊做對就不錯了 昨天群組更新壓力區滿足 那根據606滿足點為新壓力 只要拉上來不超過606先做空 所以昨天夜盤我分別在590 已經CPI 後下殺拉回的瞬間 540(五日線)放空 也順利來到講義後的442、425、397/ 這些
    Thumbnail
    1/11 今日加權指數在平盤附近盤中走高,震幅大約100點,收小紅K,上漲79點,收17545,成交量3075億。 1/11 今日otc開高走高收最高,收長紅K,上漲2.3點,收231.71,成交量689.9億。 今天三大法人,外資買超36億、投信買超13億、自營商買超8億,融資2440億(
    Thumbnail
    通膨數據之日、拜登藏秘密、俄國繼續凹單
    Thumbnail
    車主剛入手wish一週 , 網路上好車不多 , 便宜的車回來都要花錢了 駕駛座車門有共震異音 中扶手也破皮了 原廠新品 感謝車主來結緣
    Thumbnail
    連哥年前來巡車況和更換後箱膠條 原廠新品已停止供應 , 只剩材料行還可以問得到 有料當思無料之苦 年前最後一洗 打蠟交車 , 感謝連哥捧場
    在前面的章節主要是關於理財的方式,跟如何透過銀行自動化理財,接著就要來討論「投資」這件事情。 投資前的心理建設 在作投資這件事情之前,一定要先將自身或家庭的財務金流狀況作瞭解,如此才可以規劃出可支配的投資資金,意思就是說你要了解你自己包含家庭的財務能力跟支出範圍才能做好規劃,才能評估風險。 「投資」