Difference between revisions of "Solidity ethereum Language"
Jump to navigation
Jump to search
| Line 34: | Line 34: | ||
} | } | ||
==Bank account== | |||
pragma solidity ^0.4.0; | |||
contract BankAccount{ | |||
address client; | |||
bool _switch = false; | |||
// event will fire when called only workd in setters | |||
event UpdateStatus(string _msg, uint _amount); | |||
event test(string _msg2); | |||
// constructor | |||
function BankAccount(){ | |||
client = msg.sender; | |||
} | |||
// this will allow only the owner of the contrat to use | |||
/* | |||
so you create the modifier then add it to the functions that you want it to affect | |||
*/ | |||
modifier ifClient(){ | |||
if(msg.sender != client){ | |||
throw; | |||
} | |||
_; | |||
} | |||
function depositFunds() payable{ | |||
UpdateStatus("User has deposited", msg.value); | |||
test("funds deposited"); | |||
} | |||
function witdrawFunds(uint amount) ifClient{ | |||
// this returns a boolean | |||
if(client.send(amount)){ | |||
UpdateStatus("User has deposited ", 0); | |||
_switch = true; | |||
}else{ | |||
_switch = false; | |||
} | |||
} | |||
function getFunds() ifClient constant returns(uint) { | |||
return this.balance; | |||
} | |||
}// end contract | |||
Revision as of 21:56, 10 February 2018
Solidity Contract
pragma solidity ^0.4.0;
contract HelloWorldContract{
string word = "Hello";
address public issuer;
// constructor
function HelloWorldContract(){
issuer = msg.sender;
}
modifier ifIssuer(){
if(issuer != msg.sender){
throw;
}
else{
_; // this means continue
}
}
// creating a getter
// the keyword constant is used to make it a getter without it the contract would
// use gas and would be a setter
function getWord() constant returns(string){
return word;
}
// setter
function setWord(string newWord) returns(string){
word = newWord;
return word;
}
}
Bank account
pragma solidity ^0.4.0;
contract BankAccount{
address client;
bool _switch = false;
// event will fire when called only workd in setters
event UpdateStatus(string _msg, uint _amount);
event test(string _msg2);
// constructor
function BankAccount(){
client = msg.sender;
}
// this will allow only the owner of the contrat to use
/*
so you create the modifier then add it to the functions that you want it to affect
*/
modifier ifClient(){
if(msg.sender != client){
throw;
}
_;
}
function depositFunds() payable{
UpdateStatus("User has deposited", msg.value);
test("funds deposited");
}
function witdrawFunds(uint amount) ifClient{
// this returns a boolean
if(client.send(amount)){
UpdateStatus("User has deposited ", 0);
_switch = true;
}else{
_switch = false;
}
}
function getFunds() ifClient constant returns(uint) {
return this.balance;
}
}// end contract