Skip to content

Instantly share code, notes, and snippets.

View Sowmayjain's full-sized avatar
🎯
Focusing

Sowmay Jain Sowmayjain

🎯
Focusing
View GitHub Profile
pragma solidity ^0.6.6;
interface IERC20 {
function balanceOf(address) external view returns (uint);
function transfer(address, uint) external returns (bool);
}
contract Wallet {
function flush(address token) public {
let daiAddress = dsa.tokens.info.dai.address;
let flashloanAmount = "1000000000000000000000000";
let spells = dsa.Spell();
spells.add({
connector: "instapool",
method: "flashBorrow",
args: [daiAddress, flashloanAmount, 0, 0]
});

Web3 User Experience: A Barrier to Mainstream Adoption

The Problem with Interacting with DApps

Interacting with a dApps requires users to navigate through multiple steps and often involves multiple different networks and tokens. This can be confusing and off-putting for the average user.

To understand the complexity of using dApps, let's consider the process of using a decentralized exchange like Uniswap. First, the user has to connect their wallet to the dApp. Then, they have to choose which token they want to use to pay for gas fees and which token they want to exchange. The user also has to be aware of the current rate for the exchange and make sure they have enough of both tokens to complete the transaction. This process can be confusing and time-consuming, especially for those unfamiliar with the world of cryptocurrency.

Contrast this with the simplicity of traditional web2 transactions, like making a purchase on Amazon. The user simply adds their items to their cart, chooses their