AmineElmerzouki
    • Create new note
    • Create a note from template
      • Sharing URL Link copied
      • /edit
      • View mode
        • Edit mode
        • View mode
        • Book mode
        • Slide mode
        Edit mode View mode Book mode Slide mode
      • Customize slides
      • Note Permission
      • Read
        • Only me
        • Signed-in users
        • Everyone
        Only me Signed-in users Everyone
      • Write
        • Only me
        • Signed-in users
        • Everyone
        Only me Signed-in users Everyone
      • Engagement control Commenting, Suggest edit, Emoji Reply
      • Invitee
    • Publish Note

      Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note

      Your note will be visible on your profile and discoverable by anyone.
      Your note is now live.
      This note is visible on your profile and discoverable online.
      Everyone on the web can find and read all notes of this public team.
      See published notes
      Unpublish note
      Please check the box to agree to the Community Guidelines.
      View profile
    • Commenting
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
      • Everyone
    • Suggest edit
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
    • Emoji Reply
    • Enable
    • Versions and GitHub Sync
    • Note settings
    • Engagement control
    • Transfer ownership
    • Delete this note
    • Save as template
    • Insert from template
    • Import from
      • Dropbox
      • Google Drive
      • Gist
      • Clipboard
    • Export to
      • Dropbox
      • Google Drive
      • Gist
    • Download
      • Markdown
      • HTML
      • Raw HTML
Menu Note settings Sharing URL Create Help
Create Create new note Create a note from template
Menu
Options
Versions and GitHub Sync Engagement control Transfer ownership Delete this note
Import from
Dropbox Google Drive Gist Clipboard
Export to
Dropbox Google Drive Gist
Download
Markdown HTML Raw HTML
Back
Sharing URL Link copied
/edit
View mode
  • Edit mode
  • View mode
  • Book mode
  • Slide mode
Edit mode View mode Book mode Slide mode
Customize slides
Note Permission
Read
Only me
  • Only me
  • Signed-in users
  • Everyone
Only me Signed-in users Everyone
Write
Only me
  • Only me
  • Signed-in users
  • Everyone
Only me Signed-in users Everyone
Engagement control Commenting, Suggest edit, Emoji Reply
Invitee
Publish Note

Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note

Your note will be visible on your profile and discoverable by anyone.
Your note is now live.
This note is visible on your profile and discoverable online.
Everyone on the web can find and read all notes of this public team.
See published notes
Unpublish note
Please check the box to agree to the Community Guidelines.
View profile
Engagement control
Commenting
Permission
Disabled Forbidden Owners Signed-in users Everyone
Enable
Permission
  • Forbidden
  • Owners
  • Signed-in users
  • Everyone
Suggest edit
Permission
Disabled Forbidden Owners Signed-in users Everyone
Enable
Permission
  • Forbidden
  • Owners
  • Signed-in users
Emoji Reply
Enable
Import from Dropbox Google Drive Gist Clipboard
   owned this note    owned this note      
Published Linked with GitHub
Subscribed
  • Any changes
    Be notified of any changes
  • Mention me
    Be notified of mention me
  • Unsubscribe
