Solidity: Data type in 2min!!

Solidity: Data type in 2min!!

Certainly! Here's a simple tutorial on data types in Solidity, a programming language used for writing smart contracts on the Ethereum blockchain.

1. Integer Types

Solidity provides several integer types of different sizes.

  • int
    int represents signed integers (can be positive or negative).

  • Unit

    number of bits they use (e.g., uint8, uint256, int16, etc.). uint represents unsigned integers (only positive)

uint256 public myUnsignedInteger; // only positive values
int32 public mySignedInteger; // can be postive or negative

2. Boolean Type

The bool type is used to represent Boolean values - true or false.

bool public isTrue;

3. Address Type

The address type is used to store Ethereum addresses. It can hold the address of a user or another smart contract.

address public userAddress; // 0x0000000000000000000000000000 null address

4. Fixed Point Types

Solidity supports fixed-point types for decimal arithmetic. The most common ones are ufixed and fixed. You can specify both the number of bits and the decimal places.

ufixed8x2 public myFixedNumber; // 8 bits for the whole part and 2 bits for the fractional part

5. Bytes and String Types

Solidity provides bytes for any-length of raw bytes and string for variable-length strings.

bytes public myBytes; 
string public myString;

6. Enum Types

Enums are user-defined data types that represent a finite set of values.

enum State { Created, Active, Inactive }
State public currentState;

7. Array Types

Solidity supports both fixed-size and dynamic arrays.

uint[] public dynamicArray; // Dynamic array
uint[5] public fixedArray;   // Fixed-size array with 5 elements

8. Mapping Types

Mappings are used to associate values with specific keys.

mapping(address => uint) public balances;
balance[0x743acd....be31F] => 120 ETH
            address          uint

9. Struct Types

Structs allow you to define custom composite data types.

struct Person {
    string name;
    uint age;
}
Person public myPerson;

10. Function Types

Solidity also has special data types for functions. You can use these to declare variables that can store function references.

function myFunction() public pure returns (uint) {
    return 42;
}
function (uint) internal returnsBool = myFunction;

These are the basic data types in Solidity. Understanding how to use them is fundamental when writing smart contracts on the Ethereum blockchain. Solidity's data types provide the building blocks for creating complex and secure decentralized applications.

Did you find this article valuable?

Support 0xNishchit by becoming a sponsor. Any amount is appreciated!