This readme provides an overview and instructions for the complete web3 application with transaction capabilities for sending and receiving cryptocurrencies from the Ethereum network. The application integrates with the Metamask wallet and utilizes various technologies including ReactJS for the front end, HardHat for the back end, a Solidity smart contract, and the GIPHY API for additional functionality.
- Connects to the Ethereum network through Metamask wallet integration.
- Allows users to send and receive cryptocurrencies.
- Utilizes a Solidity smart contract to manage transactions.
- Integrates with the GIPHY API to enhance the user experience.
Before running the blockchain application, ensure that you have the following prerequisites installed on your system:
- Node.js (version X.X.X or higher)
- npm (version X.X.X or higher)
- Metamask browser extension
- HardHat (Ethereum development environment)
-
Clone the repository from GitHub:
git clone https://github.com/your-username/your-repo.git
-
Navigate to the project directory:
cd your-repo
-
Install the project dependencies:
npm install
-
Create a new
.env
file in the project root directory. -
Configure the following environment variables in the
.env
file:REACT_APP_INFURA_PROJECT_ID
: Your Infura project ID. You can obtain it by creating an account at https://infura.io.REACT_APP_CONTRACT_ADDRESS
: The address of the deployed Solidity smart contract.REACT_APP_GIPHY_API_KEY
: Your GIPHY API key. You can obtain it by creating an account at https://developers.giphy.com.
-
Compile and deploy the Solidity smart contract using HardHat:
npx hardhat compile npx hardhat run scripts/deploy.js --network <network-name>
Replace
<network-name>
with the desired Ethereum network (e.g.,rinkeby
,mainnet
). -
Start the application:
npm start
-
Open your web browser and navigate to
http://localhost:3000
to access the application.
-
Connect Metamask to your desired Ethereum network.
-
Use the web interface to interact with the blockchain application:
- Select a cryptocurrency and enter the recipient's address to send funds.
- View transaction history and balances.
- Explore additional features powered by the GIPHY API.
Contributions to the blockchain application are welcome. If you encounter any issues or have suggestions for improvements, please create a new issue on the GitHub repository.