insights from a blockchain developer, researcher & investor
exploring emerging opportunities in decentralized finance
Ether.js took over from Web3.js as the number one library for connecting up our dApps to smart contracts running on EVM blockchains. Recently Ethers v6 was released and VIEM is disrupting the space by offering a lightweight Ethereum client library from the authors of WAGMI react hooks. I have always been a big fan of…
The blockchain sector moves fast and attention shifts rapidly as crypto narratives emerge inflating valuations for sub-sectors before moving on to the next big thing. In this article I’m going to outlay my research into the lifecycle of crypto narratives to explore how we can best position our portfolios and allocate funds in a +EV…
By using a private mempool such as Flashbots protect, Ethereum users can protect themselves against MEV (maximum extractable value) including sandwich attacks. It doesn’t cost anything to use and is easy to setup with existing digital wallets, such as Metamask. Sandwich Attack Protection MEV refers to the potential profit that miners can extract from the…
In this tutorial we will create our own BRC20 token on the Bitcoin network. James On YouTube Watch On YouTube: https://youtu.be/6eTN2fVd4Pw |Subscribe What are BRC20 Tokens? BRC20 tokens are created using the Bitcoin Ordinals protocol. The Ordinals protocol is a set of rules that govern how inscriptions are created, transferred and managed. Bitcoin and the…
Hyperledger Fabric is a permissioned blockchain platform designed for developing enterprise grade distributed ledger applications. How Does Hyperledger Fabric Work? Hyperledger Fabric uses a pre-authorised network of nodes, with each node storing a copy of the blockchain ledger. It is EVM based which means you can run Solidity code there, all be it with some…
The Taproot Bitcoin upgrade was activated on November 14th 2021. It was designed to improve privacy, efficiency and the network’s ability to process custom logic. The upgrade inadvertently made it possible to link metadata to Bitcoin transactions. By using ordinal theory it is possible to inscribe each satoshi (lowest denomination of Bitcoin) with a corresponding…
In this tutorial we will be creating a permissionless, ERC20 memecoin and deploying it with a Uniswap v3 liquidity pool so users can buy it on the decentralized exchange. This tutorial is for demonstration purposes, don’t speculate on memecoins. James On YouTube Watch On YouTube: https://youtu.be/-bVzqtIa0bc |Subscribe The full source code for this is at:…
The Pepe memecoin is a cryptocurrency based on the Pepe the Frog meme, which originated on the imageboard website 4chan in 2005. The meme gained mainstream popularity in 2016 when it was adopted by supporters of then-presidential candidate Donald Trump. PepeToken is an ERC20 token on the Ethereum blockchain. It is widely traded across many…
MEV (Maximal Extractable Value) is a term used to describe the maximum value that can be extracted from block production beyond the standard block reward and gas fees by including, excluding, and changing the order of transactions in a block. MEV can be thought of as the economic value that arises from the ability to…
Earlier this year Radiant Capital launched Radiant v2, an omnichain lending protocol. This is a write up of my internal research notes, this is not a sponsored post and I have no allocation at time of writing in Radiant or RDNT. Radiant is a DeFi platform that allows users to lend and borrow digital assets…
Protodanksharding and Danksharding are two approaches to scaling the amount of data on-chain for a future version of Ethereum. The goal of both upgrades is to ensure that the data on-chain is made available to archiving parties when it was first posted. This is accomplished through a technique called Data Availability Sampling (DAS). When &…
Quantum computing has the potential to transform the way we solve complex problems in various fields, including cryptography. It offers a unique approach to problem solving that can break certain cryptographic algorithms and create new opportunities for cryptography. Bitcoin uses a combination of SHA256 hash functions and secp256k1 elliptic curve (ECDSA) cryptography to secure transactions.…
Quadratic voting has gained popularity in recent years through adoption on applications such as Gitcoin Grants. Quadratic voting has the potential to fundamentally improve how public decisions are made. This essay will explain what quadratic voting is, how it works and what problems it solves. How Quadratic Voting Works The process of quadratic voting involves…
For cynics technical analysis is seen as astrology for middle aged white guys for others it is the holy grail, which when mastered, inevitably leads to trading success. The truth is somewhere in the middle, it is undeniable that price action reacts more at some levels than others. It’s important for anyone involved in investing…
Asymmetric cryptography uses different keys for encrypting and decrypting data. The key used for encryption is called the public key, and the key used for decryption is called the private key. Asymmetric cryptography schemes are used for secure communication over insecure channels, such as the internet. It is used in blockchain networks for users to…
Distributed Validator Technology (DVT) enables a group of network validators, in a proof of stake system such as Ethereum, to act as a single validator. This can create a form of decentralized staking solution for the network which is more censorship resilient and secure. What Is DVT? The role of providing a consensus mechanism has…
AutoGPT is an open source app that uses ChatGPT and several other plugin based modules to carry out every step needed to achieve a goal. AutoGPT is capable of interacting with 3rd party software and services both external such as the web and APIs and internal like spreadsheet apps. AutoGPT vs ChatGPT AutoGPT is a…
Hackathons are a great way to socialise with other developers and build projects over a short period of time for fun and profit. James On YouTube Watch On YouTube: https://youtu.be/mnBofeo1Ib0 |Subscribe Work on something you are passionate about This starts with choosing a hackathon that is based on tech that you are interested in. I’m…
Frax is a growing ecosystem of DeFi products built on Ethereum. This is a write up of my internal research notes, this is not a sponsored post and I have no stake currently in Frax or FXS. What Is Frax? Founded in 2019 by Jason Huan, Sam Kazemian & Travis Moore. Frax has a legal…
Bitcoin is a monolithic blockchain, consensus is achieved on a single chain where all state data is stored. The Cosmos ecosystem is an example of a polylithic chain where there are multiple sub-chains running under a single consensus client. Monolithic Blockchains Monolithic blockchains are single-chain protocols where all functionalities including programmability through smart contracts, consensus…
This Web3 investment thesis covers the potential disruption from decentralized permissionless computing. As blockchains scale it’s going to be possible to use smart contracts to enable users to store their own data creating the opportunity for a new era of decentralized applications. Web3 Disrupting Data Web3 disrupts the way we store data online by using…
Since the 2018 ICO bust, venture capital funding has become the primary avenue for blockchain startups to raise money. This comes with pros & cons which we will explore in this article alongside how raising capital works in the blockchain sector. How Private Funding Rounds Work During a private funding round the founders of a…
With the growing popularity of digital assets and decentralized finance, blockchain jobs are becoming increasingly lucrative and desirable. If you’re looking for a career with the potential for innovation, challenge, and outstanding opportunity, this list will guide you though the different jobs in the blockchain sector and what to expect. Executive Blockchain Jobs The founders…
Trading DeFi Futures products on decentralized exchanges such as GMX and DyDx has never been easier. The user experience is getting close to on par with centralized exchanges. Liquidity however, not so much… In this article we will look at how DeFi futures work, the market opportunity for decentralized futures exchanges and the two most…
ERC4337 is an Ethereum standard that achieves account abstraction on the protocol without any consensus-layer changes. Deployed on the Ethereum mainnet in March 2023, ERC4337 makes it possible to transact and create contracts in a single contract account. Account abstraction opens the door to user-friendly crypto wallet designs that could potentially facilitate broader adoption. How…
CAP Theorem states that a distributed system can deliver only two of three desired characteristics: Consistency, Availability, and Partition tolerance. In this article I’ll explore what CAP theorem is and how it relates to blockchain technology. What is CAP Theorem CAP theorem, was introduced by Eric Brewer in 1998 and proven as a theorem in…
Bitcoin ordinals are a means of creating NFTs by attaching data such as images, videos, and more to an individual satoshi on the base Bitcoin blockchain. They use an arbitrary but logical ordering system called ordinal theory to give each individual Bitcoin satoshi a unique non-fungible reference. What Are Bitcoin Ordinals? Bitcoin ordinals, also known…
Solidity and Vyper are the two most popular programming languages for blockchain developers on Ethereum. Both of these languages have their own strengths and weaknesses which we will go through to help developers decide which is best suited for their project. Solidity Solidity is the most widely used programming language for developing smart contracts on…
Autonomous AI agents are often considered the most dangerous form of AI, as they have the capacity to evolve to meet their developers goals. In this article we will explore how autonomous AI agents work, the potential for this technology and question some implications in it’s inevitable roll out. How Autonomous AI Agents Work Autonomous…
To sign in with Ethereum using Metamask we will be using the ERC4361 specification that allows Ethereum accounts to authenticate with off-chain services using a standard message format. This technology offer users a self-custodial alternative to centralized identity providers that generally use email:password credentials. In Web3 applications we can improve user experiences and establish a…
EigenLayer is a protocol which allows Ethereum stakers to restake their ETH. This is a write up of my internal research notes, this is not a sponsored post and I have no stake currently in EigenLayer. EigenLayer is being developed by EigenLabs which is headed by CEO Sreeram Kannan. Sreeram has an academic background and…
A callback function in Solidity allows us to pass a function reference from one contract to another and have it execute as part of an atomic transaction. James On YouTube Watch On YouTube: https://youtu.be/pjm0eOelPXc |Subscribe Let’s first take a look at an example from the Solidity Snippets Github repo. Full code at: https://github.com/jamesbachini/Solidity-Snippets/blob/main/contracts/Callback.sol This code…
A string in Solidity is a data type used to store text. Working with strings in Solidity can be challenging due to the limitations and efficiency required by the Ethereum virtual machine. This article aims to provide a comprehensive guide on how to use strings in Solidity, covering their properties, limitations, and best practices for…
Renegade is a new type of decentralized exchange that utilizes a dark pool to provide MEV resistant private transactions. This is a write up of my personal research, is not a sponsored post and I currently hold no stake in Renegade. What Is Renegade? The Renegade whitepaper was authored by Christopher Bender and Joseph Kraut.…
A timestamp is a numerical value that represents a specific moment in time. It’s often used to track when a certain event occurred or when a piece of data was created or modified. The most common way to represent a timestamp is by using the number of seconds that have elapsed since a specific moment…
From Solidity version 0.8.11 we can use an interface to define a function to pass to encodeCall parameters. encodeCall is a function that allows you to encode a function call with its parameters into a single byte array. This byte array can then be used to make a low-level call to another contract’s function. Here…
GammaSwap is a decentralized exchange that allows perpetual leverage trading on any token without liquidation risk from price movement, while also offering additional yield to liquidity providers through borrow fees. In this article I will write up my internal research notes, this is not a sponsored post and I currently have no stake in GammaSwap.…
Custom error handling enables Solidity developers to efficiently handle reverts and failed transactions including logging parameters. Let’s first take a look at an example from the Solidity Snippets Github repo: Note that the Solidity compiler version must be greater than 0.8.4 to use custom errors. Customer errors are supported by Etherscan and most other block…
Ricsson Ngo took inspiration from Uniswap and set out to build a permissionless money market. The idea evolved into Timeswap which recently launched on Arbitrum. In this article I’ll write up my own notes and internal research on the protocol. Note this is not a sponsored post and I don’t currently hold any stake in…
A solidity library is a reusable contract that contains functions that can be called by other contracts. When you import a Solidity library into your contract, you can use the functions provided by the library. How To Import Solidity Libraries In your smart contract, you can import the library by using the import keyword followed…
Generating a random number in Solidity is not as straightforward as in some other programming languages, because the Ethereum blockchain is deterministic, meaning that multiple execution clients or nodes must come to the same conclusion about the state of the blockchain. For many use cases using the new prevrandao global variable provides “good enough” randomness…
Conditional statements & loops in Solidity are fairly intuitive and follow the conventions of other languages such as Javascript. In this article we will go through some examples of each before looking at the relational operators we can use within these statements. if statement The “if” statement is used to execute a block of code…
Natspec comments are important for Solidity developers to understand because sooner or later you will come across a code base that requires you work with them. Proponents will say Natspec makes the code more readable and understandable. While I personally disagree with this and prefer to separate code and documentation, the format is popular and…
On the 31st March 2023 Twitter open-sourced large sections of it’s algorithm which ranks content. This provided refreshing insights into how large scale social media applications rank content. In this article I’m going to look at how the algorithm works and how content creators can use this new information to gain more reach and influence.…
ERC1155 offers a more flexible and efficient way of managing fungible and non-fungible tokens, making it an attractive option for developers who want to create complex digital assets with multiple use cases. In this blog post, we’ll dive into the details of ERC1155 and explore why it’s becoming a preferred choice for Solidity developers looking…
The ERC721 Token contract is the original industry standard for NFTs (Non-fungible tokens). In this article we will look at a simple example and talk about some of the best practices around building ERC721 Tokens. James On YouTube Watch On YouTube: https://youtu.be/B64VBGt3tMU |Subscribe Why Use ERC721 Token ERC721 is a standard interface for NFTs on…
ERC20 tokens have become the de facto standard for creating tokens on Ethereum and are widely used in many DeFi protocols for things like governance and utility tokens. Why Use ERC20 Token Solidity developers use ERC20 tokens because they are the industry standard for fungible tokens (where every token is equal to another one). The…
Merkle Trees provide an efficient way to verify data in Solidity. This reduces the gas cost for on-chain storage when validating large data sets such as a large list of addresses. James On YouTube Watch On YouTube: https://youtu.be/NTPpyL4pJG0 |Subscribe How Do Merkle Trees Work Merkle trees are a data structure that allow efficient and secure…
A Solidity Event is a way for smart contracts to communicate with the outside world by providing a mechanism for emitting messages that can be observed by external applications. It’s like a signalling message that is broadcast when a certain condition is met within the smart contract. Emitting Events In Solidity Here is a simple…
Sending payments in bulk can be a tedious and time-consuming process, especially when dealing with a large number of recipients. However, with a Solidity smart contract, bulk payments can be executed in a matter of seconds, providing a more efficient and cost-effective solution for managing bulk transfers. In this article, I will walk you through…