diff options
| -rw-r--r-- | solidity.html.markdown | 16 | 
1 files changed, 13 insertions, 3 deletions
diff --git a/solidity.html.markdown b/solidity.html.markdown index 0fa1fddc..2adfc00b 100644 --- a/solidity.html.markdown +++ b/solidity.html.markdown @@ -81,12 +81,12 @@ contract AcmeBank {  // Now let's go through the basics of Solidity -// 1. DATA TYPES AND ASSOCIATED METHOD + +// 1. DATA TYPES AND ASSOCIATED METHODS  // uint is the data type typically used for currency (there are no doubles  //  or floats) and for dates  uint x; -  // with 'constant', the compiler replaces each occurence with the acutal value  // int of 256 bits, cannot be changed after instantiation  int constant a = 8; @@ -133,6 +133,7 @@ var a = true;  uint x = 5;  delete(x); // x is now 0 +  // 2. DATA STRUCTURES  // Arrays  bytes32[5] nicknames; // static array @@ -181,6 +182,7 @@ state = State.Created;  // 'memory' does not persist, 'storage' does  // Default is 'storage' for local and state variables; 'memory' for function parameters +  // 3. Variables of note  // ** this **  this; // the address of the current contract @@ -209,6 +211,7 @@ block.gasLimit();  // ** storage - A persistent storage hash (does not need to be declared) **  storage['abc'] = 'def'; // maps 256 bit words to 256 bit words +  // 4. FUNCTIONS AND MORE  // A. Functions  // Simple function @@ -290,6 +293,7 @@ function changeOwner(newOwner)    owner = newOwner;  } +  // 5. BRANCHING AND LOOPS  // All basic logic blocks work - including if/else, for, while, break, continue, return @@ -298,6 +302,7 @@ function changeOwner(newOwner)  // Syntax is the same as javascript, but there is no type conversion from  // non-boolean to boolean, so comparison operators must be used to get the boolean value +  // 6. OBJECTS/CONTRACTS  // A. Calling an external contract @@ -350,6 +355,7 @@ import "github.com/ethereum/dapp-bin/library/iterable_mapping.sol";  // Importing is under active development and will change  // Importing cannot currently be done at the command line +  // 7. CONTRACT DESIGN PATTERNS  // A. Obfuscation @@ -383,6 +389,8 @@ function remove() {  // compilation may better handle this, but for now there are benefits to  // planning your data structures) + +  // *** EXAMPLE: Let's do a more complex example ***  // ** START EXAMPLE ** @@ -400,7 +408,7 @@ function remove() {  // ]  // *** END EXAMPLE *** -// Some final points +  // 7. NATIVE FUNCTIONS  // Currency units @@ -427,6 +435,7 @@ sha3("ab", "cd");  ripemd160("abc");  sha256("def"); +  // 8. COMMON MISTAKES/MISCONCEPTIONS  // A few common mistakes and misconceptions: @@ -441,6 +450,7 @@ sha256("def");  // TODO +  // 9. STYLE NOTES  // Use 4 spaces for indentation  // (Python's PEP8 is used as the baseline style guide, including its general philosophy)  | 
