Learn Solidity - Build Decentralized Application in Ethereum

Learn Solidity: Globally Available Variables & Functions

In this post, we will understand the globally available variables & functions in solidity programming language. [pastacode lang=”javascript” manual=”pragma%20solidity%200.4.8%3B%20%0A%0A%2F*%0A*%20%40title%20Learn%20Solidity%3A%20Globally%20Available%20Variables%20%26%20Functions%20in%20Solidity%20Programming%20Language%0A*%20%40author%20Toshendra%20Sharma%0A*%20%40notice%20Example%20for%20the%20Learn%20Solidity%20Series%0A*%2F%0A%0A%2F%2F%20There%20are%20many%20global%20%0A%0Acontract%20GlobalVariablesAndFunctions%20%7B%0A%0A%20%20%20%20%2F%2F%20msg%20represent%20the%20current%20message%20received%20by%20the%20contracts%20during%20the%20execution.%20%0A%20%20%20%20%2F%2F%20So%20when%20you%20as%20a%20user%20send%20a%20message%20to%20contract%20or%20make%20a%20function%20call%20from%20drop%20down%20menu%20of%20mist%20wallet%0A%20%20%20%20%2F%2F%20you%20catually%20send%20a%20message%20to%20contract%20which%20can%20be%20accessed%20by%20using%20msg%0A%0A%20%20%20%20%2F%2F%20using%20msg.sender%20you%20can%20access%20then%20address%20of%20the%20sender%0A%20%20%20%20msg.sender%3B%0A%0A%20%20%20%20%2F%2F%20amount%20of%20ether%20provided%20to%20this%20contract%20in%20wei%20can%20be%20accessed%20like%20this%0A%20%20%20%20msg.value%3B%20%0A%0A%20%20%20%20%2F%2F%20complete%20call%20data%20in%20bytes%20can%20be%20accessed%20like%20this%0A%20%20%20%20msg.data%3B%20%0A%0A%20%20%20%20%2F%2F%20you%20can%20access%20the%20remaining%20gas%20like%20this%0A%20%20%20%20msg.gas%3B%20%0A%0A%20%20%20%20%2F%2F%20you%20can%20return%20the%20first%20four%20bytes%20of%20the%20call%20data%20like%20this%0A%20%20%20%20msg.sig%3B%20%0A%0A%20%20%20%20%0A%0A%20%20%20%20%2F%2F%20similarly%20tx%20represent%20the%20current%20transaction%20in%20smart%20contract%0A%0A%20%20%20%20%2F%2F%20you%20can%20access%20address%20of%20sender%20of%20the%20transaction%20like%20this%0A%20%20%20%20tx.origin%3B%20%0A%0A%20%20%20%20%2F%2F%20you%20can%20access%20the%20gas%20price%20of%20the%20transaction%0A%20%20%20%20tx.gasprice%3B%20%0A%0A%0A%20%20%20%20%0A%20%20%20%20%2F%2F%20now%20will%20give%20you%20the%20current%20time%20approximately%20in%20unix%20timestamp%20format%0A%20%20%20%20now%3B%20%0A%0A%20%20%20%20%2F%2F%20like%20msg%20%26%20tx%2C%20block%20represent%20the%20information%20about%20the%20current%20Block%0A%0A%20%20%20%20block.number%3B%20%2F%2F%20current%20block%20number%0A%20%20%20%20block.difficulty%3B%20%2F%2F%20current%20block%20difficulty%0A%20%20%20%20block.blockhash(1)%3B%20%2F%2F%20returns%20bytes32%2C%20only%20works%20for%20most%20recent%20256%20blocks%0A%20%20%20%20block.gasLimit()%3B%20%2F%2Freturn%20Gas%20limit%0A%20%20%20%20block.coinbase%20()%3B%20%2F%2F%20return%20current%20block%20miner%E2%80%99s%20address%0A%0A%20%20%20%20%2F%2F%20there%20are%20manu%20athematical%20and%20Cryptographic%20Functions%20as%20well%20%0A%20%20%20%20%2F%2F%20which%20you%20can%20access%20anywhere%20in%20smart%20contracts%0A%20%20%20%20assert(bool%20condition)%3B%20%2F%2F%20throws%20an%20exception%20if%20the%20condition%20is%20not%20met.%0A%20%20%20%20addmod(uint%20x%2C%20uint%20y%2C%20uint%20k)%3B%20%2F%2F%20returns%20(uint)%3B%20%20%2F%2Fcompute%20(x%20%2B%20y)%20%25%20k%20where%20the%20addition%20is%20performed%20with%20arbitrary%20precision%20and%20does%20not%20wrap%20around%20at%202**256.%0A%20%20%20%20mulmod(uint%20x%2C%20uint%20y%2C%20uint%20k)%3B%2F%2F%20returns%20(uint)%3B%20%2F%2F%20compute%20(x%20*%20y)%20%25%20k%20where%20the%20multiplication%20is%20performed%20with%20arbitrary%20precision%20and%20does%20not%20wrap%20around%20at%202**256.%0A%20%20%20%20keccak256(…)%3B%20%2F%2F%20returns%20(bytes32)%3B%20%2F%2F%20compute%20the%20Ethereum-SHA-3%20(Keccak-256)%20hash%20of%20the%20(tightly%20packed)%20arguments%0A%20%20%20%20sha3(…)%3B%20%2F%2F%20returns%20(bytes32)%3B%20%2F%2F%20alias%20to%20keccak256()%0A%20%20%20%20sha256(…)%3B%20%2F%2F%20returns%20(bytes32)%20%2F%2F%20compute%20the%20SHA-256%20hash%20of%20the%20(tightly%20packed)%20arguments%0A%20%20%20%20ripemd160(…)%3B%20%2F%2F%20returns%20(bytes20)%20%2F%2F%20compute%20RIPEMD-160%20hash%20of%20the%20(tightly%20packed)%20arguments%0A%20%20%20%20ecrecover(bytes32%20hash%2C%20uint8%20v%2C%20bytes32%20r%2C%20bytes32%20s)%3B%20%2F%2F%20returns%20(address)%20%2F%2F%20recover%20the%20address%20associated%20with%20the%20public%20key%20from%20elliptic%20curve%20signature%20or%20return%20zero%20on%20error%0A%20%20%20%20revert()%3B%20%2F%2F%20abort%20execution%20and%20revert%20state%20changes%0A%20%20%20%20%2F%2F%20sha3(%22ab%22%2C%20%22c%22)%20%3D%3D%20sha3(%22abc%22)%20%3D%3D%20sha3(0x616263)%20%3D%3D%20sha3(6382179)%20%3D%20sha3(97%2C%2098%2C%2099)%0A%0A%20%20%20%20%2F%2F%20Address%20Related%0A%20%20%20%20%3Caddress%3E.balance%3B%20%2F%2F%20returns%20(uint256)%3B%20%2F%2F%20balance%20of%20the%20Address%20in%20Wei%0A%20%20%20%20%3Caddress%3E.send(uint256%20amount)%3B%20%2F%2F%20returns%20(bool)%3B%20%2F%2Fsend%20given%20amount%20of%20Wei%20to%20Address%2C%20returns%20false%20on%20failure%0A%20%20%20%20%3Caddress%3E.transfer(uint256%20amount)%3B%20%2F%2F%20send%20given%20amount%20of%20Wei%20to%20Address%2C%20but%20throws%20on%20failure%0A%0A%20%20%20%20%2F%2F%20Contracts%20Related%0A%20%20%20%20this%3B%20%2F%2F%20(current%20contract%E2%80%99s%20type)%20the%20current%20contract%2C%20explicitly%20convertible%20to%20Address%0A%20%20%20%20selfdestruct(address%20recipient)%3B%20%2F%2F%20destroy%20the%20current%20contract%2C%20sending%20its%20funds%20to%20the%20given%20Address%0A%0A%0A%0A%20%20%20%20%2F%2F%20Define%20consutruct%20here%0A%20%20%20%20function%20GlobalVariablesAndFunctions(uint%20initialCoins)%20%7B%0A%20%20%20%20%20%20%20%2F%2F%20Initialize%20state%20variables%20here%0A%20%20%20%20%7D%0A%0A%7D” message=”” highlight=”” provider=”manual”/]  
Read More
Learn Solidity - Build Decentralized Application in Ethereum

Learn Solidity: Ether Units & Time Units in Solidity Programming Language

In this post, we will understand the standard Ether units & time-related units in Solidity Programming Language. [pastacode lang=”javascript” manual=”pragma%20solidity%200.4.8%3B%20%0A%0A%2F*%0A*%20%40title%20Learn%20Solidity%3A%20Ether%20Units%20%26%20Time%20Units%20in%20Solidity%20Programming%20Language%0A*%20%40author%20Toshendra%20Sharma%0A*%20%40notice%20Example%20for%20the%20Learn%20Solidity%20Series%0A*%2F%0A%0A%2F%2F%20Solidity%20define%20many%20types%20of%20especial%20units%20or%20variables%20lets%20check%20the%20units%20here%20%0A%2F%2F%20then%20we%20will%20talk%20about%20global%20variables%20%26%20functions%20in%20next%20lecture%0A%0Acontract%20Units%20%7B%0A%20%20%20%20%2F%2F%20Ether%20Units%20are%20available%20as%20a%20global%20variables%0A%20%20%20%20%2F%2F%20wei%2C%20finney%2C%20szabo%20%26%20ether%20are%20variable%20themself%0A%20%20%20%20%2F%2F%20variable%20can%20not%20be%20named%20as%20the%20ether%2C%20finney%2C%20szabo%2C%20wei%20%0A%20%20%20%20%2F%2F%20use%20http%3A%2F%2Fether.fund%2Ftool%2Fconverter%20for%20more%20such%20conversion%0A%20%20%20%20bool%20isEqual%20%3D%20(2%20ether%20%3D%3D%202000%20finney)%3B%0A%0A%0A%20%20%20%20%2F%2F%20Time%20Units%20are%20also%20availabel%20in%20solidity%20like%20this%20%0A%20%20%20%20%2F%2F%20seconds%2C%20minutes%2C%20hours%2C%20days%2C%20weeks%2C%20years%20are%20all%20available%20at%20time%20units%20to%20be%20used%0A%20%20%20%20%2F%2F%20can%20be%20used%20anywher%20in%20the%20program%20like%20mentioned%20below%0A%20%20%20%20bool%20isEqual%20%3D%20(1%20%3D%3D%201%20seconds)%3B%0A%20%20%20%20bool%20isEqual%20%3D%20(1%20minutes%20%3D%3D%2060%20seconds)%3B%0A%20%20%20%20bool%20isEqual%20%3D%20(1%20hours%20%3D%3D%2060%20minutes)%3B%0A%20%20%20%20bool%20isEqual%20%3D%20(1%20days%20%3D%3D%2024%20hours)%3B%0A%20%20%20%20bool%20isEqual%20%3D%20(1%20weeks%20%3D%207%20days)%3B%0A%20%20%20%20bool%20isEqual%20%3D%20(1%20years%20%3D%20365%20days)%3B%0A%0A%0A%20%20%20%20Define%20consutruct%20here%0A%20%20%20%20function%20Units(uint%20initialCoins)%20%7B%0A%20%20%20%20%20%20%20%2F%2F%20Initialize%20state%20variables%20here%0A%20%20%20%20%7D%0A%0A%7D” message=”” highlight=”” provider=”manual”/]  
Read More
Learn Solidity - Build Decentralized Application in Ethereum

Learn Solidity: General Value or Data Types in Solidity

In this post, we will understand the general value types or data types in Solidity programming language. [pastacode lang=”javascript” manual=”pragma%20solidity%200.4.8%3B%20%0A%0A%2F*%0A*%20%40title%20A%20Simple%20Value%20Type%20Example%0A*%20%40author%20Toshendra%20Sharma%0A*%20%40notice%20Example%20for%20the%20Solidity%20Course%0A*%20%40dev%20This%20line%20is%20for%20developers%20only%0A*%20%0A*%2F%0A%2F*%0AHello%20guys%2C%20lets%20tak%20about%20the%20value%20types%20also%20known%20as%20data%20types%20in%20Solidity.%0A%0AThey%20are%20called%20value%20types%20because%20variables%20of%20these%20types%20will%20always%20be%20passed%20by%20value%2C%20%0Afor%20example%2C%20they%20are%20always%20copied%20when%20they%20are%20used%20as%20function%20arguments%20or%20in%20assignments.%0A%0ASo%20let’s%20start%20with%20out%20basic%20contract%20and%20understand%20the%20value%20types%20one%20by%20one.%0A%0AAs%20I%20have%20already%20explained.%20Pragma%20will%20be%20the%20first%20line.%20and%20then%20we%20will%20start%20the%20contract.%0A%0A%0A%0A*%2F%0Acontract%20generalValueTypesContract%20%7B%0A%0A%20%20%20%20%2F%2F%20first%20and%20the%20most%20common%20value%20type%20is%20uint.%20%0A%20%20%20%20%2F%2F%20uint%20is%20mostly%20used%20for%20currency%20value%20or%20amount%20as%20there%20is%20not%20float%20or%20double%20in%20that%20case%0A%20%20%20%20%2F%2F%20it%20can%20also%20be%20used%20for%20storing%20Unix%20timestamp%20as%20it%20store%20a%20very%20large%20number%0A%20%20%20%20%2F%2F%20uint%20stores%20the%20data%20in%20256%20bits%20or%2032%20byte.%20Due%20to%20being%20unsiged%20it%20can%20store%20a%20very%20large%20number.%0A%20%20%20%20%2F%2F%20this%20is%20how%20we%20declare%20uint%0A%20%20%20%20uint%20x%3B%0A%0A%20%20%20%20%2F%2F%20you%20can%20also%20initialize%20the%20uint%20during%20the%20declaration%20like%20this%0A%20%20%20%20uint%20x%20%3D%2045%3B%0A%0A%20%20%20%20%2F%2F%20int%20is%20a%20signed%20integer%20whose%20size%20is%20same%20like%20uint%20which%20is%20256%20bits%2C%0A%20%20%20%20int%20a%20%3D%2078%3B%20%0A%0A%20%20%20%20%2F%2Fif%20you%20make%20it%20constant%20by%20using%20the%20constant%20keyword%20like%20this%20%0A%20%20%20%20int%20constant%20variable1%20%3D%208%3B%0A%20%20%20%20%2F%2F%20then%20it%20cannot%20be%20changed%20after%20instantiation%20as%20it%20will%20be%20considered%20as%20constant%20by%20the%20compiler%0A%0A%20%20%20%20%2F%2F%20let’s%20specify%20the%20256%20explicitly%20then%20this%20will%20have%20same%20effect%20as%20line%20above.%20This%20is%20how%20we%20write%20it.%0A%20%20%20%20int256%20constant%20variable2%20%3D%208%3B%20%0A%0A%20%20%20%20%2F%2F%20you%20can%20also%20declare%20and%20then%20initialize%20the%20variable%20in%20hec%20like%20this.%20%0A%20%20%20%20%2F%2F%20Please%20note%20that%20constant%20will%20enable%20the%20compiler%20to%20relace%20all%20ouccurence%20of%20the%20variable%20in%20the%20code.%0A%20%20%20%20uint%20constant%20VERSION_ID%20%3D%200x123A1%3B%20%0A%0A%0A%20%20%20%20%2F%2F%20For%20int%20and%20uint%2C%20size%20can%20be%20explicitly%20set%20in%20steps%20of%208%20up%20to%20256%20for%20example%20int8%2C%20int16%2C%20int24%0A%20%20%20%20uint8%20b%3B%0A%20%20%20%20int64%20c%3B%0A%20%20%20%20uint248%20e%3B%0A%0A%20%20%20%20%2F%2F%20Let’s%20also%20check%20the%20typecasting%0A%20%20%20%20int%20x%20%3D%20int(b)%3B%0A%0A%20%20%20%20%2F%2F%20as%20you%20can%20see%20the%20variable%20b%20will%20be%20typecasted%20into%20int%20type%20and%20then%20stored%20in%20x%0A%0A%0A%20%20%20%20%2F%2F%20boolean%20variable%20can%20be%20declared%20by%20bool%20keyword%20like%20this%0A%20%20%20%20bool%20b%20%3D%20true%3B%20%0A%0A%20%20%20%20%2F%2F%20or%20this%20can%20also%20be%20declared%20by%20’var%20b%20%3D%20true%3B’%20for%20inferred%20typing%0A%20%20%20%20%2F%2F%20when%20you%20declare%20a%20variable%20using%20the%20var%20keyword%20then%20the%20variable’s%20type%20will%20be%20%0A%20%20%20%20%2F%2F%20defined%20by%20the%20first%20value%20which%20will%20be%20stored%20in%20it.%0A%20%20%20%20%20var%20a%20%3D%20true%3B%0A%0A%20%20%20%20%2F%2F%20let’s%20see%20how%20the%20address%20can%20be%20declared.%20%0A%20%20%20%20%2F%2F%20address%20is%20the%20soecial%20value%20type%20which%20holds%2020%20byte%2F160%20bit%20Ethereum%20addresses%20like%20this%0A%20%20%20%20address%20public%20owner%3B%0A%0A%20%20%20%20%2F%2F%20Bytes%20are%20also%20available%20from%201-32%20in%20size%20like%20this%0A%20%20%20%20%0A%20%20%20%20byte%20a%3B%20%2F%2F%20byte%20is%20same%20as%20bytes1%0A%20%20%20%20bytes2%20b%3B%0A%20%20%20%20bytes32%20c%3B%0A%0A%20%20%20%20%2F%2F%20dynamically%20sized%20bytes%20can%20also%20be%20declared%20like%20this%0A%20%20%20%20%0A%20%20%20%20bytes%20m%3B%20%0A%20%20%20%20%2F%2F%20it%20is%20actually%20a%20special%20array%2C%20same%20as%20byte%5B%5D%20array%20(but%20packed%20tightly)%0A%0A%20%20%20%20%2F%2F%20string%20is%20same%20as%20bytes%2C%20but%20string%20does%20not%20allow%20length%20or%20index%20access%20as%20of%20today.%0A%20%20%20%20%2F%2F%20this%20is%20how%20string%20is%20defined%0A%20%20%20%20string%20n%20%3D%20%22hello%22%3B%20%0A%20%20%20%20%2F%2F%20here%20string%20is%20stored%20in%20UTF8%2C%20note%20double%20quotes%2C%20not%20single%0A%0A%20%20%20%20%2F%2F%20lets%20check%20out%20the%20Arrays%0A%20%20%20%20%2F%2F%20this%20is%20a%20static%20array%20whose%20length%20is%205%20fixed%0A%20%20%20%20bytes32%5B5%5D%20nicknames%3B%20%0A%0A%20%20%20%20%2F%2F%20dynamic%20array%20whose%20length%20can%20be%20changed%20at%20any%20time%20can%20be%20specified%20like%20this%0A%20%20%20%20bytes32%5B%5D%20names%3B%20%0A%0A%20%20%20%20%2F%2F%20in%20an%20array%20you%20can%20add%20a%20new%20element%20using%20push%20function%20which%20returns%20new%20length%20of%20the%20array%20like%20this%0A%20%20%20%20uint%20newLength%20%3D%20names.push(%22John%22)%3B%20%0A%0A%20%20%20%20%2F%2F%20Dictionaries%20can%20also%20be%20defined%20in%20solidity%20which%20may%20any%20type%20to%20any%20other%20type%20like%20this%0A%20%20%20%20%2F%2F%20mapping(_KeyType%20%3D%3E%20_ValueType)%0A%20%20%20%20mapping%20(string%20%3D%3E%20uint)%20public%20balances%3B%0A%0A%20%20%20%20%2F%2Fplease%20note%20that%20value%20inside%20the%20mapping%20can%20also%20be%20the%20mapping%0A%0A%20%20%20%20%2F%2F%20Lets%20see%20Enums%20which%20are%20often%20used%20for%20state%20machine%20like%20this%0A%20%20%20%20enum%20State%20%7B%20Created%2C%20Locked%2C%20Inactive%20%7D%3B%20%0A%0A%20%20%20%20%2F%2F%20post%20this%20a%20variable%20can%20be%20Declared%20like%20this%0A%20%20%20%20State%20public%20state%3B%20%0A%0A%20%20%20%20%2F%2F%20Initializing%20the%20state%20can%20be%20done%20like%20this%0A%20%20%20%20state%20%3D%20State.Created%3B%0A%0A%20%20%20%20%2F%2F%20It%20is%20important%20to%20note%20that%20enums%20can%20be%20explicitly%20converted%20to%20ints%20like%20this%0A%20%20%20%20uint%20createdState%20%3D%20uint(State.Locked)%3B%20%0A%0A%0A%20%20%20%20%2F%2F%20Define%20consutruct%20here%0A%20%20%20%20function%20generalValueTypesContract(uint%20initialCoins)%20%7B%0A%20%20%20%20%20%20%20%2F%2F%20Initialize%20state%20variables%20here%0A%20%20%20%20%7D%0A%0A%7D” message=”” highlight=”” provider=”manual”/]
Read More
Learn Solidity - Build Decentralized Application in Ethereum

