Skip to content

Instantly share code, notes, and snippets.

@jessgusclark
Last active December 2, 2017 20:28
Show Gist options
  • Save jessgusclark/18e04c2e851d99fddfda9bf07de829a0 to your computer and use it in GitHub Desktop.
Save jessgusclark/18e04c2e851d99fddfda9bf07de829a0 to your computer and use it in GitHub Desktop.
Jesse's HelloWorld in Solidity
pragma solidity ^0.4.0;
contract HelloWorld {
uint private magicNumber;
address private magicPerson;
// constructor
function HelloWorld() public {
log0("HelloWorld constructor started");
// create a random number between 1 and 10;
// reference: https://www.reddit.com/r/ethereum/comments/442z66/how_to_generate_a_number_between_110_in_solidity/
magicNumber = uint(block.blockhash(block.number-1))%10 + 1;
}
function setMagicNumber(uint _number) public{
log0("Setting Magic Number");
// error checking, don't wanna waste gas
require(_number != magicNumber);
magicNumber = _number;
magicPerson = msg.sender;
}
function getMagicNumber() public constant returns(uint magic){
return magicNumber;
}
function getMagicSender() public constant returns(address){
return magicPerson;
}
function getMagicSha() public constant returns(bytes32){
//return keccak256(magicNumber);
return keccak256( getMagicNumber() );
}
}
@jessgusclark
Copy link
Author

Changed extension to .js for code highlighting, .sol just showed black text.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment