Published inThe Startup·PinnedMember-onlyIf an engineering manager had only one strength, it should be this.The Champion Effect The Chicago Bulls won the NBA (National Basketball Association) championships in the years 1991 to 1993 and 1996 to 1998. The Los Angeles Lakers won three consecutive championships from 2000 to 2002. Perhaps I am somewhat betraying my age here, but the names Michael Jordan, Shaquille O’Neal, and Kobe Bryant…Management9 min readManagement9 min read
Published inRareSkills·May 18Member-onlySmart Contract Security in SolidityThis article serves as a mini-course on smart contract security and provides an extensive list of the issues and vulnerabilities that tend to recur in Solidity smart contracts. A security issue in Solidity boils down to smart contracts not behaving the way they were intended to. …Smart Contracts40 min readSmart Contracts40 min read
Published inRareSkills·Apr 26Member-onlyWagmi + ReactJS Example: Transfer Crypto and Mint an NFTIn this tutorial, we’ll be learn how to build a Web 3 Dapp (Decentralized Application) that connects to your crypto wallet, allowing you to transfer funds and mint NFTs. We’ll be using Next.js, a popular React framework, and Wagmi.sh, a collection of React Hooks that easily integrates your wallet into…Wagmi5 min readWagmi5 min read
Published inRareSkills·Apr 20Member-onlyA free solidity tutorial for experienced programmersRareSkills has released a free and comprehensive introduction to Solidity for experienced programmers. Although there are many resources for the language, many of them are written to a audiences new to programming. It is wonderful that blockchain has introduced many people to the world of coding. But for senior engineers…Solidity2 min readSolidity2 min read
Apr 8Member-onlySolidity test internal functionTo test an internal solidity function, create a child contract that inherits from the contract being tested, wrap the parent contract’s internal function with an external one, then test the external function in the child. Foundry calls this inheriting contract a “harness” though others call it a “fixture.” Don’t change…Solidity3 min readSolidity3 min read
Published inRareSkills·Apr 5Member-onlyUint256 max valueThe maximum value of uint256 can be obtained with type(uint256).max; Which is equal to 115792089237316195423570985008687907853269984665640564039457584007913129639935 (2²⁵⁶ — 1). But it’s cleaner and safer to use type(uint256).max. The same can be used for signed integer types //57896044618658097711785492504343953926634992332820282019728792003956564819967 type(int256).max; //-57896044618658097711785492504343953926634992332820282019728792003956564819968 type(int256).min;Uint2561 min readUint2561 min read
Published inRareSkills·Apr 2Member-onlySolidity EventsSolidity events are the closest thing to a print or console.log statement in Ethereum. We will explain how they work, when to use them, and go into a lot of technical details often omitted in other resources. Here is a minimal example of a solidity event. Perhaps the most…Solidity8 min readSolidity8 min read
Published inRareSkills·Mar 8Member-onlyEIP-1167: Minimal Proxy Standard with Initialization (Clone pattern)Introduction EIP-1167, which is also referred to as the minimal proxy contract, is a commonly used solidity pattern for cheaply creating proxy clones. If a use case requires deploying an identical contract (or very similar contract) repeatedly, this is a more gas efficient way to do it. For example, gnosis safe…Eip 11677 min readEip 11677 min read
Published inRareSkills·Mar 3Member-onlyERC4626At first glance, it’s hard to see why you should care about ERC4626. How it works is you deposit one ERC20 token into the ERC4626 contract, let’s call it token A, and get another ERC20 token back, call it token B At a later date, you can put token B…7 min read7 min read
Published inRareSkills·Feb 17Member-onlyWhat makes blockchain immutable?Note: This article is intended to be understandable by non-technical readers, to gain a very technical understanding, refer to our blockchain bootcamp after reading this article. Contrary to popular belief, blockchains are not immutable because of cryptography, but because of economic incentives. …6 min read6 min read