Hack. Eat. Sleep. Repeat!!!
sudo npm install --global solc
//version
pragma solidity 0.8.30; //use only 0.8.30
//use versions between 0.8.19 and 0.9.0 (excluded)
pragma solidity ^0.8.19;
pragma solidity >=0.8.19 <0.9.0;
//SPDX-License-Identifier: MIT
//solidity version
pragma solidity ^0.8.30;
solcjs-:solcjs --bin main.sol
//SPDX-License-Identifier: MIT
//solidity version
pragma solidity ^0.8.30;
contract simpleStorage {
//code goes thus
}
bool hasFavoriteNumber = true; //true or false
bool hasFavoriteNumber = true;
uint256 favoriteNumber = 88;
string favoriteNumberInText = "eighty-eight";
int256 favoriteInt = -88;
address myAddress = 0xAB1b7206aa6840C795aB7A6AE8b15417B7E63A8D;
bytes32 favoriteBytes32 = "cat";
function-://SPDX-License-Identifier: MIT
pragma solidity ^0.8.1;
contract Storage{
uint256 digit = 100;
function store(uint256 _digit) public {
digit = _digit;
}
}
uint256 public digit = 1000;
public
private
internal
external
//SPDX-License-Identifier: MIT
pragma solidity ^0.8.1;
contract Storage{
uint256 digit = 100;
function store(uint256 _digit) public {
digit = _digit;
}
//view
function retrieve() public view returns {
return digit;
}
//pure
function retrieve() public pure returns {
return 7;
}
}
uint256 numbers-:uint256[] digits = [0,10,90];
struct Person {
string name;
uint256 age;
}
Person public ade = Person("Ade",100);
Person[] public people;
Person[3] public three_people;
array of structs with a function.//function push to three_people array
function push_value(uint256 _negativeNumber, string memory _name) public{
people.push(Person(_negativeNumber,_name));
}
Calldata
Memory
Storage
Stack
Code
Logs
Calldata and memory are temporary storage locations during function execution.calldata is read-only, used for function inputs that can’t be modified. In contrast, memory allows for read-write access, letting variables be changed within the function. To modify calldata variables, they must first be loaded into memory.string memory name = "Ade";