Skip to content

Commit

Permalink
Merge pull request adambard#3340 from divayprakash/fix-solidity
Browse files Browse the repository at this point in the history
Fix solidity, replace constant function with view function
  • Loading branch information
divayprakash authored Oct 28, 2018
2 parents 83f27cc + ecf0baa commit 598fc6d
Showing 1 changed file with 11 additions and 10 deletions.
21 changes: 11 additions & 10 deletions solidity.html.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ filename: learnSolidity.sol
contributors:
- ["Nemil Dalal", "https://www.nemil.com"]
- ["Joseph Chow", ""]
- ["Bhoomtawath Plinsut", "https://github.com/varshard"]
---

Solidity lets you program on [Ethereum](https://www.ethereum.org/), a
Expand Down Expand Up @@ -109,10 +110,9 @@ contract SimpleBank { // CapWords

/// @notice Get balance
/// @return The balance of the user
// 'constant' prevents function from editing state variables;
// 'view' (ex: constant) prevents function from editing state variables;
// allows function to run locally/off blockchain
// NOTE: 'constant' on functions is an alias to 'view', but this is deprecated and is planned to be dropped in version 0.5.0.
function balance() constant public returns (uint) {
function balance() view public returns (uint) {
return balances[msg.sender];
}
}
Expand Down Expand Up @@ -342,25 +342,26 @@ function increment(uint x, uint y) returns (uint x, uint y) {
// Call previous functon
uint (a,b) = increment(1,1);

// 'constant' (alias for 'view')
// 'view' (alias for 'constant')
// indicates that function does not/cannot change persistent vars
// Constant function execute locally, not on blockchain
// View function execute locally, not on blockchain
// Noted: constant keyword will soon be deprecated.
uint y = 1;

function increment(uint x) constant returns (uint x) {
function increment(uint x) view returns (uint x) {
x += 1;
y += 1; // this line would fail
// y is a state variable, and can't be changed in a constant function
// y is a state variable, and can't be changed in a view function
}

// 'pure' is more strict than 'constant', and does not
// 'pure' is more strict than 'view' or 'constant', and does not
// even allow reading of state vars
// The exact rules are more complicated, so see more about
// constant/pure:
// view/pure:
// http://solidity.readthedocs.io/en/develop/contracts.html#view-functions

// 'Function Visibility specifiers'
// These can be placed where 'constant' is, including:
// These can be placed where 'view' is, including:
// public - visible externally and internally (default for function)
// external - only visible externally (including a call made with this.)
// private - only visible in the current contract
Expand Down

0 comments on commit 598fc6d

Please sign in to comment.