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"
}
]