Deploy a contract

1、open this website with chrome.

2、accept and then click next, done.

post image

3、click the small button(create new file),name new file with Function.sol

post image

You can get:

post image

4、copy this code to Function.sol

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.4;
contract FunctionTypes{
    uint256 public number = 5;
    
    constructor() payable {}

    // 函数类型
    // function (<parameter types>) {internal|external} [pure|view|payable] [returns (<return types>)]
    // 默认function
    function add() external{
        number = number + 1;
    }

    // pure: 纯纯牛马
    function addPure(uint256 _number) external pure returns(uint256 new_number){
        new_number = _number+1;
    }
    
    // view: 看客
    function addView() external view returns(uint256 new_number) {
        new_number = number + 1;
    }

    // internal: 内部
    function minus() internal {
        number = number - 1;
    }

    // 合约内的函数可以调用内部函数
    function minusCall() external {
        minus();
    }

    // payable: 递钱,能给合约支付eth的函数
    function minusPayable() external payable returns(uint256 balance) {
        minus();    
        balance = address(this).balance;
    }
}

5、click the red “1” and then click “2” to compile the file

 use a high level compiler , such as 0.8.8
post image

6、Turn the metamsk network to scroll alpha testnet, click “red 1”,

then choose injected provider-metamsk,

and then click deploy

post image