Learn Solidity: Layout of a Solidity Source File & Structure of Smart Contracts

In this post, we will understand the default standard structure of the Solidity-Based Smart Contract file which generally has the .sol extension. [pastacode lang=”javascript” manual=”%2F%2Fversiona%20pragma%0Apragma%20solidity%200.4.8%3B%20%0A%0A%2F%2Fimport%20section%0Aimport%20%22filename%22%3B%0A%0A%2F%2Fbegin%20the%20contract%0A%2F%2F%2F%20%40title%20This%20is%20the%20layout%20of%20the%20solidity%20code%0Acontract%20ContractName%20%7B%0A%20%20%20%20%2F*%0A%20%20%20%20*%20%40title%20A%20Simple%20Layout%20Example%0A%20%20%20%20*%20%40author%20Toshendra%20Sharma%0A%20%20%20%20*%20%40notice%20Example%20for%20the%20Solidity%20Course%0A%20%20%20%20*%20%40dev%20This%20line%20is%20for%20developers%20only%0A%20%20%20%20*%20%0A%20%20%20%20*%2F%0A%0A%20%20%20%20%2F%2F%20This%20is%20a%20single-line%20comment.%0A%0A%20%20%20%20%2F*%0A%20%20%20%20This%20is%20a%0A%20%20%20%20multi-line%20comment.%0A%20%20%20%20*%2F%0A%0A%20%20%20%20%2F%2F%20State%20Variables%0A%20%20%20%20address%20public%20stateVariable1%3B%0A%20%20%20%20uint%20public%20stateVariable2%3B%0A%20%20%20%20uint%20private%20stateVariable3%3B%0A%20%20%20%20string%20public%20constant%20HOST_ID%20%3D%200×1234%3B%0A%0A%20%20%20%20%2F%2F%20Events%0A%20%20%20%20event%20LogEvent1(address%20param1%2C%20uint%20param2)%3B%0A%20%20%20%20event%20LogEvent2(address%20param1)%3B%0A%20%20%20%20event%20LogEvent3()%3B%0A%0A%20%20%20%20%2F%2F%20Function%20Modifiers%0A%20%20%20%20modifier%20onlyIfOwnerModifier()%20%7B%20%0A%20%20%20%20%20%20%20%20if%20(msg.sender%20!%3D%20owner)%20throw%3B%0A%20%20%20%20%20%20%20%20_%3B%0A%20%20%20%20%7D%0A%0A%20%20%20%20modifier%20onlyIfMortalModifier()%20%7B%20%0A%20%20%20%20%20%20%20%20if%20(msg.sender%20!%3D%20mortal)%20throw%3B%0A%20%20%20%20%20%20%20%20_%3B%0A%20%20%20%20%7D%0A%0A%20%20%20%20%2F%2F%20Struct%2C%20arrays%20or%20Enum%20if%20any%20here%0A%20%20%20%20enum%20enum1%20%7B%20val1%2C%20val2%2C%20val3%20%7D%0A%20%20%20%20struct%20struct1%20%7B%20%0A%20%20%20%20%20%20%20%20uint%20weight%3B%0A%20%20%20%20%20%20%20%20uint%20height%3B%0A%20%20%20%20%20%20%20%20address%20location%3B%0A%20%20%20%20%7D%0A%20%20%20%20mapping%20(address%20%3D%3E%20uint)%20balances%3B%0A%0A%0A%20%20%20%20%2F%2F%20Define%20consutruct%20here%0A%20%20%20%20function%20ContractName(uint%20initialCoins)%20%7B%0A%20%20%20%20%20%20%20%2F%2F%20Initialize%20state%20variables%20here%0A%20%20%20%20%7D%0A%0A%20%20%20%20%2F%2F%2F%20%40dev%20Comment%20for%20developers%0A%20%20%20%20%2F%2F%2F%20%40param%20parameters%20details%0A%20%20%20%20%2F%2F%2F%20%40return%20return%20variable%20details%0A%20%20%20%20function%20function1(address%20param1%2C%20uint%20param2)%20%7B%0A%20%20%20%20%20%20%20%2F%2Fbody%20of%20function%20here%0A%20%20%20%20%20%20%20%2F%2F%0A%20%20%20%20%20%20%20%2F%2F%0A%20%20%20%20%7D%0A%0A%20%20%20%20%2F%2F%2F%20%40dev%20Comment%20for%20developers%0A%20%20%20%20%2F%2F%2F%20%40param%20parameters%20details%0A%20%20%20%20%2F%2F%2F%20%40return%20return%20variable%20details%0A%20%20%20%20function%20function2(address%20param1%2C%20uint%20param2)%20%7B%0A%20%20%20%20%20%20%20%2F%2Fbody%20of%20function%20here%0A%20%20%20%20%20%20%20%2F%2F%0A%20%20%20%20%20%20%20%2F%2F%0A%20%20%20%20%7D%0A%0A%20%20%20%20%2F%2Fdefault%20function%0A%20%20%20%20function()%7B%0A%20%20%20%20%20%20%20%20throw%3B%0A%20%20%20%20%7D%0A%0A%7D” message=”Default Structure of Solidity Files”…
Read More