-
Notifications
You must be signed in to change notification settings - Fork 0
/
Simple_Storage.sol
40 lines (28 loc) · 1.31 KB
/
Simple_Storage.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
//SPDX-License-Identifier: MIT
pragma solidity ^0.6.0; //Defining Version of Solidity
contract SimpleStorage {
//Contract Intiation
uint256 favoriteNumber; //Declaring varible type and varible
//this will get intialized to 0 by default!
struct People {
//Declaring Struct People to have favoriteNumber & name assoicated
uint256 favoriteNumber;
string name;
}
People[] public people; //Declaring People array, so multiple number-name pair can be stored
mapping(string => uint256) public nameToFavoriteNumber; //mapping to find favorite number of people by name
/*Store Function to store favoriteNumber,
public Visibility Quantifier so it can accessible to anyone,*/
function store(uint256 _favoriteNumber) public {
favoriteNumber = _favoriteNumber;
}
// To retrieve the favorite Number Stored, Only recent favoriteNumber
function retrieve() public view returns (uint256) {
return favoriteNumber;
}
//addPerson Function to store favoriteNumber-name pair
function addPerson(string memory _name, uint256 _favoriteNumber) public {
people.push(People(_favoriteNumber, _name)); //Pushing favoriteNumber & Name to People array
nameToFavoriteNumber[_name] = _favoriteNumber; //Mapping of favoriteNumber & Name
}
}