iT邦幫忙

2022 iThome 鐵人賽

DAY 11
0
影片教學

在 2022 年,我們該如何寫智能合約系列 第 11

Function Modifier 函式修飾子

  • 分享至 

  • xImage
  •  

#鐵人賽 #ethereum #solidity

昨天的撲滿中,讓所有人都能領錢,這出事啦阿伯!!!
今天趕快教大家怎麼樣可以設定擁有者,並檢查是否為擁有者才能提領的功能。

介紹的功能有:

  1. 函式修飾子 Function Modifier
  2. 錯誤處理函式 require

本日影片: https://youtu.be/VQf0ToYy7oU
本日合約:

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

contract PiggyBank {
    address public owner;
    modifier onlyOwner() {
        require(owner == msg.sender, "Only owner can call this function");
        _;
    }
    constructor() payable {
        owner = msg.sender;
    }
    receive() payable external {}
    function withdraw() onlyOwner external {
        address payable Receiver = payable(msg.sender);
        Receiver.transfer(address(this).balance);
    }
}

本影片提到的連結:
「Remix IDE」: https://remix.ethereum.org/
「在 2022 年,我們該如何寫智能合約」: https://ithelp.ithome.com.tw/users/20083367/ironman/5019
「那些關於 Ethereum 的事」: https://ithelp.ithome.com.tw/users/20083367/ironman/5136
「一本關於 Ethereum 與 Solidity 智能合約的書」: https://solidity.tw
「文章或主題許願池」: https://github.com/hydai/solidity-book/issues
「本系列播放清單」: https://www.youtube.com/playlist?list=PLHmOMPRfmOxQYDnXAc1hKY6ra4WDU8ZlM


上一篇
發送 Ether 的方法:Send, Transfer
下一篇
Mapping Types 映射型態
系列文
在 2022 年,我們該如何寫智能合約30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言