Skip to content

Instantly share code, notes, and snippets.

@gentlyawesome
Created June 16, 2023 05:42
Show Gist options
  • Save gentlyawesome/c5efe4154f14652acdc29d02bfa7376f to your computer and use it in GitHub Desktop.
Save gentlyawesome/c5efe4154f14652acdc29d02bfa7376f to your computer and use it in GitHub Desktop.
pragma solidity ^0.8.0;
contract MyContract {
// State variables
uint public myVariable;
// Events
event MyEvent(uint indexed value);
// Constructor
constructor() {
myVariable = 0;
}
// Modifiers
modifier onlyOwner() {
require(msg.sender == owner, "Only the contract owner can call this function");
_;
}
// Functions
function myFunction() external {
myVariable++;
emit MyEvent(myVariable);
}
// Internal functions
function internalFunction() internal pure returns (uint) {
return 42;
}
// External functions
function externalFunction() external pure returns (uint) {
return 100;
}
// Private functions
function privateFunction() private pure returns (string memory) {
return "Hello, private function!";
}
// Fallback function
fallback() external {
// Handle incoming Ether
}
// Receive function
receive() external payable {
// Handle incoming Ether
}
// Struct
struct MyStruct {
uint value;
string name;
}
// Enum
enum MyEnum {
Value1,
Value2,
Value3
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment