You've heard of it. You want it. You have some. How are NFTs and crypto built? These web3 (blockchain) and decentralized applications are built on an architecture that is alien from what I've learned in my classic developer bootcamp.
I'll provide an intro to beginner tools you can use to get started. We will focus on the Ethereum protocol (there are many others) as it's the main protocol that crypto (built on ERC-20), dApps (decentralized apps) (built on ERC-20), and NFTs (built on ERC-721, ERC-1155) are built on. The adoption rate for the Ethereum protocol is staggering in comparison to other protocols, with 3000+ applications and overall Q1 NFT sales for 2021 topping $2B.
(Growth of Ethereum)
Deployment is very different, and because the blockchain is immutable, every time you deploy it's permanent. A developer will need to audit code to ensure the security of code and certainty. Therefore data storage and maintenance differ as well.
One important difference compared to traditional development is that the data with which the contract interacts must already be on the blockchain.
To inject data onto the blockchain requires an oracle, which allows other contracts to consume it. An oracle must be secure or vulnerabilities will be exposed and attacked.
If the oracle is faulty or compromised, the Chainlink SDK can be used as a network of nodes that provide data and information from off-blockchain sources to on-blockchain smart contracts via oracles.
"Instead of calling an API to your backend, it's going to call an API to the blockchain and it's going to read off whatever the state of that blockchain is. It's going to be a different environment just because you don't have the kind of ownership of your smart contracts on your backend as you do in the traditional sense." - Patrick Collins, Developer Advocate at Chainlink
Listen to a Patrick Collins explain securing oracles on Decoded Podcast [Spotify]
Truffle - Most popular smart contract development, testing, and deployment framework. The Truffle suite includes Truffle, Ganache, and Drizzle.
Hardhat - Flexible, extensible and fast Ethereum development environment.
OpenZeppelin SDK - A suite of tools to help you develop, compile, upgrade, deploy and interact with smart contracts.
Brownie - Brownie is a Python framework for deploying, testing, and interacting with Ethereum smart contracts.
Truffle boxes - Packaged components for the Ethereum ecosystem
dfuse - A TypeScript library to use dfuse Ethereum API
Ethereum Stack Exchange - Post and search questions to help your development life cycle.
OutSystems full-stack platform for the development of mobile and web enterprise applications, which run in the cloud, on-premises, or in hybrid environments.
If the web3 stack set-up is too complex and you want something up and running you can build as a solo dev with OutSystems, a developer platform that allows you to build web and mobile applications on the enterprise level. This allows you to quickly build a full-stack application regardless of your framework, as long as you know basic application architecture.
Here's a video where I will walk you through how to connect a database, manage dependencies for plugins, and replicate a full-stack build of a mobile wallet to hold your ETH and various tokens. This app is easy to build with the OutSystems developer platform and you will have yourself a super sweet personal wallet!
What you will learn:
- Introduction to rapid development for mobile
- How to quickly build applications with developer tools
- Walkthrough of how to create API integrations in-app with AI scripts
- Introduction to ERC20, wallets, and other blockchain token protocols
- Enjoy the ease of building and implementing your own private wallet
OpenSea SDK - A peer-to-peer marketplace for rare digital items. Buy, sell, auction, and discover collectibles.
ERC-721: “Single” if you want your collectible to be one of a kind
ERC-1155: “Multiple” if you want to sell one collectible multiple times
Building applications (crypto, NFT, dApps) on blockchain is becoming more accessable and there are various ways for developers of all skill levels to get started. Feel free to reach out on Dev.To or Twitter if you need any help! 👋
Listen to Patrick Collins, developer advocate at Chainlink explain securing oracles on Decoded Podcast.