Skip to content

neerajnerlekar/expertSolidityFinalProject

Repository files navigation

Account Abstraction with Solidity Smart Contracts

Description

Ethereum account abstraction is a revolutionary paradigm shift aimed at significantly enhancing user experience within decentralized applications (DApps). By employing account abstraction, assets are managed directly by smart contracts, moving away from the traditional model of externally-owned accounts (EOAs). This approach is facilitated through the ERC-4337 standard, which introduces a new token standard for account abstraction, thereby enabling the creation of smart contract-based crypto wallets on the Ethereum blockchain.

The concept of account abstraction simplifies the complexity involved in Web3 interactions, offering a seamless and more intuitive experience for users. This simplification is not just about improving wallet design; it's about transforming the entire user interaction with the Ethereum network. Recognized by Ethereum's co-founder, Vitalik Buterin, as a crucial development for Ethereum's future, account abstraction is poised to play a significant role in the platform's widespread adoption. source

Installation

To set up a development environment for exploring account abstraction with Solidity, you will need the following prerequisites installed on your machine:

  • Node.js: A JavaScript runtime built on Chrome's V8 JavaScript engine, necessary for running the development environment and various dependencies.
  • Yarn: A fast, reliable, and secure dependency management system.
  • Hardhat: A development environment to compile, deploy, test, and debug your Ethereum software.

Getting Started

  1. Install Node.js

    Ensure you have Node.js installed on your system. You can download it from Node.js official website.

  2. Install Yarn

    After installing Node.js, install Yarn by running the following command in your terminal:

npm install -g yarn
  1. Set up Hardhat

Initialize a new Hardhat project by running:

npx hardhat init

Usage

Quickstart

To dive into account abstraction using Scaffold-ETH 2, follow the instructions below:

  1. Clone this repo & install dependencies
git clone https://github.com/scaffold-eth/scaffold-eth-2.git
cd scaffold-eth-2
yarn install
  1. Run a local network in the first terminal:
yarn chain

This command starts a local Ethereum network using Hardhat. It runs on your local machine for testing and development. Customize the network configuration in hardhat.config.ts.

  1. Deploy the test contract in a second terminal:
yarn deploy

This deploys a test smart contract to the local network, located in packages/hardhat/contracts. Modify it as needed. The deploy script in packages/hardhat/deploy is used for deployment. Customize this script to your liking.

  1. Start your NextJS app in a third terminal:
yarn start

Visit your app at http://localhost:3000. Interact with your smart contract using the Debug Contracts page. Tweak the app config in packages/nextjs/scaffold.config.ts.

  1. Run smart contract tests with:
yarn hardhat:test
  • Edit your smart contract YourContract.sol in packages/hardhat/contracts
  • Edit your frontend in packages/nextjs/pages
  • Edit your deployment scripts in packages/hardhat/deploy

Contributing

We welcome contributions to our project. If you are interested in contributing, please read our contributing guidelines that you can find in the CONTRIBUTING.md file. If it doesn't exist yet, please feel free to open an issue or pull request with your suggestions.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Contact

For any queries regarding this project, please feel free to contact us.

Acknowledgments

  • Vitalik Buterin and the Ethereum Foundation for their visionary work and contributions to the Ethereum ecosystem.
  • The Ethereum community for continuously pushing the boundaries of blockchain technology.
  • Encode Club for an amazing bootcamp experience

About

This is a final project for encode expert solidity. Team 11

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published