Blockchain / Global / Address

Contract

0x05a869c3b5400aF6D91cBcFBb00BDc6B1c32284A

Balance
0 SOMI
Transactions sent
1
Type
Contract · 2,477 bytes of code

Greeter Verified

Compiler
solc 0.8.20+commit.a1b79de6
Language
Solidity
Optimization
No
EVM version
—
License
—
Verified
2026-10-12

Greeter.sol

Solidity
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20; // Latest stable version as of 2024

contract Greeter {
    string private greeting;
    address public owner;
    event GreetingChanged(string newGreeting);
    event GreetingSent(address sender, string message);

    constructor() {
        owner = msg.sender;
        greeting = unicode"Good Morning! ☀️"; // Default greeting with emoji
    }

    modifier onlyOwner() {
        require(msg.sender == owner, "Not owner");
        _;
    }

    // Update greeting (owner-only)
    function setGreeting(string memory _newGreeting) external onlyOwner {
        greeting = _newGreeting;
        emit GreetingChanged(_newGreeting);
    }

    // Public view function to read current greeting
    function getGreeting() external view returns (string memory) {
        return greeting;
    }

    // Emit greeting with sender's address
    function sayGM() external {
        emit GreetingSent(msg.sender, greeting);
    }

    // Overloaded version to send custom greeting
    function sayGM(string memory _customGreeting) external {
        emit GreetingSent(msg.sender, _customGreeting);
    }
}
ABI · 8 entries
json
[
  {
    "type": "constructor",
    "inputs": [],
    "stateMutability": "nonpayable"
  },
  {
    "name": "GreetingChanged",
    "type": "event",
    "inputs": [
      {
        "name": "newGreeting",
        "type": "string",
        "indexed": false,
        "internalType": "string"
      }
    ],
    "anonymous": false
  },
  {
    "name": "GreetingSent",
    "type": "event",
    "inputs": [
      {
        "name": "sender",
        "type": "address",
        "indexed": false,
        "internalType": "address"
      },
      {
        "name": "message",
        "type": "string",
        "indexed": false,
        "internalType": "string"
      }
    ],
    "anonymous": false
  },
  {
    "name": "getGreeting",
    "type": "function",
    "inputs": [],
    "outputs": [
      {
        "name": "",
        "type": "string",
        "internalType": "string"
      }
    ],
    "stateMutability": "view"
  },
  {
    "name": "owner",
    "type": "function",
    "inputs": [],
    "outputs": [
      {
        "name": "",
        "type": "address",
        "internalType": "address"
      }
    ],
    "stateMutability": "view"
  },
  {
    "name": "sayGM",
    "type": "function",
    "inputs": [],
    "outputs": [],
    "stateMutability": "nonpayable"
  },
  {
    "name": "sayGM",
    "type": "function",
    "inputs": [
      {
        "name": "_customGreeting",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [],
    "stateMutability": "nonpayable"
  },
  {
    "name": "setGreeting",
    "type": "function",
    "inputs": [
      {
        "name": "_newGreeting",
        "type": "string",
        "internalType": "string"
      }
    ],
    "outputs": [],
    "stateMutability": "nonpayable"
  }
]