Solidity Steps
  • Learning Solidity
  • Step 1
    • 1: Introduction
    • 2: Data Types
    • 3: Functions
    • 4: Control Structures
    • 5: State Variable
    • 6: Local Variables
    • 7: Global Variables
    • 8: View Keyword
    • 9: Pure Keyword
  • STEP 2
    • 10: Immunable Keyword
    • 11: Events
    • 12: Condition
    • 13: While Loop
    • 14: Do While Loop
    • 15: For Loop
    • 16: Required
    • 17: Assert
    • 18: Revert
    • 19: Modifier
  • STEP 3
    • 20: Constructor
    • 21: Mapping
    • 22: Array
    • 23: Enum
    • 24: Structs
    • 25: Data Location
    • 26: Inheritance
    • 27: The Shadowing Effect
    • 28: Super Keyword
    • 29: Visibility
  • STEP 4
    • 30: Interface
    • 31: Abstract Contract
    • 32: Payable
    • 33: Using type()
    • 34: Sending Ether
    • 35: Receive
    • 36: Fallback
    • 37: Call
    • 38: DelegateCall
    • 39: Calling Other Contracts
  • STEP 5
    • 40: Factory Contract
    • 41: Proxy Contract
    • 42: Create2
    • 43: Try and Catch
    • 44: Solidity Library
    • 45: ABI Encoded
    • 46: ABI Decoded
    • 47: Keccak256
    • 48: Function Signature Hash
  • TIPS
    • Tips: Solidity by "Immunable"
    • Tips: Truffle Tutorial
    • Tips: Microblog Dapp
    • Tips: Reentrancy
    • Tips: Slither Tutorial
    • Tips: Remix Tutorial
    • Tips: Hardhat Tutorial
  • CAREER
    • 💲Cover Letter
    • 💲Resume
  • ABOUT
    • Contact me
Powered by GitBook
On this page
  • Using send
  • Using transfer
  • Using call
  1. STEP 4

34: Sending Ether

Ether is the native currency of the Ethereum blockchain, and it can be sent from one address to another. This article will provide some examples of how to send Ether using Solidity.

Using send

The send function allows you to send Ether from the current contract to an external account. It takes two arguments:

  • The recipient address

  • The amount of Ether to send

function sendEther() public {    
    address recipient = 0x12345...;    
    uint amount = 10 ether;    
    address(this).send(amount);
}

Tips: dont use send

Using transfer

The transfer function allows you to send Ether from the current contract to an external account. It takes two arguments:

  • The recipient address

  • The amount of Ether to send

function sendEther() public {    
    address recipient = 0x12345...;    
    uint amount = 10 ether;    
    address(this).transfer(recipient, amount);
}

Using call

The call function allows you to execute a function on an external contract. It takes three arguments:

  • The address of the external contract

  • The data for the function call

  • The amount of Ether to send (optional)

function sendEther() public {    
    address recipient = 0x12345...;    
    uint amount = 10 ether;    
    address(recipient).call.value(amount)("");
}

Tips: before using call make amount in zero! red more here

That's it for the lesson 34! In the next lesson, Receive

Previous33: Using type()Next35: Receive

Last updated 2 years ago