Ethereum is a public blockchain, hence all account addresses and transaction data are visible to everyone. There has been some research going on regarding the use of zk-SNARK (zero-knowledge succinct non-interactive argument of knowledge) to perform private transactions on the Ethereum blockchain.
The delegatecallfunction should not be used at first. If it is required, then it should be used with extra care to ensure that delegatecalldoes not allow unauthorized code execution.
To prevent your contracts from re-entrancy attacks, you must ensure that the state variables are updated before sending ether using the <address>.transfer()function. In other words, the transfer function should be called at the last step in the function. ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month, and much more.