DEV Community

sydneylai
sydneylai

Posted on

Tech Stack to build your crypto, NFT or Apps

Tech Stack to build your crypto, NFT or Apps

Pick a blockchain protocol

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)

What's the same compared to traditional programming

Compared to traditional programming, testing and integration are reasonably similar. The languages used are the same in addition to Solidity, an object-oriented programming language for writing smart contracts. The languages a developer should be familiar with are C++, Python, and JavaScript.

What's different compared to traditional programming

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]

Tools for Web3 Developers (Build an app or crypto)

Frameworks

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.

Bootstrap/Out-of-Box tools

Truffle boxes - Packaged components for the Ethereum ecosystem

Communicating with Ethereum

dfuse - A TypeScript library to use dfuse Ethereum API

Resources

Ethereum Stack Exchange - Post and search questions to help your development life cycle.

MetaCartel 💰 - If you have a project built on Ethereum and need $5K - $10K in developer grants, you can apply here or any Q&A DM here

Optional Build for Web2 Developers (Build an app)

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

Building NFTs

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

Blockchain for all

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! 👋

Extra Content

Listen to Patrick Collins, developer advocate at Chainlink explain securing oracles on Decoded Podcast.

Discussion (2)

Collapse
omrisama profile image
Omri Gabay

Good post

Collapse
sydneylai profile image
sydneylai Author

hey thanks!