EthSecurity – Telegram
Time to shit on some proxy patterns.

- Beacon: it sucks in performance, antipattern that got psyoped into relevance.

- UUPS: devs need to pollute their implementations.

- Transparent: devs need to deploy 2 extra contracts and verify them everytime. Much captcha.@EthSecurity1
😁5🔥2👍1
Enso Transaction Simulator - Ethereum transaction simulator leveraging Foundry's codebase.

BrokenToken - a tool designed to automatically test smart contracts that interact with ERC20 tokens for unexpected behavior that may result in exploits.

mev-share-rs - ust utils for MEV-share.

Alloy - Fast, battle-tested and well-documented building blocks for Ethereum, in Rust.

Releasing Reth! by Georgios Konstantopoulos (Paradigm).

SmartBugs - A Framework for Analysing Ethereum Smart Contracts.

Titanoboa - A Vyper interpreter with pretty tracebacks, forking, debugging

@EthSecurity1
👍41🔥1
I want to do more in web3Security space
If you have a proposal or partnerships ideas you can Dm @EthDev1
Hello mates i decided share daily Ethereum developer Q&A in interviews beside ordinary secuirty Knowledge sharing.from zero to hero

1-What is the difference between private, internal, public, and external functions?

Here are the main differences between private, internal, public and external functions in Solidity:

Private: Can only be called within the currently executing contract, not externally or inherited. Not part of the ABI.

Internal: Can be called internally from current contract or inherited contracts/libraries. Not part of the ABI.

Public: Part of the ABI and contract interface. Can be called externally or internally.

External: Part of the ABI but cannot access contract state. Can only be called externally from other contracts.

In summary:

Private: callable only within current contract
Internal: callable internally or by inheriting contracts
Public: callable internally or externally via ABI
External: callable externally via ABI but not state-changing

The visibility degrees follow this order:

private < internal < public < external

With private being the most restrictive and external the most accessible from outside the contract and inheriting contracts. 2-Approximately, how large can a smart contract be?

There is no hard limit on the size of smart contracts in Ethereum, but there are some practical constraints:

Code size: Contract bytecode (compiled code) is typically limited to around 24KB due to EVM limitations. Larger code requires optimization.

Deployment cost: Deploying large contracts can be prohibitively expensive due to high upfront gas costs of several million gas or more.

Complexity: Very large contracts with many operations slow down node verification times and can impact decentralization.

Updating: Updating logic in deployed contracts is complex/costly for large codebases, favoring smaller focused updates.

Testing: Thoroughly testing contracts with many operations and edge cases becomes intractable at larger sizes.

In general, contracts larger than around 5KB start facing significant constraints. Most real-world contracts are below 1KB.

As a rough guideline:

Up to 5KB: Typical size for production contracts
5-20KB: Possible but requiring careful optimization
20-24KB: Theoretical limit, extremely large
Over 24KB: Not viable, would require optimization techniques like splitting across multiple contracts.

So in summary, while theoretically unbounded - practical constraints of deployment costs, complexity and maintainability favor targeting smaller contract sizes below 5KB whenever possible. @EthSecurity1
👍5🎉1