Subscribe
![image](https://hackmd.io/_uploads/SkrohUCE6.png) # ERC-4337: Revolutionizing Ethereum's Account Management ## Embracing a New Era in Ethereum's Evolution In the constantly evolving landscape of Ethereum, the emergence of ERC-4337 heralds a significant breakthrough in the domain of account management. This standard, specifically tailored for the Ethereum blockchain, is primarily centered around the concept of account abstraction. This innovative approach is designed to fundamentally transform the way user accounts are managed and interacted with on the Ethereum network. ## The Vision: Streamlining User Experience in Blockchain The advent of ERC-4337 is driven by a clear objective: to enhance the accessibility and usability of blockchain and cryptocurrency applications. By seamlessly integrating smart contract functionalities directly into wallets, ERC-4337 represents a radical departure from conventional methods. This integration equips wallets with the ability to execute more complex operations and engage more fluidly with a variety of blockchain applications. The result is a user experience that is not only simplified but also enriched with a broader spectrum of capabilities for wallet users. --- ## Understanding the Mechanics of ERC-4337 ERC-4337 introduces an innovative framework within the Ethereum network, defined by several key components: - **UserOperations**: This element is central to ERC-4337, functioning as quasi-transaction entities. They carry out tasks on behalf of users and are compiled in an alternate mempool, awaiting further processing. - **Bundlers**: These entities manage the alternate mempool, combining various UserOperations into comprehensive operations, and then forwarding them to a specific contract. - **EntryPoint Contract**: This contract acts as the receiver of bundled operations, handling their unpacking, validation, and execution. - **Paymaster Component**: A novel addition in ERC-4337, the Paymaster handles the diversity in gas payment strategies, allowing varied methods of gas fee settlements. - **Aggregator Contract**: Supporting the main smart contract account, this contract aids in simultaneously validating signatures of numerous UserOperations. Together, these components are instrumental in realizing account abstraction and the concept of smart contract wallets within Ethereum. ### Advantages of Adopting ERC-4337 The benefits of ERC-4337 extend across various dimensions: - **Enhanced Security**: Moving away from traditional methods reliant on seed phrases and private keys, ERC-4337 introduces more robust options for account recovery and authentication. - **Greater Flexibility**: This standard allows for more sophisticated management of assets on Ethereum, paving the way for intricate financial tools and benefiting both individual users and larger institutions. - **User Experience (UX) Enhancement**: ERC-4337 enables the development of user-friendly decentralized applications (dApps), reducing complexity and gas fees, thereby aligning closer with conventional app experiences. ### Practical Applications of ERC-4337 The real-world applications of ERC-4337 are diverse and impactful: - **Batch Operations**: UserOperations facilitate the execution of multiple steps in a singular operation, streamlining batch transactions and simplifying intricate procedures. - **Shared Account Access**: This feature allows users to share access to their accounts under specific constraints, like time-limited access or spending caps. - **Two-Factor Authentication Integration**: Leveraging account abstraction, ERC-4337 enables the incorporation of advanced security measures like two-factor authentication. - **Flexibility in Gas Costs**: The introduction of sponsored transactions means that one user can pay the gas fees for another, adding versatility to transaction fee management. - **Automated Transaction Capabilities**: Smart contract accounts under ERC-4337 can be programmed for automated transactions, easing recurring payments and subscription models. ## Unraveling ERC-4337 and EIP-4337 Understanding the distinction between EIP-4337 (Ethereum Improvement Proposal) and ERC-4337 (Ethereum Request for Comment) is pivotal in comprehending the full impact of this standard. While both play vital roles within the Ethereum ecosystem, their functions are distinct. EIP-4337 represents the preliminary phase of proposing technical modifications to the Ethereum network. This stage is all about the conceptualization and development of new ideas and their discussion within the community. Conversely, ERC-4337 steps into the limelight once an EIP receives approval and is poised for wider implementation and standardization. ERCs define the standards and protocols for the Ethereum network, directing developers on how to uniformly and effectively implement the proposed modifications. The progression from EIP-4337 to ERC-4337 marks a significant transition from a proposal to an established and recognized standard, signaling its acceptance and readiness for deployment across the Ethereum ecosystem. ## Delving into the Origins of EIP-4337 The journey of EIP-4337, short for Ethereum Improvement Proposal 4337, is integral to the story of ERC-4337. Initiated as a groundbreaking technical proposition in 2021 under the guidance of Ethereum's co-founder Vitalik Buterin and a team of leading developers, EIP-4337 laid the groundwork for what would eventually become ERC-4337. This proposal received the green light through Ethereum's unique on-chain governance process, culminating in its approval in March 2023. ### A Look at Alternative Account Abstraction Proposals in Ethereum While EIP-4337 and its successor ERC-4337 are often in the spotlight, the Ethereum Improvement Proposal landscape includes other notable initiatives aiming at account abstraction: - **EIP-2771**: This proposal brings forth the concept of "meta-transactions," which allows third parties to shoulder gas fees for users. It enhances user experience by offering a more inclusive approach without necessitating any changes to the core Ethereum protocol. - **EIP-2938**: Offering a contrast to ERC-4337, this proposal advocates for a protocol update in Ethereum with a new transaction type, AA_TX_TYPE, dedicated to providing inherent support for smart contract wallets. - **EIP-3074**: This proposal's ambition is to give Externally Owned Accounts (EOAs) the ability to delegate authority to smart contracts, which would require the introduction of two new Ethereum Virtual Machine (EVM) opcodes: AUTH and AUTHCALL. Despite the existence of these alternatives, the Ethereum community has shown a strong inclination towards EIP-4337 and ERC-4337, primarily due to their minimally invasive nature towards the existing Ethereum protocol. ## Harnessing the Power of the Wallet API in ERC-4337 For developers eager to build Web3 wallets or incorporate wallet features into decentralized applications (dApps), the Wallet API stands as a cornerstone technology. Boasting compatibility with over 500 million addresses across a variety of blockchain networks such as Ethereum, Polygon, BNB Smart Chain, Arbitrum, and others, the Wallet API is a powerhouse of functionality. It is equipped with a wide array of features, remarkable scalability, and extraordinary flexibility. Implementing the Wallet API allows for effortless access to native balances, Non-Fungible Tokens (NFTs), transaction histories, wallet activities, and much more. Being fully aligned with the principles of account abstraction, the Wallet API emerges as an essential tool for developers looking to construct state-of-the-art Web3 wallets and seamlessly integrate wallet functionalities into their dApp projects, leveraging the full potential of ERC-4337. ## Account Abstraction: A Paradigm Shift Delving deeper, ERC-4337 is a beacon of innovation in the realm of account abstraction. This term, while technical, encapsulates a shift towards more versatile and dynamic account structures within the Ethereum network. Through account abstraction, ERC-4337 seeks to dissolve the traditional barriers that have compartmentalized user interactions with the blockchain. This move not only opens up new avenues for developers but also ensures a more cohesive and intuitive experience for end-users. ## The Future of Ethereum Wallets With ERC-4337, the very concept of a 'wallet' in the cryptocurrency world is poised for a transformation. Moving beyond mere storage of digital assets, wallets are set to evolve into sophisticated platforms capable of executing a myriad of smart contract-based operations. This evolution speaks volumes about the potential of ERC-4337 in reshaping not just the technical landscape but also the everyday experiences of users engaged with Ethereum and its myriad applications. ## Conclusion In sum, ERC-4337 stands at the forefront of a significant shift in Ethereum's ecosystem. By bridging the gap between user-friendliness and advanced blockchain functionalities, it is poised to play a pivotal role in the evolution of Ethereum's user interface and overall functionality. This introduction lays the groundwork for exploring how ERC-4337 is set to redefine the interactions between users, wallets, and the Ethereum blockchain, thus marking a cornerstone in the evolution of Ethereum's usability and user experience.

Import from clipboard

Paste your markdown or webpage here...

Advanced permission required

Your current role can only read. Ask the system administrator to acquire write and comment permission.

This team is disabled

Sorry, this team is disabled. You can't edit this note.

This note is locked

Sorry, only owner can edit this note.

Reach the limit

Sorry, you've reached the max length this note can be.
Please reduce the content or divide it to more notes, thank you!

Import from Gist

Import from Snippet

or

Export to Snippet

Are you sure?

Do you really want to delete this note?
All users will lose their connection.

Create a note from template

Create a note from template

Oops...
This template has been removed or transferred.
Upgrade
All
  • All
  • Team
No template.

Create a template

Upgrade

Delete template

Do you really want to delete this template?
Turn this template into a regular note and keep its content, versions, and comments.

This page need refresh

You have an incompatible client version.
Refresh to update.
New version available!
See releases notes here
Refresh to enjoy new features.
Your user state has changed.
Refresh to load new user state.

Sign in

Forgot password

or

By clicking below, you agree to our terms of service.

Sign in via Facebook Sign in via Twitter Sign in via GitHub Sign in via Dropbox Sign in with Wallet
Wallet ( )
Connect another wallet

New to HackMD? Sign up

Help

  • English
  • 中文
  • Français
  • Deutsch
  • 日本語
  • Español
  • Català
  • Ελληνικά
  • Português
  • italiano
  • Türkçe
  • Русский
  • Nederlands
  • hrvatski jezik
  • język polski
  • Українська
  • हिन्दी
  • svenska
  • Esperanto
  • dansk

Documents

Help & Tutorial

How to use Book mode

Slide Example

API Docs

Edit in VSCode

Install browser extension

Contacts

Feedback

Discord

Send us email

Resources

Releases

Pricing

Blog

Policy

Terms

Privacy

Cheatsheet

Syntax Example Reference
# Header Header 基本排版
- Unordered List
  • Unordered List
1. Ordered List
  1. Ordered List
- [ ] Todo List
  • Todo List
> Blockquote
Blockquote
**Bold font** Bold font
*Italics font* Italics font
~~Strikethrough~~ Strikethrough
19^th^ 19th
H~2~O H2O
++Inserted text++ Inserted text
==Marked text== Marked text
[link text](https:// "title") Link
![image alt](https:// "title") Image
`Code` Code 在筆記中貼入程式碼
```javascript
var i = 0;
```
var i = 0;
:smile: :smile: Emoji list
{%youtube youtube_id %} Externals
$L^aT_eX$ LaTeX
:::info
This is a alert area.
:::

This is a alert area.

Versions and GitHub Sync
Get Full History Access

  • Edit version name
  • Delete

revision author avatar     named on  

More Less

Note content is identical to the latest version.
Compare
    Choose a version
    No search result
    Version not found
Sign in to link this note to GitHub
Learn more
This note is not linked with GitHub
 

Feedback

Submission failed, please try again

Thanks for your support.

On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?

Please give us some advice and help us improve HackMD.

 

Thanks for your feedback

Remove version name

Do you want to remove this version name and description?

Transfer ownership

Transfer to
    Warning: is a public team. If you transfer note to this team, everyone on the web can find and read this note.

      Link with GitHub

      Please authorize HackMD on GitHub
      • Please sign in to GitHub and install the HackMD app on your GitHub repo.
      • HackMD links with GitHub through a GitHub App. You can choose which repo to install our App.
      Learn more  Sign in to GitHub

      Push the note to GitHub Push to GitHub Pull a file from GitHub

        Authorize again
       

      Choose which file to push to

      Select repo
      Refresh Authorize more repos
      Select branch
      Select file
      Select branch
      Choose version(s) to push
      • Save a new version and push
      • Choose from existing versions
      Include title and tags
      Available push count

      Pull from GitHub

       
      File from GitHub
      File from HackMD

      GitHub Link Settings

      File linked

      Linked by
      File path
      Last synced branch
      Available push count

      Danger Zone

      Unlink
      You will no longer receive notification when GitHub file changes after unlink.

      Syncing

      Push failed

      Push successfully