Web3
-
Building Smart Contract Event Filtering Systems for DApps
How events work in web3 Events in Web3 act as logs of significant occurrences within a smart contract. When a specific function is executed, the smart contract can “emit” an event, signalling to external systems that something has happened. These emitted events are stored on the blockchain, but they do not modify the contract’s state.…
-
Automating Web3 Interactions In Rust | Minting Ethereum NFT’s With Ethers-rs
In this tutorial we are going to be deploying a simple NFT contract to Ethereum and then minting new NFT’s using a bot built with Rust and ethers-rs Let’s start by heading to Remix and deploying this contract to Ethereum’s Sepolia testnet. It has already been deployed here if you want to skip this step:…
-
How To Connect An Arduino To A Soroban Smart Contract
This tutorial will guide you through the process of connecting an Arduino to a Soroban smart contract on the Stellar blockchain. We’ll create a system where blockchain events can trigger physical actions through an Arduino. James On YouTube Watch On YouTube: https://youtu.be/C4a9O7AFAVc | Subscribe All the code for this project is open source at: https://github.com/jamesbachini/Arduino-Soroban-Controller…
-
Marketing Psychology in Web3
This article delves into the key aspects of marketing psychology that are unique or particularly relevant to the Web3 ecosystem, exploring how trust, community engagement, scarcity, fear of missing out, attention economy, and behavioural economics intersect with this innovative space. Trust and Credibility The blockchain sector has been plagued by numerous fraud & scams, making…
-
Stellar Soroban Boilerplate
In this tutorial I’m going to go through the code for a boilerplate which connects a Soroban smart contract to a React dApp. Note that for a more full featured demo app you can check out the excellent Scaffold Soroban at: https://developers.stellar.org/docs/learn/interactive/dapps/scaffold-soroban There is also this from the guys at Palta Labs:https://create-soroban-dapp.paltalabs.io/ James On YouTube…
-
WebAuthn PassKey Smart Wallets
In this article we will take a glimpse into the future of account abstraction where web3 can offer walletless, passwordless authentication to web applications. I’ll be connecting a Stellar Soroban smart contract to a web3 frontend and verifying signatures from biometrics on your phone. Welcome to the future. The full source code used in this…
-
Building Rust Smart Contracts On Stellar Soroban
Soroban is the smart contract platform that allows developers to write and deploy smart contracts on the Stellar network. This tutorial will guide you through the process of building a simple smart contract using Rust and deploying it to Soroban. I recently took on the role of Developer in Residence with Stellar and this is…
-
Creating Your Own Oracle Solidity & NodeJS
In this tutorial I’m going to go through the steps to setting up your own oracle service to bring data on-chain. We are going to be deploying a simple smart contract, then setting up a NodeJS client to fetch the price of Bitcoin, then uploading this to the contract. Full code for this is open…
-
What Are Blockchains Good For?
This article explores the strengths, limitations, and potential applications for blockchain technology. I will delve into six primary areas where blockchain technology shows promise: Transparency Blockchains are inherently transparent, making it a powerful tool for enhancing trust, accountability, and security in various applications. This transparency is evident in how transactions are recorded on a publicly…
-
How To Calculate Gas Costs For Solidity Contracts
Deploying Solidity smart contracts can be expensive because the code needs to be stored on the shared storage of a decentralized peer to peer blockchain network. The dollar cost of deploying Solidity smart contracts is dependent on a number of variables: I’ve previously provided code to analyze the bytecode size of contracts, you can also…
-
NFT Token Vault Solidity
This was inspired by the CryptoKitties WG0 token vault which accepts gen zero CryptoKitty deposits and mints 1 ERC20 token for each. Users can then buy tokens on exchange and claim NFT’s from the vault. The code is open source and available at: https://github.com/jamesbachini/NFTvault How The NFTvault Contract Works When you deposit your NFTs into…
-
Solidity Encrypted Messaging dApp
This morning Pavel Durov, founder of Telegram, was arrested at a French airport for refusing to provide backdoor access to the messaging application. This tutorial will demonstrate how to use Elliptic Curve Diffie Hellman (ECDH) cryptography to establish a shared secret and encrypted messaging across a insecure communication channel, in this case a public blockchain.…
-
Solidity Virtual Pet
Let’s create a virtual pet in Solidity and deploy it to the blockchain. Full frontend and contract code for this tutorial can be found here: https://github.com/jamesbachini/Solidity-Virtual-Pet Demo here: https://jamesbachini.com/misc/SolidityPet/index.html Smart Contract Our pet is going to have two attributes for hunger and happiness. Hunger should increase over time and happiness should have a mechanism where…
-
How To Check Token Balances Using Python
To check a wallet token balance on the Ethereum blockchain using Python you will need the following: Once we have our API key ready and Python installed we can install web3.py using the following command Now let’s create a file called balance.py and add the following code. Note the code is also available in the…
-
DeFi Analysis With Rust
In this tutorial I’m going to provide some code and show you how to monitor the number of depositors to Eigenlayer over the last 24 hours. We will be using Rust with the Tokio and Ethers libraries along with the Infura API which you can get a free key from here. The first thing we…
-
How To Lookup An ENS Name In Python
To check a wallet token balance on the Ethereum blockchain using Python you will need the following: Once we have our API key ready and Python installed we can install web3.py using the following command Now let’s create a file called enslookup.py and add the following code. Enter your Infura API key on line 5.…
-
Building a Career in Web3
Web3 represents the future of the internet, where developers can deploy permissionless code on a decentralized network. Building a career in this space requires a combination of technical skills, practical experience, and a strategic approach. This article outlines the key steps for anyone looking to forge a career in Web3, from learning Solidity to launching…
-
Creating A Solidity Escrow Smart Contract
In this tutorial, we will create an Escrow contract using Solidity and deploy it to an Ethereum testnet. An Escrow contract is a financial agreement where a third party (the arbitrator) holds and regulates payment of the funds required for two parties involved in a given transaction. It helps make transactions more secure as it…
-
How To Create ERC404 Tokens Solidity Tutorial
An ERC404 token is a digital asset that combines the characteristics of ERC20 fungible tokens and ERC721 non-fungible tokens (aka NFT’s) to enable fractional ownership of an NFT. In essence, ERC404 tokens represent divisible parts of an NFT, allowing multiple individuals to own shares of a single NFT. This approach is designed to enhance the…
-
Javascript Smart Contracts
As an experiment I converted this Vyper token contract to a Javascript/Typescript syntax to see if we could make it easier for web developers to get up to speed with smart contract development. Solidity is the most popular smart contract language and it is already based losely on Javascript but there are plenty of syntax…
-
Vyper Tutorial | Learn Vyper In 24 Hours
Vyper is a pythonesque smart contract language that can be compiled and deployed on Ethereum and other EVM blockchains. 90%+ of blockchain devs use Solidity but there are some big projects such as Curve using Vyper and it’s growing in popularity and tooling compatibility. The best way to get started with Vyper is to head…
-
Using Vyper With Remix
You can now use Vyper (a smart contract programming language similar to python) with remix to build and deploy contracts on Ethereum and other EVM blockchains. The first step is installing the Vyper plugin at https://remix.ethereum.org/ where you’ll find a list of plugins using the icon in the bottom left. You’ll then get an extra…
-
Sell Me This Pen.sol
What happens when you ask a blockchain developer to sell you a pen? Etch your words permanently on the Ethereum blockchain where they will outlive you & create an everlasting record of your thoughts, contemplations & predictions. This is your chance to leave an eternal mark and express your presence in the digital age while…
-
How To Deploy A Website Or dApp To IPFS | Fleek Tutorial
Gm, in this tutorial we are going to be deploying a website to IPFS to create a decentralized frontend. To do this I’ll be using Fleek which has a free tier and which suits our needs. James On YouTube Watch On YouTube: https://youtu.be/https://youtu.be/DmpXbmjnpec |Subscribe We will start by getting our site on Github. We can…
-
Etherspot Account Abstraction Tutorial
I find it surprising and rare when using new technology and it just works and is intuitive. Getting up to speed with Etherspot and account abstraction is one of those rare occasions. In this tutorial I’ll show you how I created a little demo to create a smart wallet, fund it and then send batched…
-
Web3 Session Keys
We are going on a journey to seamlessly integrate session keys into a web3 dApp, striking a balance between autonomy and ease of use that your users are yearning for. The goal is to enable users to authenticate with a digital wallet and store a session key on their device. This session key will provide…
-
Ethers-rs Tutorial | The Rust Web3 Library
In this tutorial we will be setting up a Rust script to connect to a smart contract on a blockchain network to display on-chain data using the ethers-rs library. James On YouTube Watch On YouTube: https://youtu.be/FA7WFGtyri8 |Subscribe Let’s start by setting up a new Rust project (you’ll need rust installed on your device and I’ll…
-
WAGMI Tutorial | The Web3 React Framework
WAGMI is a set of Typescript React hooks for web3 which enables developers to connect to smart contracts on blockchain networks. In this tutorial we will look at how to install and setup a boilerplate in WAGMI and then build a simple read query. WAGMI in 3 Mins [Video] James On YouTube Watch On YouTube:…
-
OpenZeppelin 5 Solidity Common Errors
OpenZeppelin have just released version 5 of their Solidity smart contract libraries and there are some breaking changes that are going to cause errors. The two main ones are the Ownable.sol import which allows devs to create onlyOwner functions and the token hooks on ERC20, ERC721 & ERC1155 contracts. Ownable Constructor If you are getting…
-
Hardhat Solidity Tutorial
Hardhat is an extensive framework for developing, testing and deploying solidity smart contracts. In this Hardhat Solidity tutorial you will learn how to set it up, how to create hardhat unit test tricks, working with hardhat scripts and finally some Hardhat tips and tricks for Solidity developers. Hardhat Easy Setup Hardhat is built on NodeJS…
-
NEAR BOS | Blockchain Operating System
Near BOS is a complete framework designed for creating, testing, deploying and distributing decentralized application frontends. Developers can create Javascript based dApps with the frontend code stored and distributed from a blockchain. It is blockchain agnostic so you can store data on Near and EVM chains. BOS is a collection of components, blockchains & gateways.…
-
Smol dApp | MultiSafe MultiChain MultiSig Wallets
Smol dApp is like a swiss army knife of useful tools for DeFi. Their main offerings are: The product we are going to look at todays is their flagship MultiSafe wallets. This is a GnosisSafeProxy contract which requires a set number of wallets to sign off on a transaction before it goes through. For example…
-
Hardhat vs Foundry
I started developing solidity with Truffle, then moved to Hardhat, then moved to Foundry, then moved back to Hardhat before eventually settling using both on a regular basis. In this article I’ll talk about the benefits and disadvantages of Hardhat and Foundry so you can make an informed decision about which framework is better for…
-
The Essential Checklist For Deploying A New Token
In this article we are going to look at all the things that need doing when launching a new token to create a token deployment checklist for developers and founders. At the end there is a big list of all the token listing sites that you can submit your new token to. Unit Tests &…
-
Solidity Tutorial | Gas Paying NFT
The challenge is to create a NFT contract that charges 1 ETH to mint but then stores the entire amount as collateral in a liquid staking token. As staking rewards come in they get distributed to the holders of the NFTs. At any time a user can burn the NFT to reclaim the 1 ETH.…
-
Web3 PWA Boilerplate | How To Create Next Generation dApps
One of Web3’s biggest issues is getting around the centralization of app stores and their stringent terms on the commission requirements for digital asset payments and transfers. Progressive Web Apps (PWAs) in my opinion are the best solution as it allows you to install dApps directly on to a mobile device without using the app…
-
The Secrets Web3 Marketers Use To Launch New Crypto Projects
My previous background in digital marketing and now having worked in the blockchain sector for 6 years provides unique vantage point on the differences between conventional and web3 marketing. Successful crypto projects create communities of advocates who act as micro-influencers championing the cause. In this article I’ll discuss why “build it and they will come”…
-
Card Payments For Crypto With Wert
One of the challenges cryptocurrency projects face is the seamless integration of traditional payment systems, such as credit/debit card payments, into their crypto based ecosystems. The issue derives from the potential for fraud because card payments can be reversed long after the transaction has taken place, while crypto transactions are immutable. This is a write…
-
Solana SoLang Tutorial | How To Deploy Solidity On Solana
In this SoLang tutorial I’ll show you how to deploy Solidity code on Solana. We will start by setting up a dev environment before looking at some of the nuances in writing SoLang contracts. I’ll end on a few security considerations and a comparison to developing on Solana with SoLang vs Rust. Setting Up A…
-
Infura vs Alchemy
Most users connect to blockchains using RPC node services. This is sometimes taken care of in the background, for example Metamask uses Infura nodes to send and receive transactions. Web3 developers use custom RPC nodes for their deployment scripts and transactions. Operating the nodes requires a reliable infrastructure service, and two of the most popular…
-
Building LayerZero OFT Tokens In Solidity
LayerZero OFT tokens are a new standard for cross-chain assets. OFT’s (Omnichain Fungible Tokens) are not actually tokens themselves, but rather a set of instructions that tell LayerZero how to transfer tokens between different blockchains. In this tutorial we will be building a LayerZero OFT ERC20 token using Solidity and Remix. How LayerZero OFT Tokens…
-
XRP Legal Case | What It Means For Developers
In this article I’m going to be breaking down the document filed by judge Torres yesterday and consider what it means to developers working in the blockchain and web3 space. Highlights From The Ruling The full document is available here:https://www.nysd.uscourts.gov/sites/default/files/2023-07/SEC%20vs%20Ripple%207-13-23.pdf I’ve picked out some highlights Programmatic SalesHaving considered the economic reality of the Programmatic Sales,…
-
3 Ways To Raise Web3 Funding
In this article I’ll explore 3 ways in which you can raise funds for your project with web3 products. Membership NFT A NFT is a non-fungible token, they are often represented as a unique image which can contain additional rights such as: To execute a NFT drop, the following steps can be taken: If any…
-
Solidity Error Codes | Not Always What They Seem
I get a lot of comments from Solidity tutorial videos and in Github issues asking how to resolve common solidity error codes. In this article I’ll go through some of the most frequent solidity issues, what they mean and how to resolve them. UNPREDICTABLE_GAS_LIMIT This is the most common and confusing error in Solidity The…
-
Assessing Smart Contract Security Auditors
A smart contract audit can cost anything from $5,000-$250,000 USD. Within this range there is a wide range of services, some offer better value for money than others. In this article I will go through the options for founders looking to hire an auditor and some of the checks you can do to ensure you…
-
Gnosis Safe | The Most Secure Multisig Wallet For Your Crypto
Gnosis Safe multisig wallets are used by institutions and individuals to hold some of the largest quantities of funds on the Ethereum network. The free to use wallet includes multisignature functionality for enhanced security and control over digital assets. It is developed by Gnosis, a blockchain technology company based out of Switzerland and Germany, known…
-
Ultimate Guide To Hire A Solidity/Web3 Developer
In this comprehensive guide, I will explore how to hire a Solidity/Web3 developer. Contractor, Partner or Employee The first thing you need to decide is whether you want to hire someone on a permanent basis or not. With Solidity development the contracts don’t tend to get updated once they are deployed so the bulk of…
-
3 Tips For Gas Efficient Solidity Smart Contracts
Here are 3 tips which could be considered the low hanging fruit of gas efficient solidity smart contracts. James On YouTube Watch On YouTube: https://youtu.be/xfNHzqkMWEQ |Subscribe Use Correct Modifiers & Declarations This is the simplest way to get some small wins with gas optimisation. Go through your contract and define anything that shouldn’t change as…
-
Introduction to Flash Loans | Unleashing Capital On Demand
In this tutorial on flash loans we will be creating a Solidity smart contract which takes a flash loan from Uniswap v3. This allows you to borrow huge amounts of capital with the catch that you have to pay it back in the same block or the whole transaction is reverted. James On YouTube Watch…
-
Uniswap Market Maker Bot | Managing Token Liquidity On Uniswap
In this tutorial I am going to go through how I built a market maker bot to manage liquidity on Uniswap v3 for a token pair. The idea is to create a automated trading bot which buys tokens when price falls below a base line value and sells tokens when price is above the base…
-
Ethers vs VIEM | Which Web3 Frontend Library?
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…
-
How To Create A BRC20 Bitcoin Token
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…
-
Account Abstraction – ERC4337
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…
-
Sign In With Ethereum Tutorial
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…
-
Remixd Tutorial | How To Take The Solidity IDE To The Next Level
I’ve gone full circle from Remix > Hardhat > Foundry > Remix I find that I enjoy coding most when I’m experimenting with ideas and proof of concepts within the Remix IDE at https://remix.ethereum.org However for more serious projects I inevitably find myself moving out of creative mode and into testing mode in either Hardhat…
-
LayerZero Example | How To Send Cross-Chain Messages In Solidity
In this article we are going to look at how to send messages or data from one chain to another. In this LayerZero example we will be sending a string from Ethereum’s Goerli Testnet to Optimisms Layer 2 Goerli Testnet. Cross-Chain Tutorial Video James On YouTube Watch On YouTube: https://youtu.be/rKVhQHmljXM |Subscribe How LayerZero Works LayerZero…
-
How To Debug Solidity Smart Contracts
If you’ve ever received a “gas message” error which makes no sense in Solidity then you’ve probably come across one of it’s greatest flaws. Error reporting and debugging isn’t great for blockchain developers but in this tutorial I’m going to provide some tips, tools and resources to debug Solidity smart contracts. James On YouTube Watch…
-
Timeframe & Budgets For Web3 Development
In this article I’m going to provide a timeframe, gantt chart and budget costs for web3 development projects. This assumes a medium sized project for something like a new, innovative DeFi protocol consisting of 5-10 interconnected smart contracts and around 1000 lines of code plus an external audit and dApp frontend. If you are just…
-
Dynamic Evolving NFTs | How To Create Dynamic NFTs & dApps
Dynamic NFTs include logic that evolves the underlying data that the NFT contract holds. In this example we will build a picture profile NFT that is upgradeable to an alien 👽 All the source code for this project is available at: https://github.com/jamesbachini/WomenWhoCode Dynamic NFT Smart Contract The Solidity smart contracts will comprise of two tokens:…
-
Complete Introduction To Web3 Tutorial | Fullstack Web3 Development Tutorial
This video course provides a complete introduction to Web3 development. The Web3 tutorial starts with a simple Hello World smart contract and React frontend before diving in to create something useful on Ethereum mainnet. Introduction To Web3 Development James On YouTube Watch On YouTube: https://youtu.be/RwuG9HluFQY |Subscribe Hello World Smart Contract James On YouTube Watch On…
-
Dune Analytics Tutorial | How To Create A Dune Analytics Dashboard
In this Dune Analytics Tutorial we will look at how the platform works and get up to speed with creating our own queries, visualisations and dashboards to analyse and present blockchain data. Queries, Visualisations & Dashboards Dune Analytics dashboards are built using a 3 step process. First we make SQL queries to pull data into…
-
3 Examples Of How To Use Assembly In Solidity
Ethereum developers can directly use assembly in Solidity to improve the performance of their code. When OpenSea released the Seaport upgrade it reported the use of assembly reduced gas fees by 35% saving it’s users an estimated $460m per year. Today we are going to go through some simple examples of how and when to…
-
Solidity for Beginners
Solidity is the programming language used to develop smart contracts on Ethereum and other compatible blockchains. In this “Solidity for Beginners” tutorial I will take you from setting up solidity tools to deploying your first contract. James On YouTube Watch On YouTube: https://youtu.be/yM6oRMdMiTM |Subscribe Tools & Setup We will be starting in Remix which is…
-
SBTs 👻 | Soulbound Token Solidity Example
Soulbound tokens are non-transferable digital assets. The core concept is storing on-chain data directly relating to a specific address. This is nothing new but there is potential for a ERC SBT contract to provide a industry standard for how we manage user data. James On YouTube Watch On YouTube: https://youtu.be/yCHeHI8hUY8 |Subscribe Ethereum gas costs make…
-
Solidity Interface Examples | How To Connect The Lego Bricks Of DeFi
Solidity interfaces allow developers to call external contracts from within their own smart contract. This enables us to build on top of the existing DeFi ecosystem. In this tutorial we will be looking at how solidity interfaces work and going through some example code for common tasks. James On YouTube Watch On YouTube: https://youtu.be/GWZmklp7RTg |Subscribe…
-
Hardhat Plugins & Hacks For Solidity Developers
Hardhat provides a lot of features out of the box but with the addition of some 3rd party plugins and some additional code snippets we can add custom functionality to streamline our testing and migration processes. Top 3 Hardhat Plugins These plugins add a lot of functionality to make your life as a developer easier…
-
Foundry Tutorial | How To Debug & Deploy Solidity Smart Contracts
Foundry is a Solidity Framework for building, testing, fuzzing, debugging and deploying Solidity smart contracts. In this Foundry tutorial we will cover the following: Introduction To Foundry [Video] James On YouTube Watch On YouTube: https://youtu.be/VhaP9kYvlOA |Subscribe Smart contracts are most often written in Solidity but tested and deployed using Javascript frameworks such as Truffle or…
-
Tokenomics Boilerplate | Governance Tokens, Uniswap Buy-Backs and Staking in Solidity
In DeFi a projects success is greatly tied to the effectiveness of the tokenomics. Governance tokens can be distributed to the users to incentivise growth and fees can be used to buy these back on exchange. In this Solidity tutorial we are going to deploy a governance token, a Uniswap v3 liquidity pool, a buy…
-
Blockchain Developer Roadmap | A Guide To Learning Blockchain Development
This blockchain developer roadmap lays out a framework for learning blockchain development. It should provide a wealth of resources and information for aspiring blockchain developers. Blockchain Developer Roadmap James On YouTube Watch On YouTube: https://youtu.be/h-IcAZX7250 Understanding The Moving Parts There are a number of roles within the blockchain sector and an understanding of what each…
-
How To Clone Safemoon
In this tutorial I’ll show you how to clone Safemoon and create your own token on Binance Smart Chain. I’m going to do this without any development tools using only a web browser with the metamask plugin. Safemoon is a cryptocurrency token with a function that taxes 10% of all transactions and redistributes 5% to…
-
Intermediate Solidity Tutorial | Building On DeFi Lego Bricks With Hardhat 👷
In this intermediate solidity tutorial I’ll be building, testing and deploying a smart contract to rebalance a digital asset portfolio. The idea is to look at how we can work with external smart contracts to start building our own products on the lego bricks of DeFi. The Challenge To create a solidity smart contract to…
-
How To Create A New Token And Uniswap Liquidity Pool
In this article I will create a new token and make it available to swap on a decentralised exchange. I’ll be deploying a solidity smart contract to mint an ERC20 token on Ethereum and setting up a liquidity pool on Uniswap v3. Create A New Token & Liquidity Pool [Video] This video provides an overview…
-
Solidity Tutorial | For Developers Coming From Javascript, C++, Python
In this Solidity tutorial I’ll be going through the work flow to develop smart contracts on Ethereum using the Solidity programming language. Solidity Developer Tutorial [Video] James On YouTube Introduction To Solidity Smart Contracts Solidity is the programming language of Ethereum and many other blockchains that use the Ethereum virtual machine. A developer will write…
-
Solana Tutorial | Building Smart Contracts & dApps For The Solana Hackathon
This Solana tutorial goes through a step by step process of setting up a development environment for Solana, writing and deploying smart contracts and my experiences with entering the Solana Hackathon. Getting Started With Solana Solana is a high performance modern blockchain with impressive throughput capabilities. It can handle 50,000 transactions per second which makes…