gakonst / solidity-book

The Senior Solidity Engineer's Book is a resource meant to transform you into a Senior Solidity Engineer.
https://solidity-book.netlify.app/
843 stars 58 forks source link

Content Suggestions #6

Closed jamesbachini closed 2 years ago

jamesbachini commented 2 years ago

Some ideas for content:-

Recreating some famous hacks/bugs to demonstrate exploitable code and what to avoid Reliable sources of libraries and audited code OpenZeppelin etc. Design patterns Quirks and gotchas with Solidity compiler Hardhat vs Truffle IDE Plugins and custom deployment scripts How EVM works Layer 2 technologies Best practices for storing on chain vs off chain data Gas optimisation tips MEV and flashbots Useful code snippets Oracles and Uni twap Swaps and UniV2 vs V3 concentrated liquidity Connecting lego bricks to build yield farming vaults Creating custom and bootlegged interfaces Unit testing Fuzzing and linters Community Hackathons, Meetups, EthGlobal etc.

If you want any help I wouldn't mind researching and writing a chapter.

gakonst commented 2 years ago

By all means if you'd be down to write a chapter / doc go for it! Do you have perhaps any favorite links for the above bulletpoints you mention (all of which are interesting IMO)?

Your post on intro to Solidity dev is quite solid btw: https://jamesbachini.com/blockchain-developer/

gakonst commented 2 years ago

moved to https://github.com/gakonst/solidity-book/issues/8

jamesbachini commented 2 years ago

Thank you. No I don't have any links, I was just brainstorming ideas for content rather than actually having resources for these. Shall I write a chapter on IDE's, something along the lines of when to use Remix vs Truffle vs Hardhat and talk about some plug-ins, testing and deployment scripts etc? I can submit it via a pull request in a week or so.

jamesbachini commented 2 years ago

Actually having read what you have so far it looks more focused on Hardhat so I'll write a chapter "Hardhat Plugins & Hacks" and get down some basic ideas which can be expanded on later.