This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# How to Create and Deploy a Smart Contract on Flow | |
## Overview | |
[Flow](https://flow.com/) is a blockchain designed from the ground up to deliver the performance required of mainstream consumer apps. It does this through its approach to smart contracts, account access, and a native programming language called Cadence. | |
In this guide, you will learn how to deploy a smart contract on Flow written in Cadence. | |
Before you "go with the Flow", here are some important concepts about the Flow blockchain. This will help you better understand the smart contract code and deployment later: | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
pragma solidity ^0.6.6; | |
import "https://github.com/OpenZeppelin/openzeppelin-contracts/blob/docs-v3.x/contracts/math/SafeMath.sol"; | |
import "https://github.com/OpenZeppelin/openzeppelin-contracts/blob/docs-v3.x/contracts/token/ERC20/IERC20.sol"; | |
import "https://github.com/OpenZeppelin/openzeppelin-contracts/blob/docs-v3.x/contracts/token/ERC20/SafeERC20.sol"; | |
import "./IFlashLoanReceiver.sol"; | |
import "./ILendingPoolAddressesProvider.sol"; | |
import "./Withdrawable.sol"; | |
abstract contract FlashLoanReceiverBase is IFlashLoanReceiver, Withdrawable